Files
MeanField_SERiF/docs/xml/namespaceserif_1_1model.xml

1072 lines
60 KiB
XML
Raw 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_1model" kind="namespace" language="C++">
<compoundname>serif::model</compoundname>
<innerclass refid="structserif_1_1model_1_1_constraint_of" prot="public">serif::model::ConstraintOf</innerclass>
<innerclass refid="structserif_1_1model_1_1_discretization_options" prot="public">serif::model::DiscretizationOptions</innerclass>
<innerclass refid="structserif_1_1model_1_1_enforcement_of" prot="public">serif::model::EnforcementOf</innerclass>
<innerclass refid="classserif_1_1model_1_1_eos_reference" prot="public">serif::model::EosReference</innerclass>
<innerclass refid="structserif_1_1model_1_1_equilibrium_equations" prot="public">serif::model::EquilibriumEquations</innerclass>
<innerclass refid="structserif_1_1model_1_1_equilibrium_plan" prot="public">serif::model::EquilibriumPlan</innerclass>
<innerclass refid="classserif_1_1model_1_1_fixed_angular_momentum" prot="public">serif::model::FixedAngularMomentum</innerclass>
<innerclass refid="classserif_1_1model_1_1_fixed_total_mass" prot="public">serif::model::FixedTotalMass</innerclass>
<innerclass refid="structserif_1_1model_1_1_generated_coordinate_of" prot="public">serif::model::GeneratedCoordinateOf</innerclass>
<innerclass refid="structserif_1_1model_1_1_model_plan" prot="public">serif::model::ModelPlan</innerclass>
<innerclass refid="structserif_1_1model_1_1_no_shape_force" prot="public">serif::model::NoShapeForce</innerclass>
<innerclass refid="structserif_1_1model_1_1_no_surface_condition" prot="public">serif::model::NoSurfaceCondition</innerclass>
<innerclass refid="structserif_1_1model_1_1_scalar_constraint" prot="public">serif::model::ScalarConstraint</innerclass>
<innerclass refid="structserif_1_1model_1_1_specification_definition" prot="public">serif::model::SpecificationDefinition</innerclass>
<innerclass refid="structserif_1_1model_1_1_specification_descriptor" prot="public">serif::model::SpecificationDescriptor</innerclass>
<innerclass refid="structserif_1_1model_1_1_stellar_mesh_options" prot="public">serif::model::StellarMeshOptions</innerclass>
<innerclass refid="classserif_1_1model_1_1_stellar_model" prot="public">serif::model::StellarModel</innerclass>
<innerclass refid="classserif_1_1model_1_1_stellar_model_3_01_equation_of_state_t_00_01_equation_definition_t_00_016d3cb5fe23fb2ea683d797d35ea27bae" prot="public">serif::model::StellarModel&lt; EquationOfStateT, EquationDefinitionT, utils::types::TypeList&lt; Specifications... &gt; &gt;</innerclass>
<innerclass refid="structserif_1_1model_1_1_stellar_state" prot="public">serif::model::StellarState</innerclass>
<innerclass refid="structserif_1_1model_1_1_stellar_surface_refinement_options" prot="public">serif::model::StellarSurfaceRefinementOptions</innerclass>
<innernamespace refid="namespaceserif_1_1model_1_1backend">serif::model::backend</innernamespace>
<innernamespace refid="namespaceserif_1_1model_1_1checks">serif::model::checks</innernamespace>
<innernamespace refid="namespaceserif_1_1model_1_1computations">serif::model::computations</innernamespace>
<innernamespace refid="namespaceserif_1_1model_1_1detail">serif::model::detail</innernamespace>
<innernamespace refid="namespaceserif_1_1model_1_1equation">serif::model::equation</innernamespace>
<innernamespace refid="namespaceserif_1_1model_1_1keys">serif::model::keys</innernamespace>
<innernamespace refid="namespaceserif_1_1model_1_1normalization">serif::model::normalization</innernamespace>
<innernamespace refid="namespaceserif_1_1model_1_1preconditioning">serif::model::preconditioning</innernamespace>
<innernamespace refid="namespaceserif_1_1model_1_1state">serif::model::state</innernamespace>
<sectiondef kind="enum">
<memberdef kind="enum" id="namespaceserif_1_1model_1a80cb843c4b97c06905b775aba9d4b813" prot="public" static="no" strong="yes">
<type></type>
<name>SpecificationRole</name>
<qualifiedname>serif::model::SpecificationRole</qualifiedname>
<enumvalue id="namespaceserif_1_1model_1a80cb843c4b97c06905b775aba9d4b813a7832eb62b9d5da114fbd828501794b90" prot="public">
<name>constitutive_law</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1model_1a80cb843c4b97c06905b775aba9d4b813a8360be627354dd5a66ea7e358d0109a4" prot="public">
<name>boundary_condition</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1model_1a80cb843c4b97c06905b775aba9d4b813a97a1fb4792ab0d80857d825020ced2f0" prot="public">
<name>invariant</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1model_1a80cb843c4b97c06905b775aba9d4b813ab55fad3fe78d06b3d481aef2500c784b" prot="public">
<name>phase_condition</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1model_1a80cb843c4b97c06905b775aba9d4b813a49d377e11d9c996137d2ef9ca80a1482" prot="public">
<name>gauge_choice</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1model_1a80cb843c4b97c06905b775aba9d4b813ae7aa3fcb6ca31a1a1fa583a6e4a98c30" prot="public">
<name>rotation_law</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<briefdescription>
<para>Physical purpose of a prescription, independently of its numerical implementation. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/specification.hpp" line="16" column="5" bodyfile="src/include/serif/model/specification.hpp" bodystart="17" bodyend="19"/>
</memberdef>
<memberdef kind="enum" id="namespaceserif_1_1model_1a9dbd561b48b9cbb817a4102517d065ca" prot="public" static="no" strong="yes">
<type></type>
<name>GeneratedStateKind</name>
<qualifiedname>serif::model::GeneratedStateKind</qualifiedname>
<enumvalue id="namespaceserif_1_1model_1a9dbd561b48b9cbb817a4102517d065caa334c4a4c42fdb79d7ebc3e73b517e6f8" prot="public">
<name>none</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1model_1a9dbd561b48b9cbb817a4102517d065caa2375dfa839ccd84978745547605b21e4" prot="public">
<name>multiplier</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1model_1a9dbd561b48b9cbb817a4102517d065caa5b029370da350a18e571dffd4b78ae47" prot="public">
<name>physical_coordinate</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1model_1a9dbd561b48b9cbb817a4102517d065caa2fadfbbb30ccd79bbdcae01edd52f2b5" prot="public">
<name>solver_border</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<briefdescription>
<para>Distinguish prescribed physics from the physical meaning of a generated scalar. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/specification.hpp" line="22" column="5" bodyfile="src/include/serif/model/specification.hpp" bodystart="23" bodyend="25"/>
</memberdef>
</sectiondef>
<sectiondef kind="typedef">
<memberdef kind="typedef" id="namespaceserif_1_1model_1a1a9e18895b6021d27952932da09eb71b" prot="public" static="no">
<templateparamlist>
<param>
<type>ExecutableEquilibriumDescription</type>
<declname>Description</declname>
<defname>Description</defname>
</param>
<param>
<type>typename Plan</type>
</param>
</templateparamlist>
<type>typename <ref refid="structserif_1_1model_1_1detail_1_1_equilibrium_couplings" kindref="compound">detail::EquilibriumCouplings</ref>&lt; Description, <ref refid="structserif_1_1model_1_1detail_1_1_execution_surface" kindref="compound">detail::ExecutionSurface</ref>&lt; Plan &gt; &gt;::Type</type>
<definition>using serif::model::ActualEquilibriumCouplings = typename detail::EquilibriumCouplings&lt;Description, detail::ExecutionSurface&lt;Plan&gt;&gt;::Type</definition>
<argsstring></argsstring>
<name>ActualEquilibriumCouplings</name>
<qualifiedname>serif::model::ActualEquilibriumCouplings</qualifiedname>
<briefdescription>
<para>Inspect the actual derivative producers admitted by the explicitly supplied physical formulation. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/execution_validation.hpp" line="102" column="5" bodyfile="src/include/serif/model/execution_validation.hpp" bodystart="102" bodyend="-1"/>
</memberdef>
<memberdef kind="typedef" id="namespaceserif_1_1model_1a251ff98f4ef742b690180c7cb06292bb" prot="public" static="no">
<templateparamlist>
<param>
<type>typename...</type>
<declname>Fields</declname>
<defname>Fields</defname>
</param>
</templateparamlist>
<type><ref refid="structserif_1_1utils_1_1types_1_1_type_list" kindref="compound">utils::types::TypeList</ref>&lt; Fields... &gt;</type>
<definition>using serif::model::Reads = utils::types::TypeList&lt;Fields...&gt;</definition>
<argsstring></argsstring>
<name>Reads</name>
<qualifiedname>serif::model::Reads</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/specification.hpp" line="43" column="5" bodyfile="src/include/serif/model/specification.hpp" bodystart="43" bodyend="-1"/>
</memberdef>
<memberdef kind="typedef" id="namespaceserif_1_1model_1a5cbe5c0513a11299350110cee5d31821" prot="public" static="no">
<templateparamlist>
<param>
<type>typename...</type>
<declname>Equations</declname>
<defname>Equations</defname>
</param>
</templateparamlist>
<type><ref refid="structserif_1_1utils_1_1types_1_1_type_list" kindref="compound">utils::types::TypeList</ref>&lt; Equations... &gt;</type>
<definition>using serif::model::Changes = utils::types::TypeList&lt;Equations...&gt;</definition>
<argsstring></argsstring>
<name>Changes</name>
<qualifiedname>serif::model::Changes</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/specification.hpp" line="46" column="5" bodyfile="src/include/serif/model/specification.hpp" bodystart="46" bodyend="-1"/>
</memberdef>
<memberdef kind="typedef" id="namespaceserif_1_1model_1ac7544ec47f3986209861b7fb0b6ae4bf" prot="public" static="no">
<templateparamlist>
<param>
<type>DimensionalScalarSpecification</type>
<declname>Specification</declname>
<defname>Specification</defname>
</param>
</templateparamlist>
<type>typename Specification::ModelDefinition::ScalarDescription::CoordinateQuantity</type>
<definition>using serif::model::GeneratedCoordinateQuantity = typename Specification::ModelDefinition::ScalarDescription::CoordinateQuantity</definition>
<argsstring></argsstring>
<name>GeneratedCoordinateQuantity</name>
<qualifiedname>serif::model::GeneratedCoordinateQuantity</qualifiedname>
<briefdescription>
<para>Query scalar units only once the owning prescription is complete. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/specification.hpp" line="142" column="5" bodyfile="src/include/serif/model/specification.hpp" bodystart="142" bodyend="-1"/>
</memberdef>
<memberdef kind="typedef" id="namespaceserif_1_1model_1a36d5c59d89fffbd444ee44415f85bbed" prot="public" static="no">
<templateparamlist>
<param>
<type>DimensionalScalarSpecification</type>
<declname>Specification</declname>
<defname>Specification</defname>
</param>
</templateparamlist>
<type>typename Specification::ModelDefinition::ScalarDescription::ResidualQuantity</type>
<definition>using serif::model::ConstraintQuantity = typename Specification::ModelDefinition::ScalarDescription::ResidualQuantity</definition>
<argsstring></argsstring>
<name>ConstraintQuantity</name>
<qualifiedname>serif::model::ConstraintQuantity</qualifiedname>
<briefdescription>
<para>Residual units remain independent from the target and generated coordinate. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/specification.hpp" line="146" column="5" bodyfile="src/include/serif/model/specification.hpp" bodystart="146" bodyend="-1"/>
</memberdef>
<memberdef kind="typedef" id="namespaceserif_1_1model_1aeb8535e8d8e5b2b39d913f12b149a2b3" prot="public" static="no">
<templateparamlist>
<param>
<type>SpecificationRole</type>
<declname>Role</declname>
<defname>Role</defname>
</param>
<param>
<type>StellarModelType</type>
<declname>Candidate</declname>
<defname>Candidate</defname>
</param>
</templateparamlist>
<type>typename std::remove_cvref_t&lt; Candidate &gt;::template <ref refid="namespaceserif_1_1model_1aeb8535e8d8e5b2b39d913f12b149a2b3" kindref="member">SpecificationsForRole</ref>&lt; Role &gt;</type>
<definition>using serif::model::SpecificationsForRole = typename std::remove_cvref_t&lt;Candidate&gt;::template SpecificationsForRole&lt;Role&gt;</definition>
<argsstring></argsstring>
<name>SpecificationsForRole</name>
<qualifiedname>serif::model::SpecificationsForRole</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/stellar_model.hpp" line="185" column="5" bodyfile="src/include/serif/model/stellar_model.hpp" bodystart="185" bodyend="-1"/>
</memberdef>
<memberdef kind="typedef" id="namespaceserif_1_1model_1a95bbbd670343f9cd11939d21c5bf79ab" prot="public" static="no">
<templateparamlist>
<param>
<type>typename Row</type>
</param>
<param>
<type>typename Field</type>
</param>
</templateparamlist>
<type><ref refid="structserif_1_1operators_1_1_physical_block" kindref="compound">operators::PhysicalBlock</ref>&lt; <ref refid="structserif_1_1utils_1_1dependencies_1_1_key_list" kindref="compound">utils::dependencies::KeyList</ref>&lt; Row &gt;, <ref refid="structserif_1_1utils_1_1dependencies_1_1_key_list" kindref="compound">utils::dependencies::KeyList</ref>&lt; Field &gt; &gt;</type>
<definition>using serif::model::Derivative = operators::PhysicalBlock&lt;utils::dependencies::KeyList&lt;Row&gt;, utils::dependencies::KeyList&lt;Field&gt;&gt;</definition>
<argsstring></argsstring>
<name>Derivative</name>
<qualifiedname>serif::model::Derivative</qualifiedname>
<briefdescription>
<para>Name a physical derivative using the shared block-source key convention. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/validation.hpp" line="12" column="5" bodyfile="src/include/serif/model/validation.hpp" bodystart="12" bodyend="-1"/>
</memberdef>
<memberdef kind="typedef" id="namespaceserif_1_1model_1aa7c7c71dc1c2c0431623ac27c88bdb0b" prot="public" static="no">
<templateparamlist>
<param>
<type>utils::dependencies::IsBinding...</type>
<declname>Additional</declname>
<defname>Additional</defname>
</param>
</templateparamlist>
<type><ref refid="structserif_1_1utils_1_1dependencies_1_1_bindings" kindref="compound">utils::dependencies::Bindings</ref>&lt; <ref refid="structserif_1_1utils_1_1dependencies_1_1_binding" kindref="compound">utils::dependencies::Binding</ref>&lt; <ref refid="structserif_1_1model_1_1state_1_1_density" kindref="compound">state::Density</ref>, <ref refid="structserif_1_1discretization_1_1blocks_1_1density_1_1mass" kindref="compound">discretization::blocks::density::mass</ref> &gt;, <ref refid="structserif_1_1utils_1_1dependencies_1_1_binding" kindref="compound">utils::dependencies::Binding</ref>&lt; <ref refid="structserif_1_1model_1_1state_1_1_surface_shape" kindref="compound">state::SurfaceShape</ref>, <ref refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients" kindref="compound">discretization::blocks::surface_deformation::coefficients</ref> &gt;, <ref refid="structserif_1_1utils_1_1dependencies_1_1_binding" kindref="compound">utils::dependencies::Binding</ref>&lt; <ref refid="structserif_1_1model_1_1state_1_1_gravitational_potential" kindref="compound">state::GravitationalPotential</ref>, <ref refid="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential" kindref="compound">discretization::blocks::gravity::potential</ref> &gt;, <ref refid="structserif_1_1utils_1_1dependencies_1_1_binding" kindref="compound">utils::dependencies::Binding</ref>&lt; <ref refid="structserif_1_1model_1_1equation_1_1_poisson_balance" kindref="compound">equation::PoissonBalance</ref>, <ref refid="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential" kindref="compound">discretization::blocks::gravity::potential</ref> &gt;, <ref refid="structserif_1_1utils_1_1dependencies_1_1_binding" kindref="compound">utils::dependencies::Binding</ref>&lt; <ref refid="structserif_1_1model_1_1equation_1_1_surface_shape_balance" kindref="compound">equation::SurfaceShapeBalance</ref>, <ref refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1shape__equilibrium" kindref="compound">discretization::blocks::surface_deformation::shape_equilibrium</ref> &gt;, <ref refid="structserif_1_1utils_1_1dependencies_1_1_binding" kindref="compound">utils::dependencies::Binding</ref>&lt; <ref refid="structserif_1_1model_1_1equation_1_1_hydrostatic_balance" kindref="compound">equation::HydrostaticBalance</ref>, <ref refid="structserif_1_1discretization_1_1blocks_1_1density_1_1mass" kindref="compound">discretization::blocks::density::mass</ref> &gt;, <ref refid="structserif_1_1utils_1_1dependencies_1_1_binding" kindref="compound">utils::dependencies::Binding</ref>&lt; <ref refid="structserif_1_1model_1_1_generated_coordinate_of" kindref="compound">GeneratedCoordinateOf</ref>&lt; <ref refid="classserif_1_1model_1_1_fixed_total_mass" kindref="compound">FixedTotalMass</ref> &gt;, <ref refid="structserif_1_1discretization_1_1blocks_1_1barotropic__constant_1_1mass__normalization" kindref="compound">discretization::blocks::barotropic_constant::mass_normalization</ref> &gt;, <ref refid="structserif_1_1utils_1_1dependencies_1_1_binding" kindref="compound">utils::dependencies::Binding</ref>&lt; <ref refid="structserif_1_1model_1_1_constraint_of" kindref="compound">ConstraintOf</ref>&lt; <ref refid="classserif_1_1model_1_1_fixed_total_mass" kindref="compound">FixedTotalMass</ref> &gt;, <ref refid="structserif_1_1discretization_1_1blocks_1_1barotropic__constant_1_1mass__normalization" kindref="compound">discretization::blocks::barotropic_constant::mass_normalization</ref> &gt;, <ref refid="structserif_1_1utils_1_1dependencies_1_1_binding" kindref="compound">utils::dependencies::Binding</ref>&lt; <ref refid="structserif_1_1model_1_1_generated_coordinate_of" kindref="compound">GeneratedCoordinateOf</ref>&lt; <ref refid="classserif_1_1model_1_1_fixed_angular_momentum" kindref="compound">FixedAngularMomentum</ref> &gt;, <ref refid="structserif_1_1discretization_1_1blocks_1_1rotation_1_1angular__velocity" kindref="compound">discretization::blocks::rotation::angular_velocity</ref> &gt;, <ref refid="structserif_1_1uti
<definition>using serif::model::SpecificationBindings = utils::dependencies::Bindings&lt;
utils::dependencies::Binding&lt;state::Density, discretization::blocks::density::mass&gt;,
utils::dependencies::Binding&lt;state::SurfaceShape, discretization::blocks::surface_deformation::coefficients&gt;,
utils::dependencies::Binding&lt;state::GravitationalPotential, discretization::blocks::gravity::potential&gt;,
utils::dependencies::Binding&lt;equation::PoissonBalance, discretization::blocks::gravity::potential&gt;,
utils::dependencies::Binding&lt;equation::SurfaceShapeBalance, discretization::blocks::surface_deformation::shape_equilibrium&gt;,
utils::dependencies::Binding&lt;equation::HydrostaticBalance, discretization::blocks::density::mass&gt;,
utils::dependencies::Binding&lt;GeneratedCoordinateOf&lt;FixedTotalMass&gt;, discretization::blocks::barotropic_constant::mass_normalization&gt;,
utils::dependencies::Binding&lt;ConstraintOf&lt;FixedTotalMass&gt;, discretization::blocks::barotropic_constant::mass_normalization&gt;,
utils::dependencies::Binding&lt;GeneratedCoordinateOf&lt;FixedAngularMomentum&gt;, discretization::blocks::rotation::angular_velocity&gt;,
utils::dependencies::Binding&lt;ConstraintOf&lt;FixedAngularMomentum&gt;, discretization::blocks::rotation::angular_velocity&gt;, Additional...&gt;</definition>
<argsstring></argsstring>
<name>SpecificationBindings</name>
<qualifiedname>serif::model::SpecificationBindings</qualifiedname>
<briefdescription>
<para>Map physical names and built-in generated identities once; custom identities require explicit bindings. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/validation.hpp" line="16" column="5" bodyfile="src/include/serif/model/validation.hpp" bodystart="16" bodyend="-1"/>
</memberdef>
<memberdef kind="typedef" id="namespaceserif_1_1model_1adae046e777aafb66e79a039911580916" prot="public" static="no">
<type><ref refid="namespaceserif_1_1model_1aa7c7c71dc1c2c0431623ac27c88bdb0b" kindref="member">SpecificationBindings</ref>&lt;&gt;</type>
<definition>using serif::model::DefaultSpecificationBindings = SpecificationBindings&lt;&gt;</definition>
<argsstring></argsstring>
<name>DefaultSpecificationBindings</name>
<qualifiedname>serif::model::DefaultSpecificationBindings</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/validation.hpp" line="28" column="5" bodyfile="src/include/serif/model/validation.hpp" bodystart="28" bodyend="-1"/>
</memberdef>
<memberdef kind="typedef" id="namespaceserif_1_1model_1a5d147fdea58527d7b5ee14302ab8cd57" prot="public" static="no">
<templateparamlist>
<param>
<type>ExecutableInteriorEquations</type>
<declname>Registry</declname>
<defname>Registry</defname>
</param>
</templateparamlist>
<type>typename <ref refid="structserif_1_1model_1_1detail_1_1_interior_couplings" kindref="compound">detail::InteriorCouplings</ref>&lt; std::remove_cvref_t&lt; Registry &gt; &gt;::Type</type>
<definition>using serif::model::DeclaredEquationCouplings = typename detail::InteriorCouplings&lt;std::remove_cvref_t&lt;Registry&gt;&gt;::Type</definition>
<argsstring></argsstring>
<name>DeclaredEquationCouplings</name>
<qualifiedname>serif::model::DeclaredEquationCouplings</qualifiedname>
<briefdescription>
<para>Derive declared interior couplings from actual operands rather than a second physical sparsity table. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/validation.hpp" line="117" column="5" bodyfile="src/include/serif/model/validation.hpp" bodystart="117" bodyend="-1"/>
</memberdef>
</sectiondef>
<sectiondef kind="var">
<memberdef kind="variable" id="namespaceserif_1_1model_1a80f6f9e6dee6acbd57d0d4bd1116c9f2" prot="public" static="no" constexpr="yes" mutable="no">
<templateparamlist>
<param>
<type>SpecificationRole</type>
<declname>Role</declname>
<defname>Role</defname>
</param>
<param>
<type>typename Candidate</type>
</param>
</templateparamlist>
<type>std::size_t</type>
<definition>std::size_t serif::model::specification_role_count</definition>
<argsstring></argsstring>
<name>specification_role_count</name>
<qualifiedname>serif::model::specification_role_count</qualifiedname>
<initializer>= []
{
if constexpr (StellarModelType&lt;Candidate&gt;)
{
return std::remove_cvref_t&lt;Candidate&gt;::template specification_role_count&lt;Role&gt;;
}
else
{
return std::size_t{0};
}
}()</initializer>
<briefdescription>
<para>Inspect role counts without instantiating invalid model specializations. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/stellar_model.hpp" line="169" column="34" bodyfile="src/include/serif/model/stellar_model.hpp" bodystart="169" bodyend="179"/>
</memberdef>
</sectiondef>
<sectiondef kind="func">
<memberdef kind="function" id="namespaceserif_1_1model_1a818040e7235375f50650868a1fec3ae6" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>ExecutableInteriorEquations</type>
<declname>Registry</declname>
<defname>Registry</defname>
</param>
<param>
<type>typename Discretization</type>
</param>
<param>
<type>discretization::blocks::SystemLayoutType</type>
<declname>Layout</declname>
<defname>Layout</defname>
</param>
<param>
<type>typename...</type>
<declname>AdditionalComputations</declname>
<defname>AdditionalComputations</defname>
</param>
<param>
<type>typename...</type>
<declname>AdditionalContributions</declname>
<defname>AdditionalContributions</defname>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::make_model_graph</definition>
<argsstring>(std::shared_ptr&lt; const Registry &gt; registry, std::shared_ptr&lt; const Discretization &gt; discretization, const Layout &amp;layout, std::tuple&lt; AdditionalComputations... &gt; additional={}, utils::dependencies::KeyList&lt; AdditionalContributions... &gt; contributions={}, operators::backend::mfem::VolumeOptions options={})</argsstring>
<name>make_model_graph</name>
<qualifiedname>serif::model::make_model_graph</qualifiedname>
<param>
<type>std::shared_ptr&lt; const Registry &gt;</type>
<declname>registry</declname>
</param>
<param>
<type>std::shared_ptr&lt; const Discretization &gt;</type>
<declname>discretization</declname>
</param>
<param>
<type>const Layout &amp;</type>
<declname>layout</declname>
</param>
<param>
<type>std::tuple&lt; AdditionalComputations... &gt;</type>
<declname>additional</declname>
<defval>{}</defval>
</param>
<param>
<type><ref refid="structserif_1_1utils_1_1dependencies_1_1_key_list" kindref="compound">utils::dependencies::KeyList</ref>&lt; AdditionalContributions... &gt;</type>
<declname>contributions</declname>
<defval>{}</defval>
</param>
<param>
<type><ref refid="structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options" kindref="compound">operators::backend::mfem::VolumeOptions</ref></type>
<declname>options</declname>
<defval>{}</defval>
</param>
<briefdescription>
<para>Construct the complete stellar graph at one explicit composition point. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="note"><para>The registry is the authoritative equation list. Additional declarations supply deformation, boundary treatment, constraints, normalization or inverses; only named contribution results modify the physical system. Dependency preparation schedules the work and publishes complete results. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/backend/mfem/model/graph.hpp" line="76" column="11" bodyfile="src/include/serif/backend/mfem/model/graph.hpp" bodystart="76" bodyend="89"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1a085910a172d862a4116162850b0222c5" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>ExecutableInteriorEquations</type>
<declname>Registry</declname>
<defname>Registry</defname>
</param>
<param>
<type>typename Discretization</type>
</param>
<param>
<type>discretization::blocks::SystemLayoutType</type>
<declname>Layout</declname>
<defname>Layout</defname>
</param>
<param>
<type>typename...</type>
<declname>AdditionalComputations</declname>
<defname>AdditionalComputations</defname>
</param>
<param>
<type>typename...</type>
<declname>AdditionalContributions</declname>
<defname>AdditionalContributions</defname>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::make_model_graph</definition>
<argsstring>(Registry registry, std::shared_ptr&lt; const Discretization &gt; discretization, const Layout &amp;layout, std::tuple&lt; AdditionalComputations... &gt; additional={}, utils::dependencies::KeyList&lt; AdditionalContributions... &gt; contributions={}, operators::backend::mfem::VolumeOptions options={})</argsstring>
<name>make_model_graph</name>
<qualifiedname>serif::model::make_model_graph</qualifiedname>
<param>
<type>Registry</type>
<declname>registry</declname>
</param>
<param>
<type>std::shared_ptr&lt; const Discretization &gt;</type>
<declname>discretization</declname>
</param>
<param>
<type>const Layout &amp;</type>
<declname>layout</declname>
</param>
<param>
<type>std::tuple&lt; AdditionalComputations... &gt;</type>
<declname>additional</declname>
<defval>{}</defval>
</param>
<param>
<type><ref refid="structserif_1_1utils_1_1dependencies_1_1_key_list" kindref="compound">utils::dependencies::KeyList</ref>&lt; AdditionalContributions... &gt;</type>
<declname>contributions</declname>
<defval>{}</defval>
</param>
<param>
<type><ref refid="structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options" kindref="compound">operators::backend::mfem::VolumeOptions</ref></type>
<declname>options</declname>
<defval>{}</defval>
</param>
<briefdescription>
<para>Retain a standalone registry, including move-only equations supplied as an rvalue. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/backend/mfem/model/graph.hpp" line="94" column="11" bodyfile="src/include/serif/backend/mfem/model/graph.hpp" bodystart="94" bodyend="98"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1a74e1efe91e9ad6f773134036585a39b6" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Bound</type>
</param>
<param>
<type>typename Layout</type>
</param>
<param>
<type>typename...</type>
<declname>NumericalComputations</declname>
<defname>NumericalComputations</defname>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::make_equilibrium_graph</definition>
<argsstring>(std::shared_ptr&lt; const Bound &gt; bound, const Layout &amp;layout, std::tuple&lt; NumericalComputations... &gt; numerical={}, operators::backend::mfem::VolumeOptions options={})</argsstring>
<name>make_equilibrium_graph</name>
<qualifiedname>serif::model::make_equilibrium_graph</qualifiedname>
<param>
<type>std::shared_ptr&lt; const Bound &gt;</type>
<declname>bound</declname>
</param>
<param>
<type>const Layout &amp;</type>
<declname>layout</declname>
</param>
<param>
<type>std::tuple&lt; NumericalComputations... &gt;</type>
<declname>numerical</declname>
<defval>{}</defval>
</param>
<param>
<type><ref refid="structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options" kindref="compound">operators::backend::mfem::VolumeOptions</ref></type>
<declname>options</declname>
<defval>{}</defval>
</param>
<briefdescription>
<para>Connect the explicit equilibrium definition in one readable place. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="note"><para>Interior physics, shape force and surface replacement remain separate declarations. The final physical-system computation collects additions before replacing rows. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/backend/mfem/model/graph.hpp" line="153" column="11" bodyfile="src/include/serif/backend/mfem/model/graph.hpp" bodystart="153" bodyend="173"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1a98c9e47b78a995adae698ca88a7e18fb" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>StellarModelType</type>
<declname>Model</declname>
<defname>Model</defname>
</param>
<param>
<type>typename FiniteElements</type>
</param>
<param>
<type>typename Normalization</type>
</param>
<param>
<type>typename Preconditioner</type>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::make_discretization</definition>
<argsstring>(DiscretizationOptions&lt; Model, FiniteElements, Normalization, Preconditioner &gt; options)</argsstring>
<name>make_discretization</name>
<qualifiedname>serif::model::make_discretization</qualifiedname>
<param>
<type><ref refid="structserif_1_1model_1_1_discretization_options" kindref="compound">DiscretizationOptions</ref>&lt; Model, FiniteElements, Normalization, Preconditioner &gt;</type>
<declname>options</declname>
</param>
<requiresclause>normalization::ReferenceResolvable&lt;Normalization, Model&gt; </requiresclause>
<briefdescription>
<para>Resolve model defaults while preserving compile-time field, scheme, and coordinate choices. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="note"><para>Finite-element resources remain explicit: normalization does not choose a mesh or approximation order. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/configured_discretization.hpp" line="28" column="11" bodyfile="src/include/serif/model/configured_discretization.hpp" bodystart="28" bodyend="34"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1a99f093b7cfc3526466056b87c8db0f33" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Model</type>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::share_equation_of_state</definition>
<argsstring>(std::shared_ptr&lt; const Model &gt; model)</argsstring>
<name>share_equation_of_state</name>
<qualifiedname>serif::model::share_equation_of_state</qualifiedname>
<param>
<type>std::shared_ptr&lt; const Model &gt;</type>
<declname>model</declname>
</param>
<briefdescription>
<para>Share the EOS subobject while retaining the model that owns it. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/eos_reference.hpp" line="76" column="11" bodyfile="src/include/serif/model/eos_reference.hpp" bodystart="76" bodyend="83"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1ae24dcbfc49419c2f0f500da702371bd5" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" noexcept="yes" virt="non-virtual">
<templateparamlist>
<param>
<type>typename EOS</type>
</param>
</templateparamlist>
<type><ref refid="classserif_1_1model_1_1_eos_reference" kindref="compound">EosReference</ref>&lt; EOS &gt;</type>
<definition>EosReference&lt; EOS &gt; serif::model::borrow_eos</definition>
<argsstring>(const EOS &amp;eos) noexcept</argsstring>
<name>borrow_eos</name>
<qualifiedname>serif::model::borrow_eos</qualifiedname>
<param>
<type>const EOS &amp;</type>
<declname>eos</declname>
</param>
<briefdescription>
<para>Borrow the model-owned EOS when the prepared graph already retains its immutable model owner. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/eos_reference.hpp" line="87" column="19" bodyfile="src/include/serif/model/eos_reference.hpp" bodystart="87" bodyend="90"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1a6252df8508dcd9bed7e242edae8133d5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename EOS</type>
</param>
</templateparamlist>
<type>void</type>
<definition>void serif::model::borrow_eos</definition>
<argsstring>(EOS &amp;&amp;)=delete</argsstring>
<name>borrow_eos</name>
<qualifiedname>serif::model::borrow_eos</qualifiedname>
<param>
<type>EOS &amp;&amp;</type>
</param>
<requiresclause>(!std::is_lvalue_reference_v&lt;EOS&gt;) </requiresclause>
<briefdescription>
<para>Borrowing never extends a temporary EOS lifetime. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/eos_reference.hpp" line="95" column="10" declfile="src/include/serif/model/eos_reference.hpp" declline="95" declcolumn="10"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1ae40b696afec46eacfa0e74ef448b46bb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Interior</type>
</param>
<param>
<type>typename Shape</type>
<defval>NoShapeForce</defval>
</param>
<param>
<type>typename Surface</type>
<defval>NoSurfaceCondition</defval>
</param>
</templateparamlist>
<type></type>
<definition>serif::model::EquilibriumEquations</definition>
<argsstring>(Interior, Shape={}, Surface={}) -&gt; EquilibriumEquations&lt; Interior, Shape, Surface &gt;</argsstring>
<name>EquilibriumEquations</name>
<qualifiedname>serif::model::EquilibriumEquations</qualifiedname>
<param>
<type>Interior</type>
</param>
<param>
<type>Shape</type>
<defval>{}</defval>
</param>
<param>
<type>Surface</type>
<defval>{}</defval>
</param>
<briefdescription>
<para>Preserve every authored member when a declaration passes through a templated model factory. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="note"><para>Explicit deduction avoids compiler substitution dropping defaulted aggregate members. Deduced declarations supply preceding slots: use <ref refid="structserif_1_1model_1_1_no_shape_force" kindref="compound">NoShapeForce</ref> before a surface condition when the shape force is absent. Explicitly typed aggregates may still skip members. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/equilibrium_equations.hpp" line="40" column="5" declfile="src/include/serif/model/equilibrium_equations.hpp" declline="40" declcolumn="5"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1aa55d6cc09e69d07412896dedcb71c5a5" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Model</type>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::resolve_equilibrium_equations</definition>
<argsstring>(const Model &amp;model)</argsstring>
<name>resolve_equilibrium_equations</name>
<qualifiedname>serif::model::resolve_equilibrium_equations</qualifiedname>
<param>
<type>const Model &amp;</type>
<declname>model</declname>
</param>
<requiresclause>requires(const Model&amp; model) { model.equations(); } &amp;&amp; EquilibriumEquationDescription&lt;decltype(detail::resolve_equation_member(std::declval&lt;const Model&amp;&gt;().equations(), std::declval&lt;const Model&amp;&gt;()))&gt; </requiresclause>
<briefdescription>
<para>Resolve an explicit composition at binding; retain the model while the result borrows its members. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/equilibrium_equations.hpp" line="92" column="11" bodyfile="src/include/serif/model/equilibrium_equations.hpp" bodystart="92" bodyend="95"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1af1e5714cfeffe321e29886eec5b93020" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Model</type>
</param>
</templateparamlist>
<type>void</type>
<definition>void serif::model::resolve_equilibrium_equations</definition>
<argsstring>(Model &amp;&amp;)=delete</argsstring>
<name>resolve_equilibrium_equations</name>
<qualifiedname>serif::model::resolve_equilibrium_equations</qualifiedname>
<param>
<type>Model &amp;&amp;</type>
</param>
<requiresclause>(!std::is_lvalue_reference_v&lt;Model&gt;) </requiresclause>
<briefdescription>
<para>A temporary model cannot retain the equation members borrowed by the resolved description. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/equilibrium_equations.hpp" line="100" column="10" declfile="src/include/serif/model/equilibrium_equations.hpp" declline="100" declcolumn="10"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1a85f2ca250e5b86d7c907d7db1428d852" prot="public" static="no" nodiscard="yes" consteval="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Model</type>
</param>
<param>
<type>typename Description</type>
</param>
<param>
<type>typename Plan</type>
</param>
<param>
<type>typename Bindings</type>
<defval>DefaultSpecificationBindings</defval>
</param>
<param>
<type>typename ExplicitZeroCouplings</type>
<defval>utils::dependencies::KeyList&lt;&gt;</defval>
</param>
</templateparamlist>
<type>bool</type>
<definition>bool serif::model::executable_model_topology</definition>
<argsstring>()</argsstring>
<name>executable_model_topology</name>
<qualifiedname>serif::model::executable_model_topology</qualifiedname>
<briefdescription>
<para>Validate a complete selected formulation without inferring solvability or selecting physics. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="note"><para>Closed equations define zero derivatives for other coordinates, but that fact cannot admit a missing custom multiplier force. ExplicitZeroCouplings is an explicit author registration, not a fallback. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/execution_validation.hpp" line="111" column="21" bodyfile="src/include/serif/model/execution_validation.hpp" bodystart="111" bodyend="143"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1abd39d351ddfb0d4d45fb44b868673416" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>discretization::blocks::SystemLayoutType</type>
<declname>Layout</declname>
<defname>Layout</defname>
</param>
</templateparamlist>
<type></type>
<definition>serif::model::StellarState</definition>
<argsstring>(Layout) -&gt; StellarState&lt; std::remove_cvref_t&lt; Layout &gt; &gt;</argsstring>
<name>StellarState</name>
<qualifiedname>serif::model::StellarState</qualifiedname>
<param>
<type>Layout</type>
</param>
<briefdescription>
<para>Infer a state&apos;s layout type from its physical coordinate description. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/state.hpp" line="74" column="5" declfile="src/include/serif/model/state.hpp" declline="74" declcolumn="5"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1ab2897a50326648ba69b6ab9fd3c3d27a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>discretization::blocks::SystemLayoutType</type>
<declname>Layout</declname>
<defname>Layout</defname>
</param>
</templateparamlist>
<type></type>
<definition>serif::model::StellarState</definition>
<argsstring>(Layout, std::vector&lt; double &gt;) -&gt; StellarState&lt; std::remove_cvref_t&lt; Layout &gt; &gt;</argsstring>
<name>StellarState</name>
<qualifiedname>serif::model::StellarState</qualifiedname>
<param>
<type>Layout</type>
</param>
<param>
<type>std::vector&lt; double &gt;</type>
</param>
<briefdescription>
<para>Infer a state&apos;s layout type when adopting physical coefficients. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/state.hpp" line="78" column="5" declfile="src/include/serif/model/state.hpp" declline="78" declcolumn="5"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1a5a15073437bd18ed5d356ee544b14447" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename EOS</type>
</param>
<param>
<type>typename Definition</type>
</param>
<param>
<type>typename...</type>
<declname>Specifications</declname>
<defname>Specifications</defname>
</param>
</templateparamlist>
<type></type>
<definition>serif::model::StellarModel</definition>
<argsstring>(EOS &amp;&amp;, Definition &amp;&amp;, Specifications &amp;&amp;...) -&gt; StellarModel&lt; std::remove_cvref_t&lt; EOS &gt;, std::remove_cvref_t&lt; Definition &gt;, typename detail::CanonicalSpecifications&lt; std::remove_cvref_t&lt; Specifications &gt;... &gt;::Type &gt;</argsstring>
<name>StellarModel</name>
<qualifiedname>serif::model::StellarModel</qualifiedname>
<param>
<type>EOS &amp;&amp;</type>
</param>
<param>
<type>Definition &amp;&amp;</type>
</param>
<param>
<type>Specifications &amp;&amp;</type>
<declname>...</declname>
</param>
<requiresclause>ValidSpecificationPack&lt;std::remove_cvref_t&lt;Specifications&gt;...&gt; </requiresclause>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/stellar_model.hpp" line="144" column="5" declfile="src/include/serif/model/stellar_model.hpp" declline="144" declcolumn="5"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1abd082b1964d28e91b8eb1da4ffdf22ee" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename EOS</type>
</param>
<param>
<type>typename Definition</type>
</param>
<param>
<type>typename...</type>
<declname>Specifications</declname>
<defname>Specifications</defname>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::make_stellar_model</definition>
<argsstring>(EOS &amp;&amp;eos, Definition &amp;&amp;definition, Specifications &amp;&amp;... specifications)</argsstring>
<name>make_stellar_model</name>
<qualifiedname>serif::model::make_stellar_model</qualifiedname>
<param>
<type>EOS &amp;&amp;</type>
<declname>eos</declname>
</param>
<param>
<type>Definition &amp;&amp;</type>
<declname>definition</declname>
</param>
<param>
<type>Specifications &amp;&amp;...</type>
<declname>specifications</declname>
</param>
<requiresclause>ValidSpecificationPack&lt;std::remove_cvref_t&lt;Specifications&gt;...&gt; </requiresclause>
<briefdescription>
<para>Construct a typed physical description with programmer-selected equations. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/stellar_model.hpp" line="149" column="11" bodyfile="src/include/serif/model/stellar_model.hpp" bodystart="149" bodyend="152"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1a5a76a53b06ed3a20062a609e61848840" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<type>void</type>
<definition>static void serif::model::validate_target</definition>
<argsstring>(double value, bool zero_allowed, std::string_view name)</argsstring>
<name>validate_target</name>
<qualifiedname>serif::model::validate_target</qualifiedname>
<param>
<type>double</type>
<declname>value</declname>
</param>
<param>
<type>bool</type>
<declname>zero_allowed</declname>
</param>
<param>
<type>std::string_view</type>
<declname>name</declname>
</param>
<briefdescription>
<para>Validate a dimensional scalar target before storing a physical prescription. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/lib/serif/model/specifications.cpp" line="12" column="17" bodyfile="src/lib/serif/model/specifications.cpp" bodystart="12" bodyend="17"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1ac5681e63c50dc5a136eaa699838cf332" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Owner</type>
</param>
<param>
<type>utils::dependencies::IsDependencyContext</type>
<declname>Bindings</declname>
<defname>Bindings</defname>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::backend::mfem::make_stellar_discretization</definition>
<argsstring>(std::shared_ptr&lt; Owner &gt; owner, Bindings bindings, const ::mfem::GridFunction &amp;compactification, const mapping::DomainMapper &amp;mapper)</argsstring>
<name>make_stellar_discretization</name>
<qualifiedname>serif::model::make_stellar_discretization</qualifiedname>
<param>
<type>std::shared_ptr&lt; Owner &gt;</type>
<declname>owner</declname>
</param>
<param>
<type>Bindings</type>
<declname>bindings</declname>
</param>
<param>
<type>const ::mfem::GridFunction &amp;</type>
<declname>compactification</declname>
</param>
<param>
<type>const <ref refid="classserif_1_1mapping_1_1_domain_mapper" kindref="compound">mapping::DomainMapper</ref> &amp;</type>
<declname>mapper</declname>
</param>
<briefdescription>
<para>Retain the supplied resource owner without copying finite-element spaces or changing their addresses. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/finite_elements.hpp" line="7" column="5" bodyfile="src/include/serif/backend/mfem/model/discretization.hpp" bodystart="64" bodyend="74"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1ade88a3e3fa00b425b3d93ad44b3bb604" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Owner</type>
</param>
<param>
<type>typename Bindings</type>
</param>
<param>
<type>typename DomainModel</type>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::backend::mfem::with_deformation</definition>
<argsstring>(StellarDiscretization&lt; Owner, Bindings &gt; discretization, DomainModel model, geometry::deformation::backend::mfem::ReferenceDiscretization reference)</argsstring>
<name>with_deformation</name>
<qualifiedname>serif::model::with_deformation</qualifiedname>
<param>
<type>StellarDiscretization&lt; Owner, Bindings &gt;</type>
<declname>discretization</declname>
</param>
<param>
<type>DomainModel</type>
<declname>model</declname>
</param>
<param>
<type><ref refid="structserif_1_1geometry_1_1deformation_1_1backend_1_1mfem_1_1_reference_discretization" kindref="compound">geometry::deformation::backend::mfem::ReferenceDiscretization</ref></type>
<declname>reference</declname>
</param>
<briefdescription>
<para>Add an explicit deformation prescription without changing the physical equation definition. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/model/finite_elements.hpp" line="8" column="5" bodyfile="src/include/serif/backend/mfem/model/discretization.hpp" bodystart="78" bodyend="86"/>
</memberdef>
</sectiondef>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<location file="src/compile_time_checks/serif/model/state.cpp" line="10" column="1"/>
</compounddef>
</doxygen>