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:
@@ -153,10 +153,11 @@ namespace mean_field::operators {
|
||||
);
|
||||
}
|
||||
|
||||
const mfem::Vector &density = m_gravityContext.GetDensity();
|
||||
const mfem::Vector &displacement = m_gravityContext.GetGeometryContext().GetDisplacement();
|
||||
const mfem::Vector density = m_gravityContext.GetDensityMap().gather(m_gravityContext.GetDensityTrue());
|
||||
const mfem::Vector displacement =
|
||||
m_gravityContext.GetDisplacementMap().gather(m_gravityContext.GetGeometryContext().GetDisplacementTrue());
|
||||
|
||||
m_isPrepared = false;
|
||||
m_isPrepared = false;
|
||||
|
||||
PreparedDisplacementResidualReport report;
|
||||
|
||||
@@ -170,13 +171,14 @@ namespace mean_field::operators {
|
||||
{.density = density, .displacement = displacement}, make_rotational_dependencies(dependencies), rotation
|
||||
);
|
||||
|
||||
if (report.DidAnyChildWork() || m_cachedResidual.Size() != m_fem.displacementFes->GetTrueVSize()) {
|
||||
if (report.DidAnyChildWork() ||
|
||||
m_cachedResidual.Size() != m_gravityContext.GetDisplacementMap().reduced_size()) {
|
||||
AssembleResidual();
|
||||
report.assembledResidual = true;
|
||||
}
|
||||
|
||||
MFEM_VERIFY(
|
||||
m_cachedResidual.Size() == m_fem.displacementFes->GetTrueVSize(),
|
||||
m_cachedResidual.Size() == m_gravityContext.GetDisplacementMap().reduced_size(),
|
||||
"PreparedDisplacementResidualOperator produced a cached "
|
||||
"residual with the wrong size."
|
||||
);
|
||||
@@ -445,10 +447,13 @@ namespace mean_field::operators {
|
||||
utils::blocks::get_residual_block<Form>(utils::blocks::barotropic_constant_field.mass_normalization_term);
|
||||
|
||||
MFEM_VERIFY(
|
||||
m_layout.size(densityValue) == f.densityFes->GetTrueVSize() &&
|
||||
m_layout.size(displacementValue) == f.displacementFes->GetTrueVSize() &&
|
||||
m_layout.size(gravityGradientValue) == f.gravityFluxFes->GetTrueVSize() &&
|
||||
m_layout.size(gravityPotentialValue) == f.gravityPotentialFes->GetTrueVSize() &&
|
||||
m_layout.size(densityValue) == m_preparedOperator.GetGravityContext().GetDensityMap().reduced_size() &&
|
||||
m_layout.size(displacementValue) ==
|
||||
m_preparedOperator.GetGravityContext().GetDisplacementMap().reduced_size() &&
|
||||
m_layout.size(gravityGradientValue) ==
|
||||
m_preparedOperator.GetGravityContext().GetGravityGradientMap().reduced_size() &&
|
||||
m_layout.size(gravityPotentialValue) ==
|
||||
m_preparedOperator.GetGravityContext().GetGravityPotentialMap().reduced_size() &&
|
||||
m_layout.size(barotropicConstantValue) == 1,
|
||||
"Prepared displacement-residual MFEM adapter received "
|
||||
"incompatible barotropic value-block sizes."
|
||||
@@ -461,11 +466,16 @@ namespace mean_field::operators {
|
||||
);
|
||||
|
||||
MFEM_VERIFY(
|
||||
m_layout.size(gravityGradientResidual) == f.gravityFluxFes->GetTrueVSize() &&
|
||||
m_layout.size(gravityPotentialResidual) == f.gravityPotentialFes->GetTrueVSize() &&
|
||||
m_layout.size(densityResidual) == f.densityFes->GetTrueVSize() &&
|
||||
m_layout.size(displacementResidual) == f.displacementFes->GetTrueVSize() &&
|
||||
m_layout.size(enthalpyResidual) == f.enthalpyFes->GetTrueVSize() && m_layout.size(massResidual) == 1,
|
||||
m_layout.size(gravityGradientResidual) ==
|
||||
m_preparedOperator.GetGravityContext().GetGravityGradientMap().reduced_size() &&
|
||||
m_layout.size(gravityPotentialResidual) ==
|
||||
m_preparedOperator.GetGravityContext().GetGravityPotentialMap().reduced_size() &&
|
||||
m_layout.size(densityResidual) ==
|
||||
m_preparedOperator.GetGravityContext().GetDensityMap().reduced_size() &&
|
||||
m_layout.size(displacementResidual) ==
|
||||
m_preparedOperator.GetGravityContext().GetDisplacementMap().reduced_size() &&
|
||||
m_layout.size(enthalpyResidual) == m_preparedOperator.GetPressureOperator().GetEnthalpySize() &&
|
||||
m_layout.size(massResidual) == 1,
|
||||
"Prepared displacement-residual MFEM adapter received "
|
||||
"incompatible barotropic residual-block sizes."
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user