Files
MeanField_SERiF/docs/xml/namespaceserif_1_1eos_1_1models.xml
Emily Boudreaux 6b57738330 docs(docs): built docs
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)
2026-11-09 14:09:44 -05:00

338 lines
16 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_1eos_1_1models" kind="namespace" language="C++">
<compoundname>serif::eos::models</compoundname>
<innerclass refid="structserif_1_1eos_1_1models_1_1_implements_partial_derivative__t" prot="public">serif::eos::models::ImplementsPartialDerivative_t</innerclass>
<innerclass refid="structserif_1_1eos_1_1models_1_1_implements_relation__t" prot="public">serif::eos::models::ImplementsRelation_t</innerclass>
<innerclass refid="structserif_1_1eos_1_1models_1_1_implements_relation_catalog__t" prot="public">serif::eos::models::ImplementsRelationCatalog_t</innerclass>
<innerclass refid="structserif_1_1eos_1_1models_1_1_implements_relation_catalog__t_3_01_e_o_s_00_01relations_1_1_re84a27b22ac57c74adaf074b343ae5413" prot="public">serif::eos::models::ImplementsRelationCatalog_t&lt; EOS, relations::RelationCatalog&lt; Relations... &gt; &gt;</innerclass>
<innerclass refid="structserif_1_1eos_1_1models_1_1_implements_second_partial_derivative__t" prot="public">serif::eos::models::ImplementsSecondPartialDerivative_t</innerclass>
<innerclass refid="structserif_1_1eos_1_1models_1_1_is_equation_of_state_model__t" prot="public">serif::eos::models::IsEquationOfStateModel_t</innerclass>
<innerclass refid="structserif_1_1eos_1_1models_1_1_is_equation_of_state_model__t_3_01_e_o_s_candidate_00_01std_1_12c3fff187c709d66c77cc44935c5cf28" prot="public">serif::eos::models::IsEquationOfStateModel_t&lt; EOSCandidate, std::void_t&lt; typename std::remove_cvref_t&lt; EOSCandidate &gt;::Relations &gt; &gt;</innerclass>
<innerclass refid="classserif_1_1eos_1_1models_1_1_polytrope" prot="public">serif::eos::models::Polytrope</innerclass>
<innerclass refid="structserif_1_1eos_1_1models_1_1_polytrope_parameters" prot="public">serif::eos::models::PolytropeParameters</innerclass>
<sectiondef kind="var">
<memberdef kind="variable" id="namespaceserif_1_1eos_1_1models_1a54483208e757570d1ef38aa59b9da8d6" prot="public" static="no" constexpr="yes" mutable="no">
<templateparamlist>
<param>
<type>typename EOSCandidate</type>
</param>
</templateparamlist>
<type>bool</type>
<definition>bool serif::eos::models::is_equation_of_state_model_v</definition>
<argsstring></argsstring>
<name>is_equation_of_state_model_v</name>
<qualifiedname>serif::eos::models::is_equation_of_state_model_v</qualifiedname>
<initializer>= <ref refid="structserif_1_1eos_1_1models_1_1_is_equation_of_state_model__t" kindref="compound">IsEquationOfStateModel_t</ref>&lt;std::remove_cvref_t&lt;EOSCandidate&gt;&gt;::value</initializer>
<briefdescription>
<para>A specialization of the <ref refid="structserif_1_1eos_1_1models_1_1_implements_partial_derivative__t" kindref="compound">ImplementsPartialDerivative_t</ref> trait for a relation and input quantity. This is used to determine if an EOS type implements a partial derivative for a given relation and input quantity. </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="templateparam"><parameteritem>
<parameternamelist>
<parametername>EOS</parametername>
</parameternamelist>
<parameterdescription>
<para>The EOS type to check. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>Output</parametername>
</parameternamelist>
<parameterdescription>
<para>The output quantity of the relation. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>Inputs</parametername>
</parameternamelist>
<parameterdescription>
<para>The input quantities of the relation. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>InputQuantity</parametername>
</parameternamelist>
<parameterdescription>
<para>The input quantity to check.</para>
</parameterdescription>
</parameteritem>
</parameterlist>
A variable template to determine if a type is an equation of state model. <parameterlist kind="templateparam"><parameteritem>
<parameternamelist>
<parametername>EOSCandidate</parametername>
</parameternamelist>
<parameterdescription>
<para>The type to check. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/eos/models/traits.hpp" line="103" column="27" bodyfile="src/include/serif/eos/models/traits.hpp" bodystart="103" bodyend="96"/>
</memberdef>
<memberdef kind="variable" id="namespaceserif_1_1eos_1_1models_1ade35b41c252dd1f4369ebf954c8c81e8" prot="public" static="no" constexpr="yes" mutable="no">
<templateparamlist>
<param>
<type>typename EOS</type>
</param>
<param>
<type>typename RelationT</type>
</param>
</templateparamlist>
<type>bool</type>
<definition>bool serif::eos::models::supports_relation_v</definition>
<argsstring></argsstring>
<name>supports_relation_v</name>
<qualifiedname>serif::eos::models::supports_relation_v</qualifiedname>
<initializer>= <ref refid="namespaceserif_1_1eos_1_1models_1a54483208e757570d1ef38aa59b9da8d6" kindref="member">is_equation_of_state_model_v</ref>&lt;EOS&gt; &amp;&amp; <ref refid="structserif_1_1eos_1_1models_1_1_implements_relation__t" kindref="compound">ImplementsRelation_t</ref>&lt;std::remove_cvref_t&lt;EOS&gt;, std::remove_cvref_t&lt;RelationT&gt;&gt;::value</initializer>
<briefdescription>
<para>Require an analytic implementation with the exact physical return type. </para>
</briefdescription>
<detaileddescription>
<para>A variable template to determine if an EOS type supports a given relation. <parameterlist kind="templateparam"><parameteritem>
<parameternamelist>
<parametername>EOS</parametername>
</parameternamelist>
<parameterdescription>
<para>The EOS type to check. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>RelationT</parametername>
</parameternamelist>
<parameterdescription>
<para>The relation to check. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/eos/models/traits.hpp" line="126" column="27" bodyfile="src/include/serif/eos/models/traits.hpp" bodystart="126" bodyend="118"/>
</memberdef>
<memberdef kind="variable" id="namespaceserif_1_1eos_1_1models_1ab0fa71430824737b86a42a5eb08a83ee" prot="public" static="no" constexpr="yes" mutable="no">
<templateparamlist>
<param>
<type>typename EOS</type>
</param>
<param>
<type>typename RelationT</type>
</param>
<param>
<type>typename InputQuantity</type>
</param>
</templateparamlist>
<type>bool</type>
<definition>bool serif::eos::models::supports_partial_derivative_v</definition>
<argsstring></argsstring>
<name>supports_partial_derivative_v</name>
<qualifiedname>serif::eos::models::supports_partial_derivative_v</qualifiedname>
<initializer>= <ref refid="namespaceserif_1_1eos_1_1models_1a54483208e757570d1ef38aa59b9da8d6" kindref="member">is_equation_of_state_model_v</ref>&lt;EOS&gt; &amp;&amp; <ref refid="structserif_1_1eos_1_1models_1_1_implements_partial_derivative__t" kindref="compound">ImplementsPartialDerivative_t</ref>&lt;std::remove_cvref_t&lt;EOS&gt;, std::remove_cvref_t&lt;RelationT&gt;, InputQuantity&gt;::value</initializer>
<briefdescription>
<para>A variable template to determine if an EOS type supports a partial derivative for a given relation and input quantity. </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="templateparam"><parameteritem>
<parameternamelist>
<parametername>EOS</parametername>
</parameternamelist>
<parameterdescription>
<para>The EOS type to check. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>RelationT</parametername>
</parameternamelist>
<parameterdescription>
<para>The relation to check. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>InputQuantity</parametername>
</parameternamelist>
<parameterdescription>
<para>The input quantity to check. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/eos/models/traits.hpp" line="135" column="27" bodyfile="src/include/serif/eos/models/traits.hpp" bodystart="135" bodyend="-1"/>
</memberdef>
</sectiondef>
<sectiondef kind="func">
<memberdef kind="function" id="namespaceserif_1_1eos_1_1models_1a81150dfc59c33d2e767a9e572cb15fce" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename ExceptionType</type>
</param>
<param>
<type>errors::SERiFErrorCode</type>
<declname>ErrorCode</declname>
<defname>ErrorCode</defname>
</param>
<param>
<type>concepts::IsNumeric</type>
<declname>Scalar</declname>
<defname>Scalar</defname>
</param>
</templateparamlist>
<type>void</type>
<definition>void serif::utils::misc::validate_finite</definition>
<argsstring>(const Scalar value)</argsstring>
<name>validate_finite</name>
<qualifiedname>serif::eos::models::validate_finite</qualifiedname>
<param>
<type>const Scalar</type>
<declname>value</declname>
</param>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/lib/serif/eos/models/polytropic.cpp" line="8" column="5" bodyfile="src/include/serif/utils/misc/finite.hpp" bodystart="12" bodyend="16"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1eos_1_1models_1a21655a5b8f48ae49f385e0a7ea836f3a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename ExceptionType</type>
</param>
<param>
<type>errors::SERiFErrorCode</type>
<declname>ErrorCode</declname>
<defname>ErrorCode</defname>
</param>
<param>
<type>concepts::IsComparableToNumeric</type>
<declname>Scalar</declname>
<defname>Scalar</defname>
</param>
</templateparamlist>
<type>void</type>
<definition>void serif::utils::misc::validate_greater_than</definition>
<argsstring>(const Scalar value, const Scalar predicate)</argsstring>
<name>validate_greater_than</name>
<qualifiedname>serif::eos::models::validate_greater_than</qualifiedname>
<param>
<type>const Scalar</type>
<declname>value</declname>
</param>
<param>
<type>const Scalar</type>
<declname>predicate</declname>
</param>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/lib/serif/eos/models/polytropic.cpp" line="9" column="5" bodyfile="src/include/serif/utils/misc/finite.hpp" bodystart="19" bodyend="24"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1eos_1_1models_1ade362937d8732832b60a4d829b15d611" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename ExceptionType</type>
</param>
<param>
<type>errors::SERiFErrorCode</type>
<declname>ErrorCode</declname>
<defname>ErrorCode</defname>
</param>
<param>
<type>concepts::IsComparableToNumeric</type>
<declname>Scalar</declname>
<defname>Scalar</defname>
</param>
</templateparamlist>
<type>void</type>
<definition>void serif::utils::misc::validate_less_than</definition>
<argsstring>(const Scalar value, const Scalar predicate)</argsstring>
<name>validate_less_than</name>
<qualifiedname>serif::eos::models::validate_less_than</qualifiedname>
<param>
<type>const Scalar</type>
<declname>value</declname>
</param>
<param>
<type>const Scalar</type>
<declname>predicate</declname>
</param>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/lib/serif/eos/models/polytropic.cpp" line="10" column="5" bodyfile="src/include/serif/utils/misc/finite.hpp" bodystart="27" bodyend="32"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1eos_1_1models_1a7f0bf6f20695cc8bb3c052c8a8f16dff" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename ExceptionType</type>
</param>
<param>
<type>errors::SERiFErrorCode</type>
<declname>ErrorCode</declname>
<defname>ErrorCode</defname>
</param>
<param>
<type>concepts::IsComparableToNumeric</type>
<declname>Scalar</declname>
<defname>Scalar</defname>
</param>
</templateparamlist>
<type>void</type>
<definition>void serif::utils::misc::validate_nonnegativity</definition>
<argsstring>(const Scalar value)</argsstring>
<name>validate_nonnegativity</name>
<qualifiedname>serif::eos::models::validate_nonnegativity</qualifiedname>
<param>
<type>const Scalar</type>
<declname>value</declname>
</param>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/lib/serif/eos/models/polytropic.cpp" line="11" column="5" bodyfile="src/include/serif/utils/misc/finite.hpp" bodystart="35" bodyend="38"/>
</memberdef>
</sectiondef>
<sectiondef kind="enum">
<memberdef kind="enum" id="namespaceserif_1_1eos_1_1models_1ab04484c13887f78337c2331fb2911346" prot="public" static="no" strong="yes">
<type></type>
<name>SERiFErrorCode</name>
<qualifiedname>serif::eos::models::SERiFErrorCode</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/lib/serif/eos/models/polytropic.cpp" line="12" column="5" bodyfile="src/include/serif/utils/error/codes.hpp" bodystart="18" bodyend="116"/>
</memberdef>
</sectiondef>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<location file="src/include/serif/eos/models/concepts.hpp" line="13" column="1"/>
</compounddef>
</doxygen>