Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
241 lines
15 KiB
XML
241 lines
15 KiB
XML
<?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_1seed" kind="namespace" language="C++">
|
|
<compoundname>serif::solver::seed</compoundname>
|
|
<innerclass refid="structserif_1_1solver_1_1seed_1_1_fitted_radial_seed" prot="public">serif::solver::seed::FittedRadialSeed</innerclass>
|
|
<innerclass refid="structserif_1_1solver_1_1seed_1_1_polytrope_options" prot="public">serif::solver::seed::PolytropeOptions</innerclass>
|
|
<innerclass refid="structserif_1_1solver_1_1seed_1_1_radial_seed" prot="public">serif::solver::seed::RadialSeed</innerclass>
|
|
<innernamespace refid="namespaceserif_1_1solver_1_1seed_1_1backend">serif::solver::seed::backend</innernamespace>
|
|
<innernamespace refid="namespaceserif_1_1solver_1_1seed_1_1detail">serif::solver::seed::detail</innernamespace>
|
|
<sectiondef kind="func">
|
|
<memberdef kind="function" id="namespaceserif_1_1solver_1_1seed_1adf615d5f18c4ef4a615db8a060cac38d" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="yes" virt="non-virtual">
|
|
<type>auto</type>
|
|
<definition>auto serif::solver::seed::evaluate_radial_seed</definition>
|
|
<argsstring>(const RadialSeed &seed, dimensions::LengthValue radius)</argsstring>
|
|
<name>evaluate_radial_seed</name>
|
|
<qualifiedname>serif::solver::seed::evaluate_radial_seed</qualifiedname>
|
|
<param>
|
|
<type>const <ref refid="structserif_1_1solver_1_1seed_1_1_radial_seed" kindref="compound">RadialSeed</ref> &</type>
|
|
<declname>seed</declname>
|
|
</param>
|
|
<param>
|
|
<type><ref refid="namespaceserif_1_1dimensions_1ade7050a33c76500637710591c3b03246" kindref="member">dimensions::LengthValue</ref></type>
|
|
<declname>radius</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Evaluate the original equilibrium profile without changing its physical scaling. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/solver/seed/fitted.hpp" line="20" column="18" bodyfile="src/include/serif/solver/seed/fitted.hpp" bodystart="20" bodyend="22"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1solver_1_1seed_1a9d1acd1f3a21506a31ab9540cbfec102" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<type>std::expected< <ref refid="structserif_1_1solver_1_1seed_1_1_fitted_radial_seed" kindref="compound">FittedRadialSeed</ref>, std::string ></type>
|
|
<definition>std::expected< FittedRadialSeed, std::string > serif::solver::seed::fit_radial_seed</definition>
|
|
<argsstring>(const RadialSeed &seed, dimensions::LengthValue radius)</argsstring>
|
|
<name>fit_radial_seed</name>
|
|
<qualifiedname>serif::solver::seed::fit_radial_seed</qualifiedname>
|
|
<param>
|
|
<type>const <ref refid="structserif_1_1solver_1_1seed_1_1_radial_seed" kindref="compound">RadialSeed</ref> &</type>
|
|
<declname>seed</declname>
|
|
</param>
|
|
<param>
|
|
<type><ref refid="namespaceserif_1_1dimensions_1ade7050a33c76500637710591c3b03246" kindref="member">dimensions::LengthValue</ref></type>
|
|
<declname>radius</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Copy a radial seed onto another radius without changing its material thermodynamics. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
<para>Validate a regular source and own its explicit, thermodynamically unchanged radial stretch.</para>
|
|
<para><simplesect kind="note"><para>For stretch s, enclosed mass scales as s^3, potential as s^2, gravity as s and inertia as s^5. Omega becomes Omega_source/s^5, preserving the angular momentum inferred from the source guess. The original PhysicalScales remain intact; no equilibrium or target-constraint satisfaction is implied. </para>
|
|
</simplesect>
|
|
</para>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/lib/serif/solver/seed/fitted.cpp" line="7" column="19" bodyfile="src/lib/serif/solver/seed/fitted.cpp" bodystart="7" bodyend="46" declfile="src/include/serif/solver/seed/fitted.hpp" declline="30" declcolumn="20"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1solver_1_1seed_1a233ccba97a82cdac7f8e113bedddb76d" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<type>std::expected< <ref refid="structserif_1_1utils_1_1laneemden_1_1_physical_sample" kindref="compound">utils::laneemden::PhysicalSample</ref>, std::string ></type>
|
|
<definition>std::expected< utils::laneemden::PhysicalSample, std::string > serif::solver::seed::evaluate_radial_seed</definition>
|
|
<argsstring>(const FittedRadialSeed &seed, dimensions::LengthValue radius)</argsstring>
|
|
<name>evaluate_radial_seed</name>
|
|
<qualifiedname>serif::solver::seed::evaluate_radial_seed</qualifiedname>
|
|
<param>
|
|
<type>const <ref refid="structserif_1_1solver_1_1seed_1_1_fitted_radial_seed" kindref="compound">FittedRadialSeed</ref> &</type>
|
|
<declname>seed</declname>
|
|
</param>
|
|
<param>
|
|
<type><ref refid="namespaceserif_1_1dimensions_1ade7050a33c76500637710591c3b03246" kindref="member">dimensions::LengthValue</ref></type>
|
|
<declname>radius</declname>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Evaluate the fitted density and its consistent spherical gravity, retaining the source enthalpy. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
<para>Evaluate unchanged material fields with the gravity generated by their stretched density. </para>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/lib/serif/solver/seed/fitted.cpp" line="49" column="19" bodyfile="src/lib/serif/solver/seed/fitted.cpp" bodystart="49" bodyend="86" declfile="src/include/serif/solver/seed/fitted.hpp" declline="33" declcolumn="20"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1solver_1_1seed_1aac706265925348f5dcfa0d202a4d86bd" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<type>std::expected< <ref refid="structserif_1_1solver_1_1seed_1_1_radial_seed" kindref="compound">RadialSeed</ref>, std::string ></type>
|
|
<definition>std::expected< RadialSeed, std::string > serif::solver::seed::make_polytropic_seed</definition>
|
|
<argsstring>(const eos::models::Polytrope &equation_of_state, dimensions::MassValue mass, PolytropeOptions options={})</argsstring>
|
|
<name>make_polytropic_seed</name>
|
|
<qualifiedname>serif::solver::seed::make_polytropic_seed</qualifiedname>
|
|
<param>
|
|
<type>const <ref refid="classserif_1_1eos_1_1models_1_1_polytrope" kindref="compound">eos::models::Polytrope</ref> &</type>
|
|
<declname>equation_of_state</declname>
|
|
</param>
|
|
<param>
|
|
<type><ref refid="namespaceserif_1_1dimensions_1a66499323cee57a1033e7b203a9198c24" kindref="member">dimensions::MassValue</ref></type>
|
|
<declname>mass</declname>
|
|
</param>
|
|
<param>
|
|
<type><ref refid="structserif_1_1solver_1_1seed_1_1_polytrope_options" kindref="compound">PolytropeOptions</ref></type>
|
|
<declname>options</declname>
|
|
<defval>{}</defval>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Fix the EOS K and requested mass, solving for central density when n differs from three. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
<para><simplesect kind="note"><para>At n=3 mass does not determine central density: supply that homology scale explicitly. An explicit density specifies the initial guess only; its mass need not satisfy the final constraint. </para>
|
|
</simplesect>
|
|
</para>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/lib/serif/solver/seed/polytrope.cpp" line="8" column="19" bodyfile="src/lib/serif/solver/seed/polytrope.cpp" bodystart="8" bodyend="59" declfile="src/include/serif/solver/seed/polytrope.hpp" declline="37" declcolumn="20"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1solver_1_1seed_1afc8ecb12cb1fecdfff282c3f32f319ba" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>model::StellarModelType</type>
|
|
<declname>Model</declname>
|
|
<defname>Model</defname>
|
|
</param>
|
|
</templateparamlist>
|
|
<type>contains_specification< <ref refid="classserif_1_1model_1_1_fixed_total_mass" kindref="compound">model::FixedTotalMass</ref> > std::expected< <ref refid="structserif_1_1solver_1_1seed_1_1_radial_seed" kindref="compound">RadialSeed</ref>, std::string ></type>
|
|
<definition>contains_specification< model::FixedTotalMass > std::expected< RadialSeed, std::string > serif::solver::seed::make_polytropic_seed</definition>
|
|
<argsstring>(const Model &model, PolytropeOptions options={})</argsstring>
|
|
<name>make_polytropic_seed</name>
|
|
<qualifiedname>serif::solver::seed::make_polytropic_seed</qualifiedname>
|
|
<param>
|
|
<type>const Model &</type>
|
|
<declname>model</declname>
|
|
</param>
|
|
<param>
|
|
<type><ref refid="structserif_1_1solver_1_1seed_1_1_polytrope_options" kindref="compound">PolytropeOptions</ref></type>
|
|
<declname>options</declname>
|
|
<defval>{}</defval>
|
|
</param>
|
|
<requiresclause>Model::template </requiresclause>
|
|
<briefdescription>
|
|
<para>Read the authoritative EOS, mass and optional rotation prescription from a model. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/solver/seed/polytrope.hpp" line="43" column="20" bodyfile="src/include/serif/solver/seed/polytrope.hpp" bodystart="43" bodyend="53"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1solver_1_1seed_1ace50a90a69f7c31c7af73939977821b6" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>model::StellarModelType</type>
|
|
<declname>Model</declname>
|
|
<defname>Model</defname>
|
|
</param>
|
|
<param>
|
|
<type>typename Discretization</type>
|
|
</param>
|
|
<param>
|
|
<type>typename Profile</type>
|
|
</param>
|
|
</templateparamlist>
|
|
<type>auto</type>
|
|
<definition>auto serif::solver::seed::backend::mfem::make_polytropic_state</definition>
|
|
<argsstring>(const Model &model, const Discretization &discretization, const Profile &seed, const ProjectionOptions options={})</argsstring>
|
|
<name>make_polytropic_state</name>
|
|
<qualifiedname>serif::solver::seed::make_polytropic_state</qualifiedname>
|
|
<param>
|
|
<type>const Model &</type>
|
|
<declname>model</declname>
|
|
</param>
|
|
<param>
|
|
<type>const Discretization &</type>
|
|
<declname>discretization</declname>
|
|
</param>
|
|
<param>
|
|
<type>const Profile &</type>
|
|
<declname>seed</declname>
|
|
</param>
|
|
<param>
|
|
<type>const ProjectionOptions</type>
|
|
<declname>options</declname>
|
|
<defval>{}</defval>
|
|
</param>
|
|
<requiresclause>(std::same_as<Profile, RadialSeed> || std::same_as<Profile, FittedRadialSeed>) && requires(const Model& model, const Discretization& discretization) { requires (!std::same_as<typename std::remove_cvref_t<decltype(model::resolve_equilibrium_equations(model))>::ShapeForce, model::NoShapeForce>); discretization.deformation.model.surface; discretization.deformation.reference; } </requiresclause>
|
|
<briefdescription>
|
|
<para>Project a spherical guess into a moving model's named physical coordinates on its undeformed reference mesh. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
<para><simplesect kind="note"><para>Choose a spherical reference mesh close to the seed radius, or explicitly fit the initial guess first. Shape starts at zero; the scalar formulation's surface level starts at -GM/R. The selected zero-pressure polytropic field trace is enforced exactly. It does not change the EOS, fit the mesh, or certify a discrete equilibrium. The vacuum limits assume radial compactification, as used by the stellar Kelvin map. </para>
|
|
</simplesect>
|
|
</para>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/solver/seed/state.hpp" line="7" column="5" bodyfile="src/include/serif/backend/mfem/solver/seed/state.hpp" bodystart="37" bodyend="136"/>
|
|
</memberdef>
|
|
<memberdef kind="function" id="namespaceserif_1_1solver_1_1seed_1a440ac630a394e31f451886dbfc61e46e" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
|
|
<templateparamlist>
|
|
<param>
|
|
<type>typename Discretization</type>
|
|
</param>
|
|
</templateparamlist>
|
|
<type>std::expected< <ref refid="structserif_1_1solver_1_1seed_1_1_fitted_radial_seed" kindref="compound">FittedRadialSeed</ref>, std::string ></type>
|
|
<definition>std::expected< FittedRadialSeed, std::string > serif::solver::seed::backend::mfem::fit_radial_seed</definition>
|
|
<argsstring>(const Discretization &discretization, const RadialSeed &seed, double spherical_relative_tolerance=5.0e-4)</argsstring>
|
|
<name>fit_radial_seed</name>
|
|
<qualifiedname>serif::solver::seed::fit_radial_seed</qualifiedname>
|
|
<param>
|
|
<type>const Discretization &</type>
|
|
<declname>discretization</declname>
|
|
</param>
|
|
<param>
|
|
<type>const <ref refid="structserif_1_1solver_1_1seed_1_1_radial_seed" kindref="compound">RadialSeed</ref> &</type>
|
|
<declname>seed</declname>
|
|
</param>
|
|
<param>
|
|
<type>double</type>
|
|
<declname>spherical_relative_tolerance</declname>
|
|
<defval>5.0e-4</defval>
|
|
</param>
|
|
<briefdescription>
|
|
<para>Fit only an initial radial guess to the selected spherical reference surface. </para>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
<para><simplesect kind="note"><para>Surface radius is the midpoint of its selected FE-coordinate extrema, as in MeanField. The original seed, reference mesh, EOS and target constraints are never modified. </para>
|
|
</simplesect>
|
|
</para>
|
|
</detaileddescription>
|
|
<inbodydescription>
|
|
</inbodydescription>
|
|
<location file="src/include/serif/solver/seed/state.hpp" line="8" column="5" bodyfile="src/include/serif/backend/mfem/solver/seed/fitted.hpp" bodystart="38" bodyend="62"/>
|
|
</memberdef>
|
|
</sectiondef>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<location file="src/include/serif/backend/mfem/solver/seed/fitted.hpp" line="11" column="1"/>
|
|
</compounddef>
|
|
</doxygen>
|