Add native spherical harmonic surface coordinates to coupled equilibrium
This commit is contained in:
@@ -154,7 +154,10 @@ export namespace mean_field::equilibrium {
|
||||
m_discretization.domainMapper(),
|
||||
m_stellarModel,
|
||||
operators::PressureSurfaceConstraintView{m_compiledSurfaceConstraint},
|
||||
CompileDefaultDomainDeformation(finiteElementModel)
|
||||
CompileDomainDeformation(
|
||||
m_discretization,
|
||||
finiteElementModel
|
||||
)
|
||||
) {
|
||||
VerifyProblem();
|
||||
}
|
||||
@@ -313,19 +316,13 @@ export namespace mean_field::equilibrium {
|
||||
);
|
||||
}
|
||||
|
||||
[[nodiscard]] static deformation::PreparedDomainDeformationRuntime
|
||||
CompileDefaultDomainDeformation(fem::FEM &finiteElementModel) {
|
||||
MFEM_VERIFY(
|
||||
finiteElementModel.mesh != nullptr,
|
||||
"Default stellar domain-deformation compilation requires a physical mesh."
|
||||
);
|
||||
mfem::Vector referenceCenter(finiteElementModel.mesh->SpaceDimension());
|
||||
referenceCenter = 0.0;
|
||||
|
||||
[[nodiscard]] static deformation::PreparedDomainDeformationRuntime CompileDomainDeformation(
|
||||
const DiscretizationType &discretization,
|
||||
fem::FEM &finiteElementModel
|
||||
) {
|
||||
return deformation::PreparedDomainDeformationRuntime{deformation::compileDomainDeformation(
|
||||
deformation::NodalRadialSurface{std::move(referenceCenter)},
|
||||
deformation::PowerLawRadialInteriorExtension{}, deformation::FixedInfinityRadialVacuumExtension{},
|
||||
finiteElementModel
|
||||
discretization.surfaceDeformationPrescription(), discretization.interiorDeformationExtension(),
|
||||
discretization.vacuumDeformationExtension(), finiteElementModel
|
||||
)};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user