12template <
class Hamiltonian>
15 Hamiltonian m_hamiltonian;
19 : m_hamiltonian(std::move(hamiltonian))
23 template <
class Index>
25 std::span<double const, Hamiltonian::N> moments)
const
27 return m_hamiltonian.template dhamiltonian_dmoments<Index>(moments);
30 template <
class Index>
31 [[nodiscard]]
constexpr double potential_grad(
double moments_component)
const
33 return m_hamiltonian.template dhamiltonian_dmoments<Index>(moments_component);
36 template <
class Index>
37 [[nodiscard]]
constexpr double moments_div(std::span<double const, 1> potential)
const
39 static_cast<void>(
sizeof(Index));
40 return -m_hamiltonian.dhamiltonian_dpotential(potential[0]);
43 [[nodiscard]]
constexpr double moments_div(
double potential)
const
45 return -m_hamiltonian.dhamiltonian_dpotential(potential);
constexpr double moments_div(std::span< double const, 1 > potential) const
constexpr double potential_grad(double moments_component) const
constexpr double moments_div(double potential) const
constexpr DeDonderWeylEquations(Hamiltonian hamiltonian)
constexpr double potential_grad(std::span< double const, Hamiltonian::N > moments) const