serif::solver::normalization serif::solver::normalization::AutomaticPlan serif::solver::normalization::DiagonalNormalization serif::solver::normalization::Dimensionless serif::solver::normalization::DimensionlessMetricGeometry serif::solver::normalization::DimensionlessMetricGeometry< geometry::deformation::keys::SurfaceMetric > serif::solver::normalization::DimensionlessMetricGeometry< ReferenceVolumeMetric< TermT > > serif::solver::normalization::DimensionlessMetricGeometry< UnitMetric > serif::solver::normalization::DimensionlessRieszCoordinate serif::solver::normalization::FromModel serif::solver::normalization::IdentityCoordinate serif::solver::normalization::LaneEmdenApproximation serif::solver::normalization::MetricCoordinates serif::solver::normalization::MetricCoordinates< geometry::deformation::keys::SurfaceMetric > serif::solver::normalization::MetricCoordinates< MetricT, std::void_t< typename MetricT::Coordinates > > serif::solver::normalization::MetricCoordinates< UnitMetric > serif::solver::normalization::NormalizationOptions serif::solver::normalization::NormalizationPlan serif::solver::normalization::NormalizationPrescriptionTag serif::solver::normalization::PhysicalRieszCoordinate serif::solver::normalization::ReferenceVolumeMetric serif::solver::normalization::RuntimePreparedCoordinate serif::solver::normalization::StellarReferenceScales serif::solver::normalization::UnitMetric serif::solver::normalization::WithPointRows serif::solver::normalization::backend serif::solver::normalization::checks serif::solver::normalization::detail serif::solver::normalization::keys ReferenceGeometry serif::solver::normalization::ReferenceGeometry volume surface algebraic Identify the geometric convention of a reference coordinate metric. utils::dependencies::IsKeyList Values Values utils::dependencies::IsKeyList Residuals Residuals discretization::blocks::SystemLayout< Values, Residuals > using serif::solver::normalization::CoordinateLayout = discretization::blocks::SystemLayout<Values, Residuals> CoordinateLayout serif::solver::normalization::CoordinateLayout Compatibility spelling for the shared discretization layout. discretization::blocks::HasQuantity TermT TermT utils::dependencies::Binding< TermT, PhysicalRieszCoordinate< typename TermT::Quantity, typename decltype(detail::default_metric< TermT >())::type > > using serif::solver::normalization::PhysicalValueRule = utils::dependencies::Binding<TermT, PhysicalRieszCoordinate<typename TermT::Quantity, typename decltype(detail::default_metric<TermT>())::type>> PhysicalValueRule serif::solver::normalization::PhysicalValueRule Describe an unknown from its existing quantity, support, and functional-space metadata. typename EquationT utils::dependencies::Binding< EquationT, PhysicalRieszCoordinate< typename EquationT::ResidualQuantity, typename decltype(detail::default_metric< EquationT >())::type > > using serif::solver::normalization::PhysicalResidualRule = utils::dependencies::Binding<EquationT, PhysicalRieszCoordinate<typename EquationT::ResidualQuantity, typename decltype(detail::default_metric<EquationT>())::type>> PhysicalResidualRule serif::solver::normalization::PhysicalResidualRule Describe a residual using the equation's declared quantity, which may differ from the unknown it closes. typename PlanT typename ScalesT StellarReferenceScales typename LayoutT auto auto serif::solver::normalization::make_normalization_computations (const LayoutT &) make_normalization_computations serif::solver::normalization::make_normalization_computations const LayoutT & NormalizationPreparable<PlanT, LayoutT, ScalesT> Declare normalization as ordinary dependency computations; no metrics or factors are prepared here. Supply keys::Layout, keys::Scales, and the plan's metric/selection/prescription sources. Copy the accepted DiagonalNormalization to freeze one solve before preparing later candidates. typename Scheme typename Coordinates typename Plan typename Sources typename Computations auto auto serif::solver::normalization::make_normalization (NormalizationOptions< Scheme, Coordinates, Plan, Sources, Computations > options) make_normalization serif::solver::normalization::make_normalization NormalizationOptions< Scheme, Coordinates, Plan, Sources, Computations > options Preserve the deduced numerical choices for later preparation with a model and discretization. auto auto serif::solver::normalization::make_normalization () make_normalization serif::solver::normalization::make_normalization Select the usual dimensionless Lane–Emden reference; supply its central density before resolving it against a model. std::expected< StellarReferenceScales, std::string > std::expected< StellarReferenceScales, std::string > serif::solver::normalization::prepare_reference_scales (const LaneEmdenApproximation< dimensions::MassValue, dimensions::DensityValue > &scheme, dimensions::QuantityValue< dimensions::GravitationalConstant > gravitational_constant) prepare_reference_scales serif::solver::normalization::prepare_reference_scales const LaneEmdenApproximation< dimensions::MassValue, dimensions::DensityValue > & scheme dimensions::QuantityValue< dimensions::GravitationalConstant > gravitational_constant Derive the shared stellar scales after both dimensional reference inputs have been resolved. std::expected< StellarReferenceScales, std::string > std::expected< StellarReferenceScales, std::string > serif::solver::normalization::prepare_reference_scales (const StellarReferenceScales &reference, dimensions::QuantityValue< dimensions::GravitationalConstant > gravitational_constant) prepare_reference_scales serif::solver::normalization::prepare_reference_scales const StellarReferenceScales & reference dimensions::QuantityValue< dimensions::GravitationalConstant > gravitational_constant Use explicitly prepared reference scales through the same graph as estimated references. std::expected< double, std::string > std::expected< double, std::string > serif::solver::normalization::make_riesz_factor (discretization::blocks::RepresentedValueKind kind, double metric, double physical_scale) make_riesz_factor serif::solver::normalization::make_riesz_factor discretization::blocks::RepresentedValueKind kind double metric double physical_scale Prepare one primal sqrt(metric)/scale or dual 1/(scale sqrt(metric)) factor. std::expected< std::vector< double >, std::string > std::expected< std::vector< double >, std::string > serif::solver::normalization::make_riesz_factors (discretization::blocks::RepresentedValueKind kind, std::span< const double > metric, double physical_scale) make_riesz_factors serif::solver::normalization::make_riesz_factors discretization::blocks::RepresentedValueKind kind std::span< const double > metric double physical_scale Prepare diagonal Riesz factors, reporting which coordinate has invalid data. std::expected< DiagonalNormalization, std::string > std::expected< DiagonalNormalization, std::string > serif::solver::normalization::make_diagonal_normalization (std::vector< double > state, std::vector< double > residual) make_diagonal_normalization serif::solver::normalization::make_diagonal_normalization std::vector< double > state std::vector< double > residual Validate and freeze independent coordinate factors, including empty or rectangular systems. std::expected< std::vector< double >, std::string > std::expected< std::vector< double >, std::string > serif::solver::normalization::make_point_replaced_residual_factors (std::span< const double > volume_metric, double volume_scale, std::span< const int > selected_rows, double point_scale) make_point_replaced_residual_factors serif::solver::normalization::make_point_replaced_residual_factors std::span< const double > volume_metric double volume_scale std::span< const int > selected_rows double point_scale Measure volume and replacement point residuals in their independently specified physical units. Only replaced rows may have a zero or otherwise unusable volume metric. No bulk factor is evaluated for them. std::expected< StellarReferenceScales, std::string > std::expected< StellarReferenceScales, std::string > serif::solver::normalization::prepare_stellar_reference_scales (dimensions::QuantityValue< dimensions::Mass > mass, dimensions::QuantityValue< dimensions::Length > radius, dimensions::QuantityValue< dimensions::GravitationalConstant > gravitational_constant=dimensions::QuantityValue< dimensions::GravitationalConstant >{1.0}) prepare_stellar_reference_scales serif::solver::normalization::prepare_stellar_reference_scales dimensions::QuantityValue< dimensions::Mass > mass dimensions::QuantityValue< dimensions::Length > radius dimensions::QuantityValue< dimensions::GravitationalConstant > gravitational_constant dimensions::QuantityValue< dimensions::GravitationalConstant >{1.0} Derive gravitational stellar scales from a finite, positive reference mass, radius, and G. StellarScaleQuantity Quantity Quantity dimensions::QuantityValue< Quantity > dimensions::QuantityValue< Quantity > serif::solver::normalization::characteristic_scale (const StellarReferenceScales &scales, Quantity) characteristic_scale serif::solver::normalization::characteristic_scale const StellarReferenceScales & scales Quantity Select a typed scale; temperature and other unrelated quantities require an explicit prescription. std::expected< double, std::string > std::expected< double, std::string > serif::solver::normalization::make_riesz_factor (Kind kind, double metric, double physical_scale) make_riesz_factor serif::solver::normalization::make_riesz_factor Kind kind double metric double physical_scale std::expected< std::vector< double >, std::string > std::expected< std::vector< double >, std::string > serif::solver::normalization::make_riesz_factors (Kind kind, std::span< const double > metric, double physical_scale) make_riesz_factors serif::solver::normalization::make_riesz_factors Kind kind std::span< const double > metric double physical_scale