Template Struct EmptySourceTerm

Struct Documentation

template<typename Real>
struct EmptySourceTerm

Empty source term class (without source terms).

All source terms are optional (see mhd_integrator.hpp): a source term class defines only the terms it needs, e.g.,

__host__ __device__ Real vx(FieldsView<const Real> qq, int i, int j,
int k) const;  // external force in x
Real dt_limit() const;  // optional upper limit of the time step
The terms are called in CUDA kernels with the CUDA backend, so they must be __host__ __device__ and use only device-accessible data (e.g., views of arrays of the backend). dt_limit() is called on the host every step and returns the limit of the rank; the minimum over all MPI ranks is used. A non-positive value on any rank throws std::runtime_error on every rank.