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:
@@ -6,6 +6,7 @@ module;
|
||||
|
||||
export module mean_field:operators.context.gravity_field;
|
||||
export import :fem;
|
||||
export import :field.mfem;
|
||||
export import :mapping.domain_mapper;
|
||||
export import :operators.prepared_gravity_source;
|
||||
export import :operators.prepared_hdiv_mass;
|
||||
@@ -69,14 +70,15 @@ export namespace mean_field::operators::context::gravity_field {
|
||||
GravityFieldGeometryContext &operator=(GravityFieldGeometryContext &&) = delete;
|
||||
|
||||
GravityFieldGeometryPreparation Prepare(
|
||||
const mfem::Vector &displacement_true,
|
||||
const mfem::Vector &displacement,
|
||||
DiscretizationRevision discretization_revision,
|
||||
DisplacementRevision displacement_revision
|
||||
);
|
||||
|
||||
[[nodiscard]] const PreparedMappedHDivMassOperator &GetMassOperator() const;
|
||||
[[nodiscard]] const PreparedMappedGravitySourceOperator &GetSourceOperator() const;
|
||||
[[nodiscard]] const mfem::Vector &GetDisplacement() const;
|
||||
[[nodiscard]] const mfem::Vector &GetDisplacementTrue() const;
|
||||
[[nodiscard]] const field::FieldDofMap &GetDisplacementMap() const noexcept;
|
||||
[[nodiscard]] DiscretizationRevision GetDiscretizationRevision() const noexcept;
|
||||
[[nodiscard]] DisplacementRevision GetDisplacementRevision() const noexcept;
|
||||
[[nodiscard]] bool IsPrepared() const noexcept;
|
||||
@@ -88,6 +90,7 @@ export namespace mean_field::operators::context::gravity_field {
|
||||
std::unique_ptr<PreparedMappedHDivMassOperator> m_mass_operator;
|
||||
std::unique_ptr<PreparedMappedGravitySourceOperator> m_source_operator;
|
||||
|
||||
field::FieldDofMap m_displacement_map;
|
||||
mfem::Vector m_displacement_true;
|
||||
|
||||
DiscretizationRevision m_discretization_revision;
|
||||
@@ -124,8 +127,12 @@ export namespace mean_field::operators::context::gravity_field {
|
||||
);
|
||||
|
||||
[[nodiscard]] const GravityFieldGeometryContext &GetGeometryContext() const;
|
||||
[[nodiscard]] const mfem::Vector &GetDensity() const;
|
||||
[[nodiscard]] const mfem::Vector &GetGravityGradient() const;
|
||||
[[nodiscard]] const mfem::Vector &GetDensityTrue() const;
|
||||
[[nodiscard]] const mfem::Vector &GetGravityGradientTrue() const;
|
||||
[[nodiscard]] const field::FieldDofMap &GetDensityMap() const noexcept;
|
||||
[[nodiscard]] const field::FieldDofMap &GetDisplacementMap() const noexcept;
|
||||
[[nodiscard]] const field::FieldDofMap &GetGravityGradientMap() const noexcept;
|
||||
[[nodiscard]] const field::FieldDofMap &GetGravityPotentialMap() const noexcept;
|
||||
[[nodiscard]] const GravityFieldRevisions &GetRevisions() const;
|
||||
[[nodiscard]] bool IsPrepared() const noexcept;
|
||||
|
||||
@@ -134,10 +141,13 @@ export namespace mean_field::operators::context::gravity_field {
|
||||
|
||||
GravityFieldGeometryContext m_geometry_context;
|
||||
|
||||
field::FieldDofMap m_density_map;
|
||||
field::FieldDofMap m_gravity_gradient_map;
|
||||
field::FieldDofMap m_gravity_potential_map;
|
||||
mfem::Vector m_density_true;
|
||||
mfem::Vector m_gravity_gradient_true;
|
||||
|
||||
GravityFieldRevisions m_revisions;
|
||||
bool m_is_prepared{false};
|
||||
};
|
||||
} // namespace mean_field::operators::context::gravity_field
|
||||
} // namespace mean_field::operators::context::gravity_field
|
||||
|
||||
Reference in New Issue
Block a user