feat(support): continued migration to new field dof support system

mass normaliztion, gravity, displacement, and hydrostatic equilibrium are now migrated
This commit is contained in:
2026-08-24 15:44:24 -04:00
parent 0f3ca8050b
commit 177ae8b38a
48 changed files with 1738 additions and 935 deletions

View File

@@ -8,6 +8,7 @@ module;
export module mean_field:operators.context.hydrostatic_equilibrium;
export import :fem;
export import :field.mfem;
export import :mapping.domain_mapper;
export namespace mean_field::operators::context::hydrostatic {
@@ -52,6 +53,12 @@ export namespace mean_field::operators::context::hydrostatic {
constexpr auto operator<=>(const HydrostaticEquilibriumDependencies &) const = default;
};
/*
* Frozen solver-facing state in registered FieldDof coordinates.
*
* The context owns the only expansion into MFEM true-DOF vectors used
* by the stateless hydrostatic kernels and prepared quadrature data.
*/
struct HydrostaticEquilibriumStateView {
const mfem::Vector &enthalpy;
const mfem::Vector &gravityPotential;
@@ -113,6 +120,12 @@ export namespace mean_field::operators::context::hydrostatic {
[[nodiscard]] const HydrostaticPreparationStatistics &GetPreparationStatistics() const noexcept;
[[nodiscard]] const field::FieldDofMap &GetEnthalpyMap() const noexcept;
[[nodiscard]] const field::FieldDofMap &GetGravityPotentialMap() const noexcept;
[[nodiscard]] const field::FieldDofMap &GetDisplacementMap() const noexcept;
[[nodiscard]] const mfem::Vector &GetBaseEnthalpyTrue() const;
[[nodiscard]] const mfem::Vector &GetBaseGravityPotentialTrue() const;
@@ -127,6 +140,10 @@ export namespace mean_field::operators::context::hydrostatic {
const fem::FEM &m_f;
const mapping::DomainMapperStateless &m_domainMapper;
field::FieldDofMap m_enthalpyMap;
field::FieldDofMap m_gravityPotentialMap;
field::FieldDofMap m_displacementMap;
mfem::Vector m_baseEnthalpyTrue;
mfem::Vector m_baseGravityPotentialTrue;
mfem::Vector m_displacementTrue;