module; #include export module mean_field:integrators.coriolis; import :mapping.domain_mapper; export namespace mean_field::integrators { class CoriolisIntegrator : public mfem::BlockNonlinearFormIntegrator { public: CoriolisIntegrator(const mapping::DomainMapper& map, const mfem::Vector& omega); void AssembleElementVector(const mfem::Array &el, mfem::ElementTransformation &Tr, const mfem::Array &elfun, const mfem::Array &elvec) override; void AssembleElementGrad(const mfem::Array &el, mfem::ElementTransformation &Tr, const mfem::Array &elfun, const mfem::Array2D &elmats) override; private: const mapping::DomainMapper& m_map; mfem::Vector m_omega; mfem::DenseMatrix m_omega_mat; }; }