feat(libmeanfield): centrifugal + pressure

This commit is contained in:
2026-08-04 14:24:55 -04:00
parent 9bc4f2758a
commit dc912fd15e
115 changed files with 260058 additions and 163261 deletions

View File

@@ -45,6 +45,7 @@ target_sources(mean_field
libmeanfield/impl/fem.cpp
libmeanfield/impl/mapping/coefficients.cpp
libmeanfield/impl/mapping/domain_mapper.cpp
libmeanfield/impl/mapping/compactification/kelvin.cpp
libmeanfield/impl/physics/gravity.cpp
libmeanfield/impl/physics/solid.cpp
libmeanfield/impl/utils/domain.cpp
@@ -55,6 +56,21 @@ target_sources(mean_field
libmeanfield/impl/integrators/gravity.cpp
libmeanfield/impl/integrators/mass_continuity.cpp
libmeanfield/impl/integrators/viscosity.cpp
libmeanfield/impl/mapping/domain_mapper_new.cpp
libmeanfield/impl/mapping/transformations.cpp
libmeanfield/impl/operators/gravity_field.cpp
libmeanfield/impl/operators/gravity_field_jacobian.cpp
libmeanfield/impl/operators/kernels/gravity_kernels.cpp
libmeanfield/impl/operators/prepared_hdiv_mass.cpp
libmeanfield/impl/operators/prepared_gravity_source.cpp
libmeanfield/impl/operators/contexts/gravity_field_context.cpp
libmeanfield/impl/operators/kernels/barotropic_closure_kernels.cpp
libmeanfield/impl/operators/prepared_barotropic_closure.cpp
libmeanfield/impl/operators/contexts/barotropic_closure_linearization_context.cpp
libmeanfield/impl/operators/kernels/hydrostatic_equilibrium_kernels.cpp
libmeanfield/impl/operators/contexts/hydrostatic_equilibrium_context.cpp
libmeanfield/impl/operators/prepared_hydrostatic_equilibrium.cpp
libmeanfield/impl/operators/kernels/pressure_force_kernels.cpp
)
target_sources(mean_field
@@ -67,6 +83,10 @@ target_sources(mean_field
libmeanfield/interface/mapping/coefficients.cppm
libmeanfield/interface/mapping/domain_mapper.cppm
libmeanfield/interface/mapping/types.cppm
libmeanfield/interface/mapping/transformations.cppm
libmeanfield/interface/mapping/compactification/compactification.cppm
libmeanfield/interface/mapping/compactification/kelvin.cppm
libmeanfield/interface/mapping/compactification/options.cppm
libmeanfield/interface/physics/context.cppm
libmeanfield/interface/physics/gravity.cppm
libmeanfield/interface/physics/solid.cppm
@@ -82,6 +102,26 @@ target_sources(mean_field
libmeanfield/interface/integrators/viscosity.cppm
libmeanfield/interface/quadrature/policy.cppm
libmeanfield/interface/quadrature/mfem.cppm
libmeanfield/interface/solver/fields.cppm
libmeanfield/interface/operators/gravity_field.cppm
libmeanfield/interface/operators/gravity_field_jacobian.cppm
libmeanfield/interface/operators/kernels/gravity_kernels.cppm
libmeanfield/interface/operators/kernels/barotropic_closure_kernels.cppm
libmeanfield/interface/utils/blocks.cppm
libmeanfield/interface/operators/contexts/gravity_field_context.cppm
libmeanfield/interface/operators/prepared_gravity_source.cppm
libmeanfield/interface/operators/prepared_hdiv_mass.cppm
libmeanfield/interface/operators/prepared_hydrostatic_equilibrium_operator.cppm
libmeanfield/interface/field/field_base.cppm
libmeanfield/interface/field/field_registry.cppm
libmeanfield/interface/field/field_mfem.cppm
libmeanfield/interface/physics/barotrope.cppm
libmeanfield/interface/operators/prepared_barotropic_closure_operator.cppm
libmeanfield/interface/operators/contexts/barotropic_closure_linearization_context.cppm
libmeanfield/interface/physics/rigid_rotation.cppm
libmeanfield/interface/operators/kernels/hydrostatic_equilibrium_kernels.cppm
libmeanfield/interface/operators/contexts/hydrostatic_equilibrium_context.cppm
libmeanfield/interface/operators/kernels/pressure_force_kernels.cppm
)
@@ -116,10 +156,58 @@ add_executable(tests
tests/physics/gravity.cpp
tests/geometry/volume.cpp
tests/quadrature/policy.cpp
tests/integrators/centrifugal.cpp
tests/integrators/gravity.cpp
tests/mapping/domain_mapper.cpp
tests/mapping/compactification/kelvin.cpp
tests/utils/blocks.cpp
tests/operators/gravity_field.cpp
tests/mapping/hdiv_mass_tensor.cpp
tests/operators/prepared_hdiv_mass.cpp
tests/operators/prepared_gravity_source.cpp
tests/operators/contexts/gravity_field_context.cpp
tests/physics/gravity_monopole_accuracy.cpp
tests/physics/barotrope.cpp
tests/operators/kernels/barotropic_closure_kernels.cpp
tests/operators/prepared_barotropic_closure.cpp
tests/operators/contexts/barotropic_closure_linearization_context.cpp
tests/operators/kernels/hydrostatic_equilibrium_kernels.cpp
tests/operators/contexts/hydrostatic_equilibrium_context.cpp
tests/operators/prepared_hydrostatic_equilibrium.cpp
tests/operators/prepared_hydrostatic_equilibrium_jacobian.cpp
tests/operators/prepared_hydrostatic_equilibrium_displacement_jacobian.cpp
tests/operators/prepared_hydrostatic_equilibrium_complete_jacobian.cpp
tests/operators/prepared_hydrostatic_equilibrium_analytic_accuracy.cpp
tests/physics/barotrope_pressure.cpp
tests/operators/kernels/pressure_force_kernels.cpp
)
target_link_libraries(tests PRIVATE mean_field test_mod Catch2::Catch2 Boost::boost)
add_library(experiment_mod)
target_sources(experiment_mod
PUBLIC
FILE_SET CXX_MODULES FILES
experiments/experiment_results.cppm
)
target_link_libraries(experiment_mod
PUBLIC
mean_field
test_mod
)
add_executable(experiments
experiments/experiment_main.cpp
experiments/gravity_accuracy_budget.cpp
)
target_link_libraries(experiments PRIVATE mean_field test_mod experiment_mod Catch2::Catch2 Boost::boost)
include (CTest)
include (Catch)
catch_discover_tests(tests)
catch_discover_tests(
tests
experiments
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
)