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)
188 lines
14 KiB
XML
188 lines
14 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_1utils_1_1laneemden" kind="namespace" language="C++">
|
||
<compoundname>serif::utils::laneemden</compoundname>
|
||
<innerclass refid="structserif_1_1utils_1_1laneemden_1_1_integration_options" prot="public">serif::utils::laneemden::IntegrationOptions</innerclass>
|
||
<innerclass refid="structserif_1_1utils_1_1laneemden_1_1_physical_sample" prot="public">serif::utils::laneemden::PhysicalSample</innerclass>
|
||
<innerclass refid="structserif_1_1utils_1_1laneemden_1_1_physical_scales" prot="public">serif::utils::laneemden::PhysicalScales</innerclass>
|
||
<innerclass refid="structserif_1_1utils_1_1laneemden_1_1_sample" prot="public">serif::utils::laneemden::Sample</innerclass>
|
||
<innerclass refid="structserif_1_1utils_1_1laneemden_1_1_solution" prot="public">serif::utils::laneemden::Solution</innerclass>
|
||
<sectiondef kind="func">
|
||
<memberdef kind="function" id="namespaceserif_1_1utils_1_1laneemden_1a4c3ea7fb533fd5a9306e993593eb20fc" 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_scales" kindref="compound">PhysicalScales</ref>, std::string ></type>
|
||
<definition>std::expected< PhysicalScales, std::string > serif::utils::laneemden::scale_from_mass</definition>
|
||
<argsstring>(const Solution &solution, dimensions::QuantityValue< dimensions::Mass > mass, dimensions::QuantityValue< dimensions::MassDensity > central_density, dimensions::QuantityValue< dimensions::GravitationalConstant > gravitational_constant)</argsstring>
|
||
<name>scale_from_mass</name>
|
||
<qualifiedname>serif::utils::laneemden::scale_from_mass</qualifiedname>
|
||
<param>
|
||
<type>const <ref refid="structserif_1_1utils_1_1laneemden_1_1_solution" kindref="compound">Solution</ref> &</type>
|
||
<declname>solution</declname>
|
||
</param>
|
||
<param>
|
||
<type><ref refid="classserif_1_1dimensions_1_1_quantity_value" kindref="compound">dimensions::QuantityValue</ref>< <ref refid="structserif_1_1dimensions_1_1_mass" kindref="compound">dimensions::Mass</ref> ></type>
|
||
<declname>mass</declname>
|
||
</param>
|
||
<param>
|
||
<type><ref refid="classserif_1_1dimensions_1_1_quantity_value" kindref="compound">dimensions::QuantityValue</ref>< <ref refid="structserif_1_1dimensions_1_1_mass_density" kindref="compound">dimensions::MassDensity</ref> ></type>
|
||
<declname>central_density</declname>
|
||
</param>
|
||
<param>
|
||
<type><ref refid="classserif_1_1dimensions_1_1_quantity_value" kindref="compound">dimensions::QuantityValue</ref>< <ref refid="structserif_1_1dimensions_1_1_gravitational_constant" kindref="compound">dimensions::GravitationalConstant</ref> ></type>
|
||
<declname>gravitational_constant</declname>
|
||
</param>
|
||
<briefdescription>
|
||
<para>Fix a reference star by mass and central density; its implied K is an output, never a change to an EOS. </para>
|
||
</briefdescription>
|
||
<detaileddescription>
|
||
</detaileddescription>
|
||
<inbodydescription>
|
||
</inbodydescription>
|
||
<location file="src/lib/serif/utils/laneemden/scaling.cpp" line="54" column="19" bodyfile="src/lib/serif/utils/laneemden/scaling.cpp" bodystart="54" bodyend="66" declfile="src/include/serif/utils/laneemden/scaling.hpp" declline="35" declcolumn="20"/>
|
||
</memberdef>
|
||
<memberdef kind="function" id="namespaceserif_1_1utils_1_1laneemden_1ab57cad62436b0fcf5cb9df68347b196b" 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_scales" kindref="compound">PhysicalScales</ref>, std::string ></type>
|
||
<definition>std::expected< PhysicalScales, std::string > serif::utils::laneemden::scale_from_enthalpy</definition>
|
||
<argsstring>(const Solution &solution, dimensions::QuantityValue< dimensions::SpecificEnthalpy > central_enthalpy, dimensions::QuantityValue< dimensions::MassDensity > central_density, dimensions::QuantityValue< dimensions::GravitationalConstant > gravitational_constant)</argsstring>
|
||
<name>scale_from_enthalpy</name>
|
||
<qualifiedname>serif::utils::laneemden::scale_from_enthalpy</qualifiedname>
|
||
<param>
|
||
<type>const <ref refid="structserif_1_1utils_1_1laneemden_1_1_solution" kindref="compound">Solution</ref> &</type>
|
||
<declname>solution</declname>
|
||
</param>
|
||
<param>
|
||
<type><ref refid="classserif_1_1dimensions_1_1_quantity_value" kindref="compound">dimensions::QuantityValue</ref>< <ref refid="structserif_1_1dimensions_1_1_specific_enthalpy" kindref="compound">dimensions::SpecificEnthalpy</ref> ></type>
|
||
<declname>central_enthalpy</declname>
|
||
</param>
|
||
<param>
|
||
<type><ref refid="classserif_1_1dimensions_1_1_quantity_value" kindref="compound">dimensions::QuantityValue</ref>< <ref refid="structserif_1_1dimensions_1_1_mass_density" kindref="compound">dimensions::MassDensity</ref> ></type>
|
||
<declname>central_density</declname>
|
||
</param>
|
||
<param>
|
||
<type><ref refid="classserif_1_1dimensions_1_1_quantity_value" kindref="compound">dimensions::QuantityValue</ref>< <ref refid="structserif_1_1dimensions_1_1_gravitational_constant" kindref="compound">dimensions::GravitationalConstant</ref> ></type>
|
||
<declname>gravitational_constant</declname>
|
||
</param>
|
||
<briefdescription>
|
||
<para>Fix a physical star by central enthalpy and density, including the incompressible n = 0 limit. </para>
|
||
</briefdescription>
|
||
<detaileddescription>
|
||
</detaileddescription>
|
||
<inbodydescription>
|
||
</inbodydescription>
|
||
<location file="src/lib/serif/utils/laneemden/scaling.cpp" line="68" column="19" bodyfile="src/lib/serif/utils/laneemden/scaling.cpp" bodystart="68" bodyend="78" declfile="src/include/serif/utils/laneemden/scaling.hpp" declline="42" declcolumn="20"/>
|
||
</memberdef>
|
||
<memberdef kind="function" id="namespaceserif_1_1utils_1_1laneemden_1adf057a3c9420e9b4e92c20c89126d3fd" 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_scales" kindref="compound">PhysicalScales</ref>, std::string ></type>
|
||
<definition>std::expected< PhysicalScales, std::string > serif::utils::laneemden::scale_from_polytropic_constant</definition>
|
||
<argsstring>(const Solution &solution, double polytropic_constant, dimensions::QuantityValue< dimensions::MassDensity > central_density, dimensions::QuantityValue< dimensions::GravitationalConstant > gravitational_constant)</argsstring>
|
||
<name>scale_from_polytropic_constant</name>
|
||
<qualifiedname>serif::utils::laneemden::scale_from_polytropic_constant</qualifiedname>
|
||
<param>
|
||
<type>const <ref refid="structserif_1_1utils_1_1laneemden_1_1_solution" kindref="compound">Solution</ref> &</type>
|
||
<declname>solution</declname>
|
||
</param>
|
||
<param>
|
||
<type>double</type>
|
||
<declname>polytropic_constant</declname>
|
||
</param>
|
||
<param>
|
||
<type><ref refid="classserif_1_1dimensions_1_1_quantity_value" kindref="compound">dimensions::QuantityValue</ref>< <ref refid="structserif_1_1dimensions_1_1_mass_density" kindref="compound">dimensions::MassDensity</ref> ></type>
|
||
<declname>central_density</declname>
|
||
</param>
|
||
<param>
|
||
<type><ref refid="classserif_1_1dimensions_1_1_quantity_value" kindref="compound">dimensions::QuantityValue</ref>< <ref refid="structserif_1_1dimensions_1_1_gravitational_constant" kindref="compound">dimensions::GravitationalConstant</ref> ></type>
|
||
<declname>gravitational_constant</declname>
|
||
</param>
|
||
<briefdescription>
|
||
<para>Fix a polytropic EOS through its K and central density; n must be strictly positive. </para>
|
||
</briefdescription>
|
||
<detaileddescription>
|
||
</detaileddescription>
|
||
<inbodydescription>
|
||
</inbodydescription>
|
||
<location file="src/lib/serif/utils/laneemden/scaling.cpp" line="80" column="19" bodyfile="src/lib/serif/utils/laneemden/scaling.cpp" bodystart="80" bodyend="94" declfile="src/include/serif/utils/laneemden/scaling.hpp" declline="49" declcolumn="20"/>
|
||
</memberdef>
|
||
<memberdef kind="function" id="namespaceserif_1_1utils_1_1laneemden_1aec2842a8929dc7a2b5dac2adf8a067b6" 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">PhysicalSample</ref>, std::string ></type>
|
||
<definition>std::expected< PhysicalSample, std::string > serif::utils::laneemden::evaluate_physical</definition>
|
||
<argsstring>(const Solution &solution, const PhysicalScales &scales, dimensions::QuantityValue< dimensions::Length > radius)</argsstring>
|
||
<name>evaluate_physical</name>
|
||
<qualifiedname>serif::utils::laneemden::evaluate_physical</qualifiedname>
|
||
<param>
|
||
<type>const <ref refid="structserif_1_1utils_1_1laneemden_1_1_solution" kindref="compound">Solution</ref> &</type>
|
||
<declname>solution</declname>
|
||
</param>
|
||
<param>
|
||
<type>const <ref refid="structserif_1_1utils_1_1laneemden_1_1_physical_scales" kindref="compound">PhysicalScales</ref> &</type>
|
||
<declname>scales</declname>
|
||
</param>
|
||
<param>
|
||
<type><ref refid="classserif_1_1dimensions_1_1_quantity_value" kindref="compound">dimensions::QuantityValue</ref>< <ref refid="structserif_1_1dimensions_1_1_length" kindref="compound">dimensions::Length</ref> ></type>
|
||
<declname>radius</declname>
|
||
</param>
|
||
<briefdescription>
|
||
<para>Evaluate physical fields, continuing into vacuum beyond the stellar surface. </para>
|
||
</briefdescription>
|
||
<detaileddescription>
|
||
<para>The potential vanishes at infinity. Density, pressure, and enthalpy are zero at and beyond the surface, including the exterior side of the incompressible density jump. </para>
|
||
</detaileddescription>
|
||
<inbodydescription>
|
||
</inbodydescription>
|
||
<location file="src/lib/serif/utils/laneemden/scaling.cpp" line="96" column="19" bodyfile="src/lib/serif/utils/laneemden/scaling.cpp" bodystart="96" bodyend="138" declfile="src/include/serif/utils/laneemden/scaling.hpp" declline="61" declcolumn="20"/>
|
||
</memberdef>
|
||
<memberdef kind="function" id="namespaceserif_1_1utils_1_1laneemden_1aac284388ff73263db8d245669cb8e60f" 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_solution" kindref="compound">Solution</ref>, std::string ></type>
|
||
<definition>std::expected< Solution, std::string > serif::utils::laneemden::solve</definition>
|
||
<argsstring>(double n, IntegrationOptions options={})</argsstring>
|
||
<name>solve</name>
|
||
<qualifiedname>serif::utils::laneemden::solve</qualifiedname>
|
||
<param>
|
||
<type>double</type>
|
||
<declname>n</declname>
|
||
</param>
|
||
<param>
|
||
<type><ref refid="structserif_1_1utils_1_1laneemden_1_1_integration_options" kindref="compound">IntegrationOptions</ref></type>
|
||
<declname>options</declname>
|
||
<defval>{}</defval>
|
||
</param>
|
||
<briefdescription>
|
||
<para>Integrate theta'' + 2 theta'/xi + theta^n = 0 from the regular center. </para>
|
||
</briefdescription>
|
||
<detaileddescription>
|
||
<para>The central series follows Boudreaux's original power-series recurrence. Both dependent variables now advance through the same four Runge–Kutta stages. A missing surface is a valid finite-interval result, including the n >= 5 solutions. Exhausting the step budget or producing an unrepresentable numerical state returns a failure instead. </para>
|
||
</detaileddescription>
|
||
<inbodydescription>
|
||
</inbodydescription>
|
||
<location file="src/lib/serif/utils/laneemden/solution.cpp" line="96" column="19" bodyfile="src/lib/serif/utils/laneemden/solution.cpp" bodystart="96" bodyend="142" declfile="src/include/serif/utils/laneemden/solution.hpp" declline="48" declcolumn="20"/>
|
||
</memberdef>
|
||
<memberdef kind="function" id="namespaceserif_1_1utils_1_1laneemden_1ac58bd2b83384f8454be7fd0b11cd9332" 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_sample" kindref="compound">Sample</ref>, std::string ></type>
|
||
<definition>std::expected< Sample, std::string > serif::utils::laneemden::evaluate</definition>
|
||
<argsstring>(const Solution &solution, double xi)</argsstring>
|
||
<name>evaluate</name>
|
||
<qualifiedname>serif::utils::laneemden::evaluate</qualifiedname>
|
||
<param>
|
||
<type>const <ref refid="structserif_1_1utils_1_1laneemden_1_1_solution" kindref="compound">Solution</ref> &</type>
|
||
<declname>solution</declname>
|
||
</param>
|
||
<param>
|
||
<type>double</type>
|
||
<declname>xi</declname>
|
||
</param>
|
||
<briefdescription>
|
||
<para>Evaluate a solved dimensionless profile with cubic Hermite interpolation, without extrapolation. </para>
|
||
</briefdescription>
|
||
<detaileddescription>
|
||
</detaileddescription>
|
||
<inbodydescription>
|
||
</inbodydescription>
|
||
<location file="src/lib/serif/utils/laneemden/solution.cpp" line="144" column="19" bodyfile="src/lib/serif/utils/laneemden/solution.cpp" bodystart="144" bodyend="167" declfile="src/include/serif/utils/laneemden/solution.hpp" declline="51" declcolumn="20"/>
|
||
</memberdef>
|
||
</sectiondef>
|
||
<briefdescription>
|
||
</briefdescription>
|
||
<detaileddescription>
|
||
</detaileddescription>
|
||
<location file="src/include/serif/utils/laneemden/scaling.hpp" line="10" column="1"/>
|
||
</compounddef>
|
||
</doxygen>
|