Files
MeanField_SERiF/docs/xml/namespaceserif_1_1geometry_1_1surface.xml

394 lines
22 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_1geometry_1_1surface" kind="namespace" language="C++">
<compoundname>serif::geometry::surface</compoundname>
<innerclass refid="structserif_1_1geometry_1_1surface_1_1_automatic_pressure_surface" prot="public">serif::geometry::surface::AutomaticPressureSurface</innerclass>
<innerclass refid="structserif_1_1geometry_1_1surface_1_1_boundary_values" prot="public">serif::geometry::surface::BoundaryValues</innerclass>
<innerclass refid="structserif_1_1geometry_1_1surface_1_1_direct_pressure_surface_formulation" prot="public">serif::geometry::surface::DirectPressureSurfaceFormulation</innerclass>
<innerclass refid="structserif_1_1geometry_1_1surface_1_1_inverse_pressure_surface_formulation" prot="public">serif::geometry::surface::InversePressureSurfaceFormulation</innerclass>
<innerclass refid="classserif_1_1geometry_1_1surface_1_1_isobaric_surface" prot="public">serif::geometry::surface::IsobaricSurface</innerclass>
<innerclass refid="structserif_1_1geometry_1_1surface_1_1_pressure_field_surface_formulation" prot="public">serif::geometry::surface::PressureFieldSurfaceFormulation</innerclass>
<innerclass refid="structserif_1_1geometry_1_1surface_1_1_pressure_surface_descriptor" prot="public">serif::geometry::surface::PressureSurfaceDescriptor</innerclass>
<innerclass refid="structserif_1_1geometry_1_1surface_1_1_pressure_surface_formulation" prot="public">serif::geometry::surface::PressureSurfaceFormulation</innerclass>
<innerclass refid="structserif_1_1geometry_1_1surface_1_1_surface_e_o_s_response" prot="public">serif::geometry::surface::SurfaceEOSResponse</innerclass>
<innerclass refid="structserif_1_1geometry_1_1surface_1_1_surface_failure" prot="public">serif::geometry::surface::SurfaceFailure</innerclass>
<innernamespace refid="namespaceserif_1_1geometry_1_1surface_1_1backend">serif::geometry::surface::backend</innernamespace>
<innernamespace refid="namespaceserif_1_1geometry_1_1surface_1_1detail">serif::geometry::surface::detail</innernamespace>
<innernamespace refid="namespaceserif_1_1geometry_1_1surface_1_1keys">serif::geometry::surface::keys</innernamespace>
<sectiondef kind="enum">
<memberdef kind="enum" id="namespaceserif_1_1geometry_1_1surface_1a739898ab5e92990aaeb57582842b1d1c" prot="public" static="no" strong="yes">
<type></type>
<name>PressureSurfaceSelection</name>
<qualifiedname>serif::geometry::surface::PressureSurfaceSelection</qualifiedname>
<enumvalue id="namespaceserif_1_1geometry_1_1surface_1a739898ab5e92990aaeb57582842b1d1ca42bd4c0819c498d1c1ab622de74d6f82" prot="public">
<name>supported</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1geometry_1_1surface_1a739898ab5e92990aaeb57582842b1d1ca7060e0481896e00b3f7d20f1e8e2749a" prot="public">
<name>unavailable</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1geometry_1_1surface_1a739898ab5e92990aaeb57582842b1d1ca1f2a1ba9f974029c8e43ae8f59637f4c" prot="public">
<name>ambiguous</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/geometry/surface/automatic.hpp" line="6" column="5" bodyfile="src/include/serif/geometry/surface/automatic.hpp" bodystart="6" bodyend="10"/>
</memberdef>
<memberdef kind="enum" id="namespaceserif_1_1geometry_1_1surface_1a54b9db77caf2af1870677a91cfc70026" prot="public" static="no" strong="yes">
<type></type>
<name>SurfaceFailureReason</name>
<qualifiedname>serif::geometry::surface::SurfaceFailureReason</qualifiedname>
<enumvalue id="namespaceserif_1_1geometry_1_1surface_1a54b9db77caf2af1870677a91cfc70026a9ae4e64d7f01a1eb9df10b8fe9738de2" prot="public">
<name>non_finite_state</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1geometry_1_1surface_1a54b9db77caf2af1870677a91cfc70026ad74368c2b39a40a73c51f2d51b6561f2" prot="public">
<name>non_finite_eos_response</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1geometry_1_1surface_1a54b9db77caf2af1870677a91cfc70026a80a298b3818d2f3c68d8f140c4d399f8" prot="public">
<name>non_finite_linearization</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1geometry_1_1surface_1a54b9db77caf2af1870677a91cfc70026a1c30d760751e2ce13419a39b3685fbbf" prot="public">
<name>inconsistent_sample_count</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1geometry_1_1surface_1a54b9db77caf2af1870677a91cfc70026ab2b4f7bd1ac337134bdbe47cae728f2a" prot="public">
<name>empty_surface</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/geometry/surface/linearization.hpp" line="11" column="5" bodyfile="src/include/serif/geometry/surface/linearization.hpp" bodystart="11" bodyend="17"/>
</memberdef>
</sectiondef>
<sectiondef kind="typedef">
<memberdef kind="typedef" id="namespaceserif_1_1geometry_1_1surface_1aa7522c70fe18bcce1ad623ce570359fa" prot="public" static="no">
<templateparamlist>
<param>
<type>typename EOS</type>
</param>
<param>
<type>typename Bindings</type>
</param>
<param>
<type>typename Carrier</type>
<defval>void</defval>
</param>
</templateparamlist>
<type>std::tuple_element_t&lt; 0, typename <ref refid="structserif_1_1geometry_1_1surface_1_1detail_1_1_matching_pressure_relations" kindref="compound">detail::MatchingPressureRelations</ref>&lt; std::remove_cvref_t&lt; EOS &gt;, std::remove_cvref_t&lt; Bindings &gt;, Carrier, typename std::remove_cvref_t&lt; EOS &gt;::Relations &gt;::Matches &gt;</type>
<definition>using serif::geometry::surface::pressure_relation_t = std::tuple_element_t&lt;0, typename detail::MatchingPressureRelations&lt;std::remove_cvref_t&lt;EOS&gt;, std::remove_cvref_t&lt;Bindings&gt;, Carrier, typename std::remove_cvref_t&lt;EOS&gt;::Relations&gt;::Matches&gt;</definition>
<argsstring></argsstring>
<name>pressure_relation_t</name>
<qualifiedname>serif::geometry::surface::pressure_relation_t</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/geometry/surface/compilation.hpp" line="19" column="5" bodyfile="src/include/serif/geometry/surface/compilation.hpp" bodystart="19" bodyend="-1"/>
</memberdef>
<memberdef kind="typedef" id="namespaceserif_1_1geometry_1_1surface_1a42dd706422c3b8c6838ea505ff1212b8" prot="public" static="no">
<type><ref refid="classserif_1_1geometry_1_1surface_1_1_isobaric_surface" kindref="compound">IsobaricSurface</ref></type>
<definition>using serif::geometry::surface::Isobaric = IsobaricSurface</definition>
<argsstring></argsstring>
<name>Isobaric</name>
<qualifiedname>serif::geometry::surface::Isobaric</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/geometry/surface/isobaric.hpp" line="39" column="5" bodyfile="src/include/serif/geometry/surface/isobaric.hpp" bodystart="39" bodyend="-1"/>
</memberdef>
<memberdef kind="typedef" id="namespaceserif_1_1geometry_1_1surface_1aac7a93b7163561a9bfbf7c7447eeebfe" prot="public" static="no">
<templateparamlist>
<param>
<type>PressureSurfaceFormulationType</type>
<declname>Formulation</declname>
<defname>Formulation</defname>
</param>
</templateparamlist>
<type><ref refid="structserif_1_1equations_1_1_equation_point" kindref="compound">equations::EquationPoint</ref>&lt; typename Formulation::Operands &gt;</type>
<definition>using serif::geometry::surface::SurfacePoint = equations::EquationPoint&lt;typename Formulation::Operands&gt;</definition>
<argsstring></argsstring>
<name>SurfacePoint</name>
<qualifiedname>serif::geometry::surface::SurfacePoint</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/geometry/surface/linearization.hpp" line="27" column="5" bodyfile="src/include/serif/geometry/surface/linearization.hpp" bodystart="27" bodyend="-1"/>
</memberdef>
<memberdef kind="typedef" id="namespaceserif_1_1geometry_1_1surface_1a38dcffacd50298452984a55e3c69b83a" prot="public" static="no">
<templateparamlist>
<param>
<type>PressureSurfaceFormulationType</type>
<declname>Formulation</declname>
<defname>Formulation</defname>
</param>
</templateparamlist>
<type><ref refid="structserif_1_1equations_1_1_point_linearization" kindref="compound">equations::PointLinearization</ref>&lt; typename Formulation::Operands &gt;</type>
<definition>using serif::geometry::surface::SurfaceLinearization = equations::PointLinearization&lt;typename Formulation::Operands&gt;</definition>
<argsstring></argsstring>
<name>SurfaceLinearization</name>
<qualifiedname>serif::geometry::surface::SurfaceLinearization</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/geometry/surface/linearization.hpp" line="30" column="5" bodyfile="src/include/serif/geometry/surface/linearization.hpp" bodystart="30" bodyend="-1"/>
</memberdef>
</sectiondef>
<sectiondef kind="func">
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1surface_1aaae557ab0921c03cea6ca410571aea07" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>PressureSurfaceFormulationType</type>
<declname>Formulation</declname>
<defname>Formulation</defname>
</param>
<param>
<type>template&lt; typename &gt; typename</type>
<declname>SampleKey</declname>
<defname>SampleKey</defname>
<defval>std::type_identity_t</defval>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::geometry::surface::make_pressure_surface_computations</definition>
<argsstring>()</argsstring>
<name>make_pressure_surface_computations</name>
<qualifiedname>serif::geometry::surface::make_pressure_surface_computations</qualifiedname>
<briefdescription>
<para>Expose the existing EOS and residual stages for composition with backend sampling or other physics. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/geometry/surface/computations.hpp" line="77" column="11" bodyfile="src/include/serif/geometry/surface/computations.hpp" bodystart="77" bodyend="82"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1surface_1a22a6164aca39d466c509c4e9d73bd0a3" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>PressureSurfaceFormulationType</type>
<declname>Formulation</declname>
<defname>Formulation</defname>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::geometry::surface::make_pressure_surface_graph</definition>
<argsstring>()</argsstring>
<name>make_pressure_surface_graph</name>
<qualifiedname>serif::geometry::surface::make_pressure_surface_graph</qualifiedname>
<briefdescription>
<para>Describe the isobaric calculation as an ordinary dependency graph, without evaluating the EOS. </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="templateparam"><parameteritem>
<parameternamelist>
<parametername>Formulation</parametername>
</parameternamelist>
<parameterdescription>
<para>A carrier-resolved or explicitly selected direct-pressure surface formulation. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>Two computations: the EOS response and the boundary residual with analytical derivatives. </para>
</simplesect>
<simplesect kind="note"><para>Supply pressure_condition and boundary_values, and bind <ref refid="structserif_1_1geometry_1_1surface_1_1keys_1_1_equation_of_state" kindref="compound">keys::EquationOfState</ref> with a tracking policy when the formulation uses the EOS. A pressure-field formulation needs no EOS source. Use make_computation_cache&lt;SurfaceFailure&gt; and its normal try_prepare/get interface; the cache owns the complete preparation lifecycle. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/geometry/surface/computations.hpp" line="93" column="11" bodyfile="src/include/serif/geometry/surface/computations.hpp" bodystart="93" bodyend="99"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1surface_1a221522d5871c62fa8e9b4aa7493b19ee" 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 Bindings</type>
</param>
<param>
<type>typename Carrier</type>
<defval>void</defval>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::geometry::surface::make_pressure_surface_graph</definition>
<argsstring>()</argsstring>
<name>make_pressure_surface_graph</name>
<qualifiedname>serif::geometry::surface::make_pressure_surface_graph</qualifiedname>
<requiresclause>PressureSurfaceCompilable&lt;EOS, Bindings, Carrier&gt; </requiresclause>
<briefdescription>
<para>Infer a unique carrier-resolved formulation directly from an EOS and the available physical state. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/geometry/surface/computations.hpp" line="104" column="11" bodyfile="src/include/serif/geometry/surface/computations.hpp" bodystart="104" bodyend="107"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1surface_1a4cdea9db2006b47252ed75446fd9c5d1" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>PressureSurfaceFormulationType</type>
<declname>Formulation</declname>
<defname>Formulation</defname>
</param>
</templateparamlist>
<type>std::expected&lt; <ref refid="namespaceserif_1_1geometry_1_1surface_1a38dcffacd50298452984a55e3c69b83a" kindref="member">SurfaceLinearization</ref>&lt; Formulation &gt;, <ref refid="structserif_1_1geometry_1_1surface_1_1_surface_failure" kindref="compound">SurfaceFailure</ref> &gt;</type>
<definition>std::expected&lt; SurfaceLinearization&lt; Formulation &gt;, SurfaceFailure &gt; serif::geometry::surface::evaluate_pressure_surface</definition>
<argsstring>(const typename Formulation::EquationOfState &amp;equation_of_state, const IsobaricSurface &amp;condition, const SurfacePoint&lt; Formulation &gt; &amp;point)</argsstring>
<name>evaluate_pressure_surface</name>
<qualifiedname>serif::geometry::surface::evaluate_pressure_surface</qualifiedname>
<param>
<type>const typename Formulation::EquationOfState &amp;</type>
<declname>equation_of_state</declname>
</param>
<param>
<type>const <ref refid="classserif_1_1geometry_1_1surface_1_1_isobaric_surface" kindref="compound">IsobaricSurface</ref> &amp;</type>
<declname>condition</declname>
</param>
<param>
<type>const <ref refid="namespaceserif_1_1geometry_1_1surface_1aac7a93b7163561a9bfbf7c7447eeebfe" kindref="member">SurfacePoint</ref>&lt; Formulation &gt; &amp;</type>
<declname>point</declname>
</param>
<briefdescription>
<para>Evaluate the chosen isobaric residual and its analytical derivatives at one boundary point. </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>equation_of_state</parametername>
</parameternamelist>
<parameterdescription>
<para>The EOS declared by Formulation. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>condition</parametername>
</parameternamelist>
<parameterdescription>
<para>The prescribed surface pressure, independent of the choice of carrier. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>point</parametername>
</parameternamelist>
<parameterdescription>
<para>Values of the formulation&apos;s bound scalar terms, already sampled at a common boundary point. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>A conventional equation linearization, or a numerical rejection. No preparation or borrowed state is retained. </para>
</simplesect>
<simplesect kind="note"><para>Domain exceptions from an existing throwing EOS propagate; no exception is used for surface validation. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/geometry/surface/evaluation.hpp" line="15" column="20" bodyfile="src/include/serif/geometry/surface/evaluation.hpp" bodystart="15" bodyend="25"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1surface_1a5d4b3151c0eec6aedd3bb2ce4259e52b" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>SurfaceScalarTerm</type>
<declname>Term</declname>
<defname>Term</defname>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::geometry::surface::boundary_values</definition>
<argsstring>(std::vector&lt; double &gt; values)</argsstring>
<name>boundary_values</name>
<qualifiedname>serif::geometry::surface::boundary_values</qualifiedname>
<param>
<type>std::vector&lt; double &gt;</type>
<declname>values</declname>
</param>
<briefdescription>
<para>Supply owned boundary samples to an ordinary dependency context, keyed by their physical term. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/geometry/surface/samples.hpp" line="62" column="11" bodyfile="src/include/serif/geometry/surface/samples.hpp" bodystart="62" bodyend="64"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1geometry_1_1surface_1ad3e16057fff248ad6c7bd9a43959fc0e" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="yes" virt="non-virtual">
<type>auto</type>
<definition>auto serif::geometry::surface::pressure_condition</definition>
<argsstring>(IsobaricSurface condition)</argsstring>
<name>pressure_condition</name>
<qualifiedname>serif::geometry::surface::pressure_condition</qualifiedname>
<param>
<type><ref refid="classserif_1_1geometry_1_1surface_1_1_isobaric_surface" kindref="compound">IsobaricSurface</ref></type>
<declname>condition</declname>
</param>
<briefdescription>
<para>Supply the isobaric condition as an owned dependency source, with pressure tracked by value. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/geometry/surface/samples.hpp" line="67" column="18" bodyfile="src/include/serif/geometry/surface/samples.hpp" bodystart="67" bodyend="69"/>
</memberdef>
</sectiondef>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<location file="src/include/serif/backend/mfem/geometry/surface/boundary_computations.hpp" line="7" column="1"/>
</compounddef>
</doxygen>