feat(libmeanfield): variadic refactor

also added normaliztion operator
This commit is contained in:
2026-09-06 10:15:00 -04:00
parent 71423d543f
commit 76818f2f82
63 changed files with 28794 additions and 1119 deletions

View File

@@ -136,6 +136,19 @@ export namespace mean_field::utils::blocks {
static inline constexpr central_value central_value_term{};
};
struct fixed_angular_momentum final : field {
using SpecificationType = models::FixedAngularMomentum;
using CoordinateType = models::PhysicalCoordinateFor<SpecificationType>;
using ResidualType = models::ResidualFor<SpecificationType>;
struct angular_velocity final : term {
using value = generated_value_block<CoordinateType>;
using residual = generated_residual_block<ResidualType>;
};
static inline constexpr angular_velocity angular_velocity_term{};
};
// Compatibility name for the current barotropic formulation. The scalar
// is generated by FixedTotalMass; its realization in this formulation is
// the historical C coordinate.
@@ -148,6 +161,7 @@ export namespace mean_field::utils::blocks {
inline constexpr enthalpy enthalpy_field{};
inline constexpr fixed_total_mass fixed_total_mass_constraint{};
inline constexpr fixed_central_density fixed_central_density_phase{};
inline constexpr fixed_angular_momentum fixed_angular_momentum_constraint{};
inline constexpr barotropic_constant barotropic_constant_field{};
template <typename... Types> struct type_list {
@@ -516,6 +530,7 @@ export namespace mean_field::utils::blocks {
enthalpy::specific::value,
gravity::poisson::value,
surface_deformation::parameters::value,
density::mass::value,
barotropic_constant::mass_normalization::value>,
block_row<
barotropic_constant::mass_normalization::residual,
@@ -569,6 +584,7 @@ export namespace mean_field::utils::blocks {
enthalpy::specific::value,
gravity::poisson::value,
surface_deformation::parameters::value,
density::mass::value,
barotropic_constant::mass_normalization::value,
fixed_central_density::central_value::value>,
block_row<