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

@@ -53,7 +53,7 @@ namespace rotational_displacement_force_context_test_utils {
TEST_CASE(
"Rotational Displacement Force Context Applies Selective Invalidation",
tags::centrifugal &tags::contexts &tags::unit
tags::rotation_context_unit
) {
mean_field::utils::Args args = test_utils::setup_args();
@@ -61,15 +61,16 @@ TEST_CASE(
REQUIRE(f.okay());
mfem::Vector density = rotational_displacement_force_context_test_utils::make_density(f, 0.83);
mfem::Vector displacement = gravity_prepared_test_utils::make_displacement(f, 0.47);
auto dependencies = rotational_displacement_force_context_test_utils::make_dependencies();
auto dependencies = rotational_displacement_force_context_test_utils::make_dependencies();
rotational_displacement_force_context_test_utils::Context context(f, *f.domainMapperStateless);
const auto initialReport = context.Prepare({.density = density, .displacement = displacement}, dependencies);
mfem::Vector densityTrue = rotational_displacement_force_context_test_utils::make_density(f, 0.83);
mfem::Vector density = context.GetDensityMap().gather(densityTrue);
mfem::Vector displacementTrue = gravity_prepared_test_utils::make_displacement(f, 0.47);
mfem::Vector displacement = context.GetDisplacementMap().gather(displacementTrue);
const auto initialReport = context.Prepare({.density = density, .displacement = displacement}, dependencies);
REQUIRE(context.IsPrepared());
CHECK(context.MatchesDependencies(dependencies));
@@ -80,14 +81,18 @@ TEST_CASE(
CHECK(initialReport.updatedDensity);
CHECK(initialReport.updatedDisplacement);
const mfem::Vector expectedDensityTrue = context.GetDensityMap().scatter(density);
const mfem::Vector expectedDisplacementTrue = context.GetDisplacementMap().scatter(displacement);
CHECK(
rotational_displacement_force_context_test_utils::relative_difference(context.GetBaseDensityTrue(), density) <
1.0e-14
rotational_displacement_force_context_test_utils::relative_difference(
context.GetBaseDensityTrue(), expectedDensityTrue
) < 1.0e-14
);
CHECK(
rotational_displacement_force_context_test_utils::relative_difference(
context.GetDisplacementTrue(), displacement
context.GetDisplacementTrue(), expectedDisplacementTrue
) < 1.0e-14
);
@@ -95,7 +100,8 @@ TEST_CASE(
CHECK_FALSE(unchangedReport.DidAnyWork());
density = rotational_displacement_force_context_test_utils::make_density(f, 1.17);
densityTrue = rotational_displacement_force_context_test_utils::make_density(f, 1.17);
density = context.GetDensityMap().gather(densityTrue);
++dependencies.density.revision;
@@ -110,7 +116,8 @@ TEST_CASE(
const mfem::Vector densityAfterDensityRevision(context.GetBaseDensityTrue());
displacement = gravity_prepared_test_utils::make_displacement(f, 0.81);
displacementTrue = gravity_prepared_test_utils::make_displacement(f, 0.81);
displacement = context.GetDisplacementMap().gather(displacementTrue);
++dependencies.displacement.revision;
@@ -151,7 +158,7 @@ TEST_CASE(
TEST_CASE(
"Rotational Displacement Force Context Treats New Identities As New "
"Dependency Streams",
tags::centrifugal &tags::contexts &tags::unit
tags::rotation_context_unit
) {
mean_field::utils::Args args = test_utils::setup_args();
@@ -159,14 +166,15 @@ TEST_CASE(
REQUIRE(f.okay());
const mfem::Vector density = rotational_displacement_force_context_test_utils::make_density(f, 0.91);
const mfem::Vector displacement = gravity_prepared_test_utils::make_displacement(f, 0.39);
auto dependencies = rotational_displacement_force_context_test_utils::make_dependencies();
auto dependencies = rotational_displacement_force_context_test_utils::make_dependencies();
rotational_displacement_force_context_test_utils::Context context(f, *f.domainMapperStateless);
const mfem::Vector density =
context.GetDensityMap().gather(rotational_displacement_force_context_test_utils::make_density(f, 0.91));
const mfem::Vector displacement =
context.GetDisplacementMap().gather(gravity_prepared_test_utils::make_displacement(f, 0.39));
context.Prepare({.density = density, .displacement = displacement}, dependencies);
dependencies.density.identity += 1000;