Files
MeanField_SERiF/docs/xml/namespaceserif_1_1model_1_1computations.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

345 lines
19 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_1model_1_1computations" kind="namespace" language="C++">
<compoundname>serif::model::computations</compoundname>
<innerclass refid="structserif_1_1model_1_1computations_1_1_contributions" prot="public">serif::model::computations::Contributions</innerclass>
<innerclass refid="structserif_1_1model_1_1computations_1_1_interior_contribution" prot="public">serif::model::computations::InteriorContribution</innerclass>
<innerclass refid="structserif_1_1model_1_1computations_1_1_potential_infinity_contribution" prot="public">serif::model::computations::PotentialInfinityContribution</innerclass>
<innerclass refid="structserif_1_1model_1_1computations_1_1_pressure_boundary_contribution" prot="public">serif::model::computations::PressureBoundaryContribution</innerclass>
<innerclass refid="structserif_1_1model_1_1computations_1_1_scalar_residual_row" prot="public">serif::model::computations::ScalarResidualRow</innerclass>
<innerclass refid="structserif_1_1model_1_1computations_1_1_shape_contribution" prot="public">serif::model::computations::ShapeContribution</innerclass>
<innerclass refid="structserif_1_1model_1_1computations_1_1_shape_derivatives" prot="public">serif::model::computations::ShapeDerivatives</innerclass>
<innernamespace refid="namespaceserif_1_1model_1_1computations_1_1detail">serif::model::computations::detail</innernamespace>
<sectiondef kind="func">
<memberdef kind="function" id="namespaceserif_1_1model_1_1computations_1a9e46f414aef900d44b0dd2fd5574fd3a" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Equation</type>
</param>
<param>
<type>typename Schema</type>
</param>
<param>
<type>typename Layout</type>
</param>
</templateparamlist>
<type><ref refid="structserif_1_1model_1_1computations_1_1_contributions" kindref="compound">Contributions</ref></type>
<definition>Contributions serif::model::computations::volume_contribution</definition>
<argsstring>(std::shared_ptr&lt; const operators::backend::mfem::VolumeData&lt; Equation, Schema &gt; &gt; accepted, const Layout &amp;layout, std::optional&lt; backend::mfem::ColumnContribution &gt; geometry={})</argsstring>
<name>volume_contribution</name>
<qualifiedname>serif::model::computations::volume_contribution</qualifiedname>
<param>
<type>std::shared_ptr&lt; const <ref refid="structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_data" kindref="compound">operators::backend::mfem::VolumeData</ref>&lt; Equation, Schema &gt; &gt;</type>
<declname>accepted</declname>
</param>
<param>
<type>const Layout &amp;</type>
<declname>layout</declname>
</param>
<param>
<type>std::optional&lt; <ref refid="structserif_1_1model_1_1backend_1_1mfem_1_1_column_contribution" kindref="compound">backend::mfem::ColumnContribution</ref> &gt;</type>
<declname>geometry</declname>
<defval>{}</defval>
</param>
<briefdescription>
<para>Assemble field and optional geometry columns from the same retained volume result. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/backend/mfem/model/computations/interior.hpp" line="33" column="20" bodyfile="src/include/serif/backend/mfem/model/computations/interior.hpp" bodystart="33" bodyend="53"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1_1computations_1a5600e8e13f635774406929efd4082748" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Equation</type>
</param>
<param>
<type>typename Layout</type>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::computations::interior_contribution</definition>
<argsstring>(Layout layout)</argsstring>
<name>interior_contribution</name>
<qualifiedname>serif::model::computations::interior_contribution</qualifiedname>
<param>
<type>Layout</type>
<declname>layout</declname>
</param>
<briefdescription>
<para>Declare one owning contribution per equation; shape coordinates add one explicit shared prerequisite. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/backend/mfem/model/computations/interior.hpp" line="57" column="11" bodyfile="src/include/serif/backend/mfem/model/computations/interior.hpp" bodystart="57" bodyend="83"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1_1computations_1a15a3dad726975a3353a9f5337708194a" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Equation</type>
</param>
<param>
<type>typename Layout</type>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::computations::interior_computations</definition>
<argsstring>(const Layout &amp;layout)</argsstring>
<name>interior_computations</name>
<qualifiedname>serif::model::computations::interior_computations</qualifiedname>
<param>
<type>const Layout &amp;</type>
<declname>layout</declname>
</param>
<briefdescription>
<para>Scalar equations publish a reusable functional before joining ordinary system assembly. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/backend/mfem/model/computations/interior.hpp" line="87" column="11" bodyfile="src/include/serif/backend/mfem/model/computations/interior.hpp" bodystart="87" bodyend="93"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1_1computations_1a0660915b0bac2fc2ce2012e70bcd4e07" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Block</type>
</param>
<param>
<type>discretization::blocks::SystemLayoutType</type>
<declname>Layout</declname>
<defname>Layout</defname>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::computations::physical_block</definition>
<argsstring>(const Layout &amp;layout)</argsstring>
<name>physical_block</name>
<qualifiedname>serif::model::computations::physical_block</qualifiedname>
<param>
<type>const Layout &amp;</type>
<declname>layout</declname>
</param>
<briefdescription>
<para>Publish a requested physical block from the same physical root used for residual and Jacobian actions. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/backend/mfem/model/computations/physical_blocks.hpp" line="29" column="11" bodyfile="src/include/serif/backend/mfem/model/computations/physical_blocks.hpp" bodystart="29" bodyend="42"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1_1computations_1a4ff124ec28d7784bd444fee234bad18e" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>discretization::blocks::SystemLayoutType</type>
<declname>Layout</declname>
<defname>Layout</defname>
</param>
<param>
<type>typename...</type>
<declname>Blocks</declname>
<defname>Blocks</defname>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::computations::make_physical_block_computations</definition>
<argsstring>(const Layout &amp;layout, utils::dependencies::KeyList&lt; Blocks... &gt;)</argsstring>
<name>make_physical_block_computations</name>
<qualifiedname>serif::model::computations::make_physical_block_computations</qualifiedname>
<param>
<type>const Layout &amp;</type>
<declname>layout</declname>
</param>
<param>
<type><ref refid="structserif_1_1utils_1_1dependencies_1_1_key_list" kindref="compound">utils::dependencies::KeyList</ref>&lt; Blocks... &gt;</type>
</param>
<briefdescription>
<para>Supply precisely the requested physical couplings to existing preconditioner computations. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/backend/mfem/model/computations/physical_blocks.hpp" line="46" column="11" bodyfile="src/include/serif/backend/mfem/model/computations/physical_blocks.hpp" bodystart="46" bodyend="48"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1_1computations_1ad1541fee1dc9566753a4df55e3d177d7" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Layout</type>
</param>
<param>
<type>typename Binding</type>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::computations::potential_infinity_contribution</definition>
<argsstring>(Layout layout, const Binding &amp;binding)</argsstring>
<name>potential_infinity_contribution</name>
<qualifiedname>serif::model::computations::potential_infinity_contribution</qualifiedname>
<param>
<type>Layout</type>
<declname>layout</declname>
</param>
<param>
<type>const Binding &amp;</type>
<declname>binding</declname>
</param>
<briefdescription>
<para>Replace only the compactified-infinity potential rows by the zero physical trace. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/backend/mfem/model/computations/potential_infinity.hpp" line="12" column="11" bodyfile="src/include/serif/backend/mfem/model/computations/potential_infinity.hpp" bodystart="12" bodyend="39"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1_1computations_1a3a40d4e2b6f9007024cf9ad7d0b24c2b" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>geometry::surface::backend::mfem::PressureBoundaryFormulation</type>
<declname>Formulation</declname>
<defname>Formulation</defname>
</param>
<param>
<type>discretization::blocks::SystemLayoutType</type>
<declname>Layout</declname>
<defname>Layout</defname>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::computations::pressure_boundary_contribution</definition>
<argsstring>(Layout layout)</argsstring>
<name>pressure_boundary_contribution</name>
<qualifiedname>serif::model::computations::pressure_boundary_contribution</qualifiedname>
<param>
<type>Layout</type>
<declname>layout</declname>
</param>
<requiresclause>utils::dependencies::ContainsKey&lt;typename Formulation::CarrierTerm, typename Layout::Residuals&gt; </requiresclause>
<briefdescription>
<para>Publish accepted pressure rows and their solved-field derivatives in system coordinates. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="note"><para>Prescribed EOS inputs still participate in surface evaluation, but have no Newton column. The compiled surface formulation selects its physical carrier; no enthalpy assumption enters assembly. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/backend/mfem/model/computations/pressure_boundary.hpp" line="24" column="11" bodyfile="src/include/serif/backend/mfem/model/computations/pressure_boundary.hpp" bodystart="24" bodyend="68"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1_1computations_1a6cc3c063b45f722bf8d0739ce53b47ca" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Equation</type>
</param>
<param>
<type>typename Layout</type>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::computations::scalar_residual_row</definition>
<argsstring>(Layout layout)</argsstring>
<name>scalar_residual_row</name>
<qualifiedname>serif::model::computations::scalar_residual_row</qualifiedname>
<param>
<type>Layout</type>
<declname>layout</declname>
</param>
<requiresclause>discretization::blocks::GlobalScalarTerm&lt;typename Equation::Test&gt; </requiresclause>
<briefdescription>
<para>Rebuild a scalar functional only when its physical equation or shape derivative changes. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/backend/mfem/model/computations/scalar_row.hpp" line="17" column="11" bodyfile="src/include/serif/backend/mfem/model/computations/scalar_row.hpp" bodystart="17" bodyend="33"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1_1computations_1a336eecda912a227c066bccb2ae6f1a22" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="yes" virt="non-virtual">
<type>auto</type>
<definition>auto serif::model::computations::shape_derivatives</definition>
<argsstring>(const discretization::backend::mfem::DofMap &amp;binding)</argsstring>
<name>shape_derivatives</name>
<qualifiedname>serif::model::computations::shape_derivatives</qualifiedname>
<param>
<type>const <ref refid="classserif_1_1discretization_1_1backend_1_1mfem_1_1_dof_map" kindref="compound">discretization::backend::mfem::DofMap</ref> &amp;</type>
<declname>binding</declname>
</param>
<briefdescription>
<para>Prepare the projected shape derivative once per evaluated geometry, retaining its computed owner. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/backend/mfem/model/computations/shape_derivatives.hpp" line="11" column="18" bodyfile="src/include/serif/backend/mfem/model/computations/shape_derivatives.hpp" bodystart="11" bodyend="19"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1_1computations_1af86649ee0630f0316604c92d4ba2ac44" prot="public" static="no" nodiscard="yes" 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>auto</type>
<definition>auto serif::model::computations::make_solver_layout_computations</definition>
<argsstring>(const Layout &amp;layout)</argsstring>
<name>make_solver_layout_computations</name>
<qualifiedname>serif::model::computations::make_solver_layout_computations</qualifiedname>
<param>
<type>const Layout &amp;</type>
<declname>layout</declname>
</param>
<briefdescription>
<para>Give normalization and preconditioning one producer for their shared coordinate layout. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/backend/mfem/model/computations/solver_layout.hpp" line="12" column="11" bodyfile="src/include/serif/backend/mfem/model/computations/solver_layout.hpp" bodystart="12" bodyend="18"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1model_1_1computations_1a1f91d15e661d43a2a8e9a6b8111e6fc3" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Layout</type>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::model::computations::surface_potential_contribution</definition>
<argsstring>(equations::SurfacePotentialBalance equation, Layout layout)</argsstring>
<name>surface_potential_contribution</name>
<qualifiedname>serif::model::computations::surface_potential_contribution</qualifiedname>
<param>
<type><ref refid="classserif_1_1equations_1_1_surface_potential_balance" kindref="compound">equations::SurfacePotentialBalance</ref></type>
<declname>equation</declname>
</param>
<param>
<type>Layout</type>
<declname>layout</declname>
</param>
<briefdescription>
<para>Replace the volume force pullback by scalar effective-potential moments on the same surface. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/backend/mfem/model/computations/surface_potential.hpp" line="13" column="11" bodyfile="src/include/serif/backend/mfem/model/computations/surface_potential.hpp" bodystart="13" bodyend="44"/>
</memberdef>
</sectiondef>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<location file="src/include/serif/backend/mfem/model/computations/interior.hpp" line="16" column="1"/>
</compounddef>
</doxygen>