Files
MeanField_SERiF/docs/xml/namespaceserif_1_1solver_1_1normalization.xml

500 lines
35 KiB
XML
Raw Permalink Normal View History

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.13.2" xml:lang="en-US">
<compounddef id="namespaceserif_1_1solver_1_1normalization" kind="namespace" language="C++">
<compoundname>serif::solver::normalization</compoundname>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_automatic_plan" prot="public">serif::solver::normalization::AutomaticPlan</innerclass>
<innerclass refid="classserif_1_1solver_1_1normalization_1_1_diagonal_normalization" prot="public">serif::solver::normalization::DiagonalNormalization</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_dimensionless" prot="public">serif::solver::normalization::Dimensionless</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_dimensionless_metric_geometry" prot="public">serif::solver::normalization::DimensionlessMetricGeometry</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_dimensionless_metric_geometry_3_01geometry_1_1deforma6be1597e60f90b119b47e9401d531cd8" prot="public">serif::solver::normalization::DimensionlessMetricGeometry&lt; geometry::deformation::keys::SurfaceMetric &gt;</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_dimensionless_metric_geometry_3_01_reference_volume_metric_3_01_term_t_01_4_01_4" prot="public">serif::solver::normalization::DimensionlessMetricGeometry&lt; ReferenceVolumeMetric&lt; TermT &gt; &gt;</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_dimensionless_metric_geometry_3_01_unit_metric_01_4" prot="public">serif::solver::normalization::DimensionlessMetricGeometry&lt; UnitMetric &gt;</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_dimensionless_riesz_coordinate" prot="public">serif::solver::normalization::DimensionlessRieszCoordinate</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_from_model" prot="public">serif::solver::normalization::FromModel</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_identity_coordinate" prot="public">serif::solver::normalization::IdentityCoordinate</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_lane_emden_approximation" prot="public">serif::solver::normalization::LaneEmdenApproximation</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_metric_coordinates" prot="public">serif::solver::normalization::MetricCoordinates</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_metric_coordinates_3_01geometry_1_1deformation_1_1keys_1_1_surface_metric_01_4" prot="public">serif::solver::normalization::MetricCoordinates&lt; geometry::deformation::keys::SurfaceMetric &gt;</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_metric_coordinates_3_01_metric_t_00_01std_1_1void__t_7159054dec962eec3c70ff59a02679f9" prot="public">serif::solver::normalization::MetricCoordinates&lt; MetricT, std::void_t&lt; typename MetricT::Coordinates &gt; &gt;</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_metric_coordinates_3_01_unit_metric_01_4" prot="public">serif::solver::normalization::MetricCoordinates&lt; UnitMetric &gt;</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_normalization_options" prot="public">serif::solver::normalization::NormalizationOptions</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_normalization_plan" prot="public">serif::solver::normalization::NormalizationPlan</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_normalization_prescription_tag" prot="public">serif::solver::normalization::NormalizationPrescriptionTag</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_physical_riesz_coordinate" prot="public">serif::solver::normalization::PhysicalRieszCoordinate</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_reference_volume_metric" prot="public">serif::solver::normalization::ReferenceVolumeMetric</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_runtime_prepared_coordinate" prot="public">serif::solver::normalization::RuntimePreparedCoordinate</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_stellar_reference_scales" prot="public">serif::solver::normalization::StellarReferenceScales</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_unit_metric" prot="public">serif::solver::normalization::UnitMetric</innerclass>
<innerclass refid="structserif_1_1solver_1_1normalization_1_1_with_point_rows" prot="public">serif::solver::normalization::WithPointRows</innerclass>
<innernamespace refid="namespaceserif_1_1solver_1_1normalization_1_1backend">serif::solver::normalization::backend</innernamespace>
<innernamespace refid="namespaceserif_1_1solver_1_1normalization_1_1checks">serif::solver::normalization::checks</innernamespace>
<innernamespace refid="namespaceserif_1_1solver_1_1normalization_1_1detail">serif::solver::normalization::detail</innernamespace>
<innernamespace refid="namespaceserif_1_1solver_1_1normalization_1_1keys">serif::solver::normalization::keys</innernamespace>
<sectiondef kind="enum">
<memberdef kind="enum" id="namespaceserif_1_1solver_1_1normalization_1ac75238439fd5d1610b177bf85e9376d9" prot="public" static="no" strong="yes">
<type></type>
<name>ReferenceGeometry</name>
<qualifiedname>serif::solver::normalization::ReferenceGeometry</qualifiedname>
<enumvalue id="namespaceserif_1_1solver_1_1normalization_1ac75238439fd5d1610b177bf85e9376d9a210ab9e731c9c36c2c38db15c28a8d1c" prot="public">
<name>volume</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1solver_1_1normalization_1ac75238439fd5d1610b177bf85e9376d9ad302e976c9dd527a9521a88c012437c5" prot="public">
<name>surface</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1solver_1_1normalization_1ac75238439fd5d1610b177bf85e9376d9ac7f6ad568392380a8f4b4cecbaccb64c" prot="public">
<name>algebraic</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<briefdescription>
<para>Identify the geometric convention of a reference coordinate metric. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/normalization/dimensionless.hpp" line="10" column="5" bodyfile="src/include/serif/solver/normalization/dimensionless.hpp" bodystart="10" bodyend="14"/>
</memberdef>
</sectiondef>
<sectiondef kind="typedef">
<memberdef kind="typedef" id="namespaceserif_1_1solver_1_1normalization_1a8b854a2e50341cf923faee8adcc03903" prot="public" static="no">
<templateparamlist>
<param>
<type>utils::dependencies::IsKeyList</type>
<declname>Values</declname>
<defname>Values</defname>
</param>
<param>
<type>utils::dependencies::IsKeyList</type>
<declname>Residuals</declname>
<defname>Residuals</defname>
</param>
</templateparamlist>
<type><ref refid="structserif_1_1discretization_1_1blocks_1_1_system_layout" kindref="compound">discretization::blocks::SystemLayout</ref>&lt; Values, Residuals &gt;</type>
<definition>using serif::solver::normalization::CoordinateLayout = discretization::blocks::SystemLayout&lt;Values, Residuals&gt;</definition>
<argsstring></argsstring>
<name>CoordinateLayout</name>
<qualifiedname>serif::solver::normalization::CoordinateLayout</qualifiedname>
<briefdescription>
<para>Compatibility spelling for the shared discretization layout. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/normalization/layout.hpp" line="9" column="5" bodyfile="src/include/serif/solver/normalization/layout.hpp" bodystart="9" bodyend="-1"/>
</memberdef>
<memberdef kind="typedef" id="namespaceserif_1_1solver_1_1normalization_1a72b7fb70be44d723b1115bd0561de14a" prot="public" static="no">
<templateparamlist>
<param>
<type>discretization::blocks::HasQuantity</type>
<declname>TermT</declname>
<defname>TermT</defname>
</param>
</templateparamlist>
<type><ref refid="structserif_1_1utils_1_1dependencies_1_1_binding" kindref="compound">utils::dependencies::Binding</ref>&lt; TermT, <ref refid="structserif_1_1solver_1_1normalization_1_1_physical_riesz_coordinate" kindref="compound">PhysicalRieszCoordinate</ref>&lt; typename TermT::Quantity, typename decltype(<ref refid="namespaceserif_1_1solver_1_1normalization_1_1detail_1aa52112c59b823c93a41498c9b4d2f39b" kindref="member">detail::default_metric</ref>&lt; TermT &gt;())::type &gt; &gt;</type>
<definition>using serif::solver::normalization::PhysicalValueRule = utils::dependencies::Binding&lt;TermT, PhysicalRieszCoordinate&lt;typename TermT::Quantity, typename decltype(detail::default_metric&lt;TermT&gt;())::type&gt;&gt;</definition>
<argsstring></argsstring>
<name>PhysicalValueRule</name>
<qualifiedname>serif::solver::normalization::PhysicalValueRule</qualifiedname>
<briefdescription>
<para>Describe an unknown from its existing quantity, support, and functional-space metadata. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/normalization/physical_coordinates.hpp" line="35" column="5" bodyfile="src/include/serif/solver/normalization/physical_coordinates.hpp" bodystart="35" bodyend="-1"/>
</memberdef>
<memberdef kind="typedef" id="namespaceserif_1_1solver_1_1normalization_1a487b77abc2a4a2b63e10a7c95ddfc0a1" prot="public" static="no">
<templateparamlist>
<param>
<type>typename EquationT</type>
</param>
</templateparamlist>
<type><ref refid="structserif_1_1utils_1_1dependencies_1_1_binding" kindref="compound">utils::dependencies::Binding</ref>&lt; EquationT, <ref refid="structserif_1_1solver_1_1normalization_1_1_physical_riesz_coordinate" kindref="compound">PhysicalRieszCoordinate</ref>&lt; typename EquationT::ResidualQuantity, typename decltype(<ref refid="namespaceserif_1_1solver_1_1normalization_1_1detail_1aa52112c59b823c93a41498c9b4d2f39b" kindref="member">detail::default_metric</ref>&lt; EquationT &gt;())::type &gt; &gt;</type>
<definition>using serif::solver::normalization::PhysicalResidualRule = utils::dependencies::Binding&lt;EquationT, PhysicalRieszCoordinate&lt;typename EquationT::ResidualQuantity, typename decltype(detail::default_metric&lt;EquationT&gt;())::type&gt;&gt;</definition>
<argsstring></argsstring>
<name>PhysicalResidualRule</name>
<qualifiedname>serif::solver::normalization::PhysicalResidualRule</qualifiedname>
<briefdescription>
<para>Describe a residual using the equation&apos;s declared quantity, which may differ from the unknown it closes. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/normalization/physical_coordinates.hpp" line="43" column="5" bodyfile="src/include/serif/solver/normalization/physical_coordinates.hpp" bodystart="43" bodyend="-1"/>
</memberdef>
</sectiondef>
<sectiondef kind="func">
<memberdef kind="function" id="namespaceserif_1_1solver_1_1normalization_1a7540a7b41f57c928bae80c99d29f0706" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename PlanT</type>
</param>
<param>
<type>typename ScalesT</type>
<defval>StellarReferenceScales</defval>
</param>
<param>
<type>typename LayoutT</type>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::solver::normalization::make_normalization_computations</definition>
<argsstring>(const LayoutT &amp;)</argsstring>
<name>make_normalization_computations</name>
<qualifiedname>serif::solver::normalization::make_normalization_computations</qualifiedname>
<param>
<type>const LayoutT &amp;</type>
</param>
<requiresclause>NormalizationPreparable&lt;PlanT, LayoutT, ScalesT&gt; </requiresclause>
<briefdescription>
<para>Declare normalization as ordinary dependency computations; no metrics or factors are prepared here. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="note"><para>Supply <ref refid="namespaceserif_1_1solver_1_1normalization_1_1keys_1a01d33c80ce728df0cb2687eebe9ea921" kindref="member">keys::Layout</ref>, <ref refid="structserif_1_1solver_1_1normalization_1_1keys_1_1_scales" kindref="compound">keys::Scales</ref>, and the plan&apos;s metric/selection/prescription sources. Copy the accepted <ref refid="classserif_1_1solver_1_1normalization_1_1_diagonal_normalization" kindref="compound">DiagonalNormalization</ref> to freeze one solve before preparing later candidates. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/normalization/computations.hpp" line="64" column="11" bodyfile="src/include/serif/solver/normalization/computations.hpp" bodystart="64" bodyend="75"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1_1normalization_1a58791243c886657505170066c10584ab" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Scheme</type>
</param>
<param>
<type>typename Coordinates</type>
</param>
<param>
<type>typename Plan</type>
</param>
<param>
<type>typename Sources</type>
</param>
<param>
<type>typename Computations</type>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::solver::normalization::make_normalization</definition>
<argsstring>(NormalizationOptions&lt; Scheme, Coordinates, Plan, Sources, Computations &gt; options)</argsstring>
<name>make_normalization</name>
<qualifiedname>serif::solver::normalization::make_normalization</qualifiedname>
<param>
<type><ref refid="structserif_1_1solver_1_1normalization_1_1_normalization_options" kindref="compound">NormalizationOptions</ref>&lt; Scheme, Coordinates, Plan, Sources, Computations &gt;</type>
<declname>options</declname>
</param>
<briefdescription>
<para>Preserve the deduced numerical choices for later preparation with a model and discretization. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/normalization/configuration.hpp" line="57" column="11" bodyfile="src/include/serif/solver/normalization/configuration.hpp" bodystart="57" bodyend="59"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1_1normalization_1aabc0313890d07ed3a2e0afd47597dcef" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="yes" virt="non-virtual">
<type>auto</type>
<definition>auto serif::solver::normalization::make_normalization</definition>
<argsstring>()</argsstring>
<name>make_normalization</name>
<qualifiedname>serif::solver::normalization::make_normalization</qualifiedname>
<briefdescription>
<para>Select the usual dimensionless Lane–Emden reference; supply its central density before resolving it against a model. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/normalization/configuration.hpp" line="62" column="18" bodyfile="src/include/serif/solver/normalization/configuration.hpp" bodystart="62" bodyend="64"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1_1normalization_1a1a787fb498a34fbc3def51c8bfddde35" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="yes" virt="non-virtual">
<type>std::expected&lt; <ref refid="structserif_1_1solver_1_1normalization_1_1_stellar_reference_scales" kindref="compound">StellarReferenceScales</ref>, std::string &gt;</type>
<definition>std::expected&lt; StellarReferenceScales, std::string &gt; serif::solver::normalization::prepare_reference_scales</definition>
<argsstring>(const LaneEmdenApproximation&lt; dimensions::MassValue, dimensions::DensityValue &gt; &amp;scheme, dimensions::QuantityValue&lt; dimensions::GravitationalConstant &gt; gravitational_constant)</argsstring>
<name>prepare_reference_scales</name>
<qualifiedname>serif::solver::normalization::prepare_reference_scales</qualifiedname>
<param>
<type>const <ref refid="structserif_1_1solver_1_1normalization_1_1_lane_emden_approximation" kindref="compound">LaneEmdenApproximation</ref>&lt; <ref refid="namespaceserif_1_1dimensions_1a66499323cee57a1033e7b203a9198c24" kindref="member">dimensions::MassValue</ref>, <ref refid="namespaceserif_1_1dimensions_1af7f8c68a704a7bf475c60dbad5f98d78" kindref="member">dimensions::DensityValue</ref> &gt; &amp;</type>
<declname>scheme</declname>
</param>
<param>
<type><ref refid="classserif_1_1dimensions_1_1_quantity_value" kindref="compound">dimensions::QuantityValue</ref>&lt; <ref refid="structserif_1_1dimensions_1_1_gravitational_constant" kindref="compound">dimensions::GravitationalConstant</ref> &gt;</type>
<declname>gravitational_constant</declname>
</param>
<briefdescription>
<para>Derive the shared stellar scales after both dimensional reference inputs have been resolved. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/normalization/configuration.hpp" line="67" column="27" bodyfile="src/include/serif/solver/normalization/configuration.hpp" bodystart="67" bodyend="79"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1_1normalization_1ac1e9d275253e074720b819188ef1b8c6" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="yes" virt="non-virtual">
<type>std::expected&lt; <ref refid="structserif_1_1solver_1_1normalization_1_1_stellar_reference_scales" kindref="compound">StellarReferenceScales</ref>, std::string &gt;</type>
<definition>std::expected&lt; StellarReferenceScales, std::string &gt; serif::solver::normalization::prepare_reference_scales</definition>
<argsstring>(const StellarReferenceScales &amp;reference, dimensions::QuantityValue&lt; dimensions::GravitationalConstant &gt; gravitational_constant)</argsstring>
<name>prepare_reference_scales</name>
<qualifiedname>serif::solver::normalization::prepare_reference_scales</qualifiedname>
<param>
<type>const <ref refid="structserif_1_1solver_1_1normalization_1_1_stellar_reference_scales" kindref="compound">StellarReferenceScales</ref> &amp;</type>
<declname>reference</declname>
</param>
<param>
<type><ref refid="classserif_1_1dimensions_1_1_quantity_value" kindref="compound">dimensions::QuantityValue</ref>&lt; <ref refid="structserif_1_1dimensions_1_1_gravitational_constant" kindref="compound">dimensions::GravitationalConstant</ref> &gt;</type>
<declname>gravitational_constant</declname>
</param>
<briefdescription>
<para>Use explicitly prepared reference scales through the same graph as estimated references. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/normalization/configuration.hpp" line="82" column="27" bodyfile="src/include/serif/solver/normalization/configuration.hpp" bodystart="82" bodyend="88"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1_1normalization_1a8e6459e314714cea6cad28808cd4b598" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<type>std::expected&lt; double, std::string &gt;</type>
<definition>std::expected&lt; double, std::string &gt; serif::solver::normalization::make_riesz_factor</definition>
<argsstring>(discretization::blocks::RepresentedValueKind kind, double metric, double physical_scale)</argsstring>
<name>make_riesz_factor</name>
<qualifiedname>serif::solver::normalization::make_riesz_factor</qualifiedname>
<param>
<type><ref refid="namespaceserif_1_1discretization_1_1blocks_1aca74ff25d2168fcdec080e03ebc023ea" kindref="member">discretization::blocks::RepresentedValueKind</ref></type>
<declname>kind</declname>
</param>
<param>
<type>double</type>
<declname>metric</declname>
</param>
<param>
<type>double</type>
<declname>physical_scale</declname>
</param>
<briefdescription>
<para>Prepare one primal sqrt(metric)/scale or dual 1/(scale sqrt(metric)) factor. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/normalization/diagonal.hpp" line="23" column="20" declfile="src/include/serif/solver/normalization/diagonal.hpp" declline="23" declcolumn="20"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1_1normalization_1ac6e625b3ce743074b92dd17eaef58b9a" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<type>std::expected&lt; std::vector&lt; double &gt;, std::string &gt;</type>
<definition>std::expected&lt; std::vector&lt; double &gt;, std::string &gt; serif::solver::normalization::make_riesz_factors</definition>
<argsstring>(discretization::blocks::RepresentedValueKind kind, std::span&lt; const double &gt; metric, double physical_scale)</argsstring>
<name>make_riesz_factors</name>
<qualifiedname>serif::solver::normalization::make_riesz_factors</qualifiedname>
<param>
<type><ref refid="namespaceserif_1_1discretization_1_1blocks_1aca74ff25d2168fcdec080e03ebc023ea" kindref="member">discretization::blocks::RepresentedValueKind</ref></type>
<declname>kind</declname>
</param>
<param>
<type>std::span&lt; const double &gt;</type>
<declname>metric</declname>
</param>
<param>
<type>double</type>
<declname>physical_scale</declname>
</param>
<briefdescription>
<para>Prepare diagonal Riesz factors, reporting which coordinate has invalid data. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/normalization/diagonal.hpp" line="26" column="20" declfile="src/include/serif/solver/normalization/diagonal.hpp" declline="26" declcolumn="20"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1_1normalization_1aabf5cac29f49d4d8d91c3f3725c8abfd" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<type>std::expected&lt; <ref refid="classserif_1_1solver_1_1normalization_1_1_diagonal_normalization" kindref="compound">DiagonalNormalization</ref>, std::string &gt;</type>
<definition>std::expected&lt; DiagonalNormalization, std::string &gt; serif::solver::normalization::make_diagonal_normalization</definition>
<argsstring>(std::vector&lt; double &gt; state, std::vector&lt; double &gt; residual)</argsstring>
<name>make_diagonal_normalization</name>
<qualifiedname>serif::solver::normalization::make_diagonal_normalization</qualifiedname>
<param>
<type>std::vector&lt; double &gt;</type>
<declname>state</declname>
</param>
<param>
<type>std::vector&lt; double &gt;</type>
<declname>residual</declname>
</param>
<briefdescription>
<para>Validate and freeze independent coordinate factors, including empty or rectangular systems. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/lib/serif/solver/normalization/diagonal.cpp" line="78" column="19" bodyfile="src/lib/serif/solver/normalization/diagonal.cpp" bodystart="78" bodyend="88" declfile="src/include/serif/solver/normalization/diagonal.hpp" declline="85" declcolumn="20"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1_1normalization_1a2b4fefc2ef0c9b127e218f1dbcec5996" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<type>std::expected&lt; std::vector&lt; double &gt;, std::string &gt;</type>
<definition>std::expected&lt; std::vector&lt; double &gt;, std::string &gt; serif::solver::normalization::make_point_replaced_residual_factors</definition>
<argsstring>(std::span&lt; const double &gt; volume_metric, double volume_scale, std::span&lt; const int &gt; selected_rows, double point_scale)</argsstring>
<name>make_point_replaced_residual_factors</name>
<qualifiedname>serif::solver::normalization::make_point_replaced_residual_factors</qualifiedname>
<param>
<type>std::span&lt; const double &gt;</type>
<declname>volume_metric</declname>
</param>
<param>
<type>double</type>
<declname>volume_scale</declname>
</param>
<param>
<type>std::span&lt; const int &gt;</type>
<declname>selected_rows</declname>
</param>
<param>
<type>double</type>
<declname>point_scale</declname>
</param>
<briefdescription>
<para>Measure volume and replacement point residuals in their independently specified physical units. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="note"><para>Only replaced rows may have a zero or otherwise unusable volume metric. No bulk factor is evaluated for them. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/lib/serif/solver/normalization/riesz_factors.cpp" line="94" column="19" bodyfile="src/lib/serif/solver/normalization/riesz_factors.cpp" bodystart="94" bodyend="134" declfile="src/include/serif/solver/normalization/point_rows.hpp" declline="14" declcolumn="20"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1_1normalization_1ae1f83b0a78860b4a776e9aeca1641e87" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<type>std::expected&lt; <ref refid="structserif_1_1solver_1_1normalization_1_1_stellar_reference_scales" kindref="compound">StellarReferenceScales</ref>, std::string &gt;</type>
<definition>std::expected&lt; StellarReferenceScales, std::string &gt; serif::solver::normalization::prepare_stellar_reference_scales</definition>
<argsstring>(dimensions::QuantityValue&lt; dimensions::Mass &gt; mass, dimensions::QuantityValue&lt; dimensions::Length &gt; radius, dimensions::QuantityValue&lt; dimensions::GravitationalConstant &gt; gravitational_constant=dimensions::QuantityValue&lt; dimensions::GravitationalConstant &gt;{1.0})</argsstring>
<name>prepare_stellar_reference_scales</name>
<qualifiedname>serif::solver::normalization::prepare_stellar_reference_scales</qualifiedname>
<param>
<type><ref refid="classserif_1_1dimensions_1_1_quantity_value" kindref="compound">dimensions::QuantityValue</ref>&lt; <ref refid="structserif_1_1dimensions_1_1_mass" kindref="compound">dimensions::Mass</ref> &gt;</type>
<declname>mass</declname>
</param>
<param>
<type><ref refid="classserif_1_1dimensions_1_1_quantity_value" kindref="compound">dimensions::QuantityValue</ref>&lt; <ref refid="structserif_1_1dimensions_1_1_length" kindref="compound">dimensions::Length</ref> &gt;</type>
<declname>radius</declname>
</param>
<param>
<type><ref refid="classserif_1_1dimensions_1_1_quantity_value" kindref="compound">dimensions::QuantityValue</ref>&lt; <ref refid="structserif_1_1dimensions_1_1_gravitational_constant" kindref="compound">dimensions::GravitationalConstant</ref> &gt;</type>
<declname>gravitational_constant</declname>
<defval><ref refid="classserif_1_1dimensions_1_1_quantity_value" kindref="compound">dimensions::QuantityValue</ref>&lt; <ref refid="structserif_1_1dimensions_1_1_gravitational_constant" kindref="compound">dimensions::GravitationalConstant</ref> &gt;{1.0}</defval>
</param>
<briefdescription>
<para>Derive gravitational stellar scales from a finite, positive reference mass, radius, and G. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/lib/serif/solver/normalization/scales.cpp" line="10" column="19" bodyfile="src/lib/serif/solver/normalization/scales.cpp" bodystart="10" bodyend="60" declfile="src/include/serif/solver/normalization/scales.hpp" declline="32" declcolumn="20"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1_1normalization_1a74d0b96b4c77b8bb83c994bb15152cf8" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>StellarScaleQuantity</type>
<declname>Quantity</declname>
<defname>Quantity</defname>
</param>
</templateparamlist>
<type><ref refid="classserif_1_1dimensions_1_1_quantity_value" kindref="compound">dimensions::QuantityValue</ref>&lt; Quantity &gt;</type>
<definition>dimensions::QuantityValue&lt; Quantity &gt; serif::solver::normalization::characteristic_scale</definition>
<argsstring>(const StellarReferenceScales &amp;scales, Quantity)</argsstring>
<name>characteristic_scale</name>
<qualifiedname>serif::solver::normalization::characteristic_scale</qualifiedname>
<param>
<type>const <ref refid="structserif_1_1solver_1_1normalization_1_1_stellar_reference_scales" kindref="compound">StellarReferenceScales</ref> &amp;</type>
<declname>scales</declname>
</param>
<param>
<type>Quantity</type>
</param>
<briefdescription>
<para>Select a typed scale; temperature and other unrelated quantities require an explicit prescription. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/normalization/scales.hpp" line="51" column="32" bodyfile="src/include/serif/solver/normalization/scales.hpp" bodystart="51" bodyend="114"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1_1normalization_1a42f566c3c71f2e32f0e59c75e965ddd0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type>std::expected&lt; double, std::string &gt;</type>
<definition>std::expected&lt; double, std::string &gt; serif::solver::normalization::make_riesz_factor</definition>
<argsstring>(Kind kind, double metric, double physical_scale)</argsstring>
<name>make_riesz_factor</name>
<qualifiedname>serif::solver::normalization::make_riesz_factor</qualifiedname>
<param>
<type>Kind</type>
<declname>kind</declname>
</param>
<param>
<type>double</type>
<declname>metric</declname>
</param>
<param>
<type>double</type>
<declname>physical_scale</declname>
</param>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/lib/serif/solver/normalization/riesz_factors.cpp" line="63" column="19" bodyfile="src/lib/serif/solver/normalization/riesz_factors.cpp" bodystart="63" bodyend="71"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1_1normalization_1aa7c88e620e5229286c5fbc3ac824e9fa" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<type>std::expected&lt; std::vector&lt; double &gt;, std::string &gt;</type>
<definition>std::expected&lt; std::vector&lt; double &gt;, std::string &gt; serif::solver::normalization::make_riesz_factors</definition>
<argsstring>(Kind kind, std::span&lt; const double &gt; metric, double physical_scale)</argsstring>
<name>make_riesz_factors</name>
<qualifiedname>serif::solver::normalization::make_riesz_factors</qualifiedname>
<param>
<type>Kind</type>
<declname>kind</declname>
</param>
<param>
<type>std::span&lt; const double &gt;</type>
<declname>metric</declname>
</param>
<param>
<type>double</type>
<declname>physical_scale</declname>
</param>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/lib/serif/solver/normalization/riesz_factors.cpp" line="73" column="19" bodyfile="src/lib/serif/solver/normalization/riesz_factors.cpp" bodystart="73" bodyend="92"/>
</memberdef>
</sectiondef>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<location file="src/compile_time_checks/serif/solver/normalization/dimensionless.cpp" line="5" column="1"/>
</compounddef>
</doxygen>