feat(libmeanfield): variadic refactor
also added normaliztion operator
This commit is contained in:
@@ -96,6 +96,20 @@ export namespace mean_field::operators {
|
||||
|
||||
class PreparedStellarEquilibriumOperator final : public mfem::Operator {
|
||||
public:
|
||||
/*
|
||||
* Privileged aggregate runtimes can inspect this complete numerical
|
||||
* core. Keep their allow-list on the concrete core itself: a custom
|
||||
* EOS may reuse this class, but it cannot extend the class's backend
|
||||
* privileges. Ordinary specifications use restricted nested physics
|
||||
* and never interact with this list.
|
||||
*/
|
||||
using BackendSpecifications = models::ModelTypeList<
|
||||
eos::Polytrope,
|
||||
surface::Isobaric,
|
||||
models::FixedTotalMass,
|
||||
models::FixedAngularMomentum,
|
||||
models::FixedCentralDensity>;
|
||||
|
||||
template <models::StellarModelType Model>
|
||||
requires std::same_as<
|
||||
typename std::remove_cvref_t<Model>::EquationOfStateType,
|
||||
@@ -174,6 +188,12 @@ export namespace mean_field::operators {
|
||||
[[nodiscard]] const PreparedHydrostaticEquilibriumOperator &GetHydrostaticOperator() const noexcept;
|
||||
[[nodiscard]] const PreparedDisplacementResidualOperator &GetDisplacementOperator() const noexcept;
|
||||
[[nodiscard]] const PreparedMassNormalizationOperator &GetMassNormalizationOperator() const noexcept;
|
||||
[[nodiscard]] double ApplyDensityVolumeIntegralDensityAction(
|
||||
const mfem::Vector &densityDirection
|
||||
) const;
|
||||
[[nodiscard]] double ApplyDensityVolumeIntegralSurfaceShapeAction(
|
||||
const mfem::Vector &surfaceShapeDirection
|
||||
) const;
|
||||
[[nodiscard]] const PreparedPressureSurfaceConstraint &GetSurfaceConstraintOperator() const noexcept;
|
||||
[[nodiscard]] const deformation::PreparedDomainDeformationRuntime &GetDomainDeformation() const noexcept;
|
||||
[[nodiscard]] const mfem::Vector &GetSurfaceDeformationParameters() const;
|
||||
@@ -234,5 +254,6 @@ export namespace mean_field::operators {
|
||||
mutable mfem::Vector m_fullMechanicalAction;
|
||||
mutable mfem::Vector m_surfaceShapeAction;
|
||||
mutable mfem::Vector m_pullbackDerivativeAction;
|
||||
mutable mfem::Vector m_densityVolumeIntegralAction;
|
||||
};
|
||||
} // namespace mean_field::operators
|
||||
|
||||
Reference in New Issue
Block a user