SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::model::normalization Namespace Reference

Namespaces

namespace  detail
 

Classes

struct  Configuration
 
struct  InfinityRows
 Potential rows replaced by the zero trace at compactified infinity. More...
 
struct  PreparedSystem
 
struct  SurfaceRows
 Reduced equation rows whose volume residual is replaced by the selected surface condition. More...
 

Concepts

concept  ReferenceResolvable
 Check model-provided reference requirements before instantiating numerical preparation.
 

Typedefs

template<typename Selection, typename Coordinates, typename Bound>
using PlanFor = typename detail::SelectPlan<Selection, Coordinates, Bound>::Type
 Compile automatic physics-aware rules or retain the user's complete explicit plan.
 
template<typename Plan>
using MetricsFor
 Assemble each metric once even when several state and residual rules share it.
 

Functions

template<typename Options, typename Discretization, typename... Metrics>
auto make_inputs (std::shared_ptr< const Options > options, const Discretization &discretization, utils::dependencies::KeyList< Metrics... >)
 Keep the immutable configuration alive and reference metrics separate from candidate coefficients.
 
template<typename NormalizationPlan, typename Bound, typename Options, typename Layout, typename... Metrics>
auto make_computations (const Bound &bound, const Options &options, const Layout &layout, utils::dependencies::KeyList< Metrics... >)
 Compose normalization into the physical graph, including the selected surface row replacement.
 
template<typename Mass, typename Density, StellarModelType Model>
requires detail::ReferenceAvailable<Mass, Model, FixedTotalMass> && std::same_as<Density, dimensions::DensityValue>
auto resolve_reference (const solver::normalization::LaneEmdenApproximation< Mass, Density > &scheme, const Model &model)
 Resolve the Lane–Emden reference from explicit inputs or the model's mass target; no model prescribes central density.
 
template<solver::normalization::ReferenceScheme Scheme, StellarModelType Model>
Scheme resolve_reference (const Scheme &scheme, const Model &)
 Explicit or custom reference schemes need no model-specific defaults.
 
template<typename Options, StellarModelType Model>
requires ReferenceResolvable<Options, Model>
auto resolve_configuration (Options options, const Model &model)
 Freeze resolved reference choices while retaining the deduced coordinate and plan types.
 

Typedef Documentation

◆ MetricsFor

template<typename Plan>
using serif::model::normalization::MetricsFor
Initial value:
detail::MergeKeyLists< KeyList<>, std::remove_cvref_t< Lists >... >::type CombinedKeyList
Combine requirements in first-appearance order, retaining distinct keys with shared targets.
Definition key_list_operations.hpp:25

Assemble each metric once even when several state and residual rules share it.

◆ PlanFor

template<typename Selection, typename Coordinates, typename Bound>
using serif::model::normalization::PlanFor = typename detail::SelectPlan<Selection, Coordinates, Bound>::Type

Compile automatic physics-aware rules or retain the user's complete explicit plan.

Function Documentation

◆ make_computations()

template<typename NormalizationPlan, typename Bound, typename Options, typename Layout, typename... Metrics>
auto serif::model::normalization::make_computations ( const Bound & bound,
const Options & options,
const Layout & layout,
utils::dependencies::KeyList< Metrics... >  )
nodiscard

Compose normalization into the physical graph, including the selected surface row replacement.

◆ make_inputs()

template<typename Options, typename Discretization, typename... Metrics>
auto serif::model::normalization::make_inputs ( std::shared_ptr< const Options > options,
const Discretization & discretization,
utils::dependencies::KeyList< Metrics... >  )
nodiscard

Keep the immutable configuration alive and reference metrics separate from candidate coefficients.

◆ resolve_configuration()

template<typename Options, StellarModelType Model>
requires ReferenceResolvable<Options, Model>
auto serif::model::normalization::resolve_configuration ( Options options,
const Model & model )
nodiscard

Freeze resolved reference choices while retaining the deduced coordinate and plan types.

◆ resolve_reference() [1/2]

template<solver::normalization::ReferenceScheme Scheme, StellarModelType Model>
Scheme serif::model::normalization::resolve_reference ( const Scheme & scheme,
const Model &  )
nodiscard

Explicit or custom reference schemes need no model-specific defaults.

◆ resolve_reference() [2/2]

template<typename Mass, typename Density, StellarModelType Model>
requires detail::ReferenceAvailable<Mass, Model, FixedTotalMass> && std::same_as<Density, dimensions::DensityValue>
auto serif::model::normalization::resolve_reference ( const solver::normalization::LaneEmdenApproximation< Mass, Density > & scheme,
const Model & model )
nodiscard

Resolve the Lane–Emden reference from explicit inputs or the model's mass target; no model prescribes central density.