Files
MeanField_SERiF/docs/xml/model_2graph_8hpp.xml

2838 lines
143 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="model_2graph_8hpp" kind="file" language="C++">
<compoundname>graph.hpp</compoundname>
<includes local="no">limits</includes>
<includes local="no">memory</includes>
<includes local="no">tuple</includes>
<includes local="no">utility</includes>
<includes refid="interior_8hpp" local="yes">serif/model/computations/interior.hpp</includes>
<includes refid="shape_8hpp" local="yes">serif/model/computations/shape.hpp</includes>
<includes refid="point__constraints_8hpp" local="yes">serif/model/computations/point_constraints.hpp</includes>
<includes refid="model_2computations_2pressure__boundary_8hpp" local="yes">serif/model/computations/pressure_boundary.hpp</includes>
<includes refid="equilibrium__plan_8hpp" local="yes">serif/model/equilibrium_plan.hpp</includes>
<includes refid="geometry_2deformation_2backend_2mfem_2computations_8hpp" local="yes">serif/geometry/deformation/backend/mfem/computations.hpp</includes>
<includes refid="volume__displacement_8hpp" local="yes">serif/geometry/deformation/backend/mfem/volume_displacement.hpp</includes>
<includes refid="boundary__computations_8hpp" local="yes">serif/geometry/surface/backend/mfem/boundary_computations.hpp</includes>
<includes refid="model_2keys_8hpp" local="yes">serif/model/keys.hpp</includes>
<includes refid="model_2plan_8hpp" local="yes">serif/model/plan.hpp</includes>
<includedby refid="equilibrium_8hpp" local="yes">src/include/serif/model/backend/mfem/equilibrium.hpp</includedby>
<incdepgraph>
<node id="69">
<label>serif/dimensions/dimensions.hpp</label>
<link refid="dimensions_8hpp"/>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="70" relation="include">
</childnode>
</node>
<node id="209">
<label>serif/dimensions/partial.hpp</label>
<link refid="partial_8hpp"/>
<childnode refid="70" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
</node>
<node id="70">
<label>serif/dimensions/quantities.hpp</label>
<link refid="quantities_8hpp"/>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="71" relation="include">
</childnode>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
</node>
<node id="215">
<label>serif/dimensions/type_alias.hpp</label>
<link refid="type__alias_8hpp"/>
<childnode refid="70" relation="include">
</childnode>
<childnode refid="69" relation="include">
</childnode>
</node>
<node id="119">
<label>serif/discretization/backend/mfem/basis_evaluation.hpp</label>
<link refid="basis__evaluation_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="53" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="120" relation="include">
</childnode>
</node>
<node id="204">
<label>serif/discretization/backend/mfem/boundary_trace.hpp</label>
<link refid="boundary__trace_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="196" relation="include">
</childnode>
</node>
<node id="148">
<label>serif/discretization/backend/mfem/coefficient_tracking.hpp</label>
<link refid="coefficient__tracking_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
</node>
<node id="102">
<label>serif/discretization/backend/mfem/dof_map.hpp</label>
<link refid="dof__map_8hpp"/>
<childnode refid="103" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="104" relation="include">
</childnode>
<childnode refid="54" relation="include">
</childnode>
<childnode refid="105" relation="include">
</childnode>
<childnode refid="106" relation="include">
</childnode>
</node>
<node id="196">
<label>serif/discretization/backend/mfem/dof_selection.hpp</label>
<link refid="dof__selection_8hpp"/>
<childnode refid="65" relation="include">
</childnode>
<childnode refid="102" relation="include">
</childnode>
</node>
<node id="198">
<label>serif/discretization/backend/mfem/point_dofs.hpp</label>
<link refid="point__dofs_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="103" relation="include">
</childnode>
<childnode refid="196" relation="include">
</childnode>
</node>
<node id="120">
<label>serif/discretization/backend/mfem/tensor_basis.hpp</label>
<link refid="tensor__basis_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="103" relation="include">
</childnode>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="121" relation="include">
</childnode>
<childnode refid="122" relation="include">
</childnode>
<childnode refid="123" relation="include">
</childnode>
<childnode refid="106" relation="include">
</childnode>
</node>
<node id="65">
<label>serif/discretization/backend/mfem/term_binding.hpp</label>
<link refid="term__binding_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="66" relation="include">
</childnode>
<childnode refid="82" relation="include">
</childnode>
<childnode refid="102" relation="include">
</childnode>
<childnode refid="106" relation="include">
</childnode>
</node>
<node id="22">
<label>serif/discretization/blocks/base.hpp</label>
<link refid="base_8hpp"/>
</node>
<node id="67">
<label>serif/discretization/blocks/concepts.hpp</label>
<link refid="discretization_2blocks_2concepts_8hpp"/>
<childnode refid="68" relation="include">
</childnode>
</node>
<node id="68">
<label>serif/discretization/blocks/fields.hpp</label>
<link refid="fields_8hpp"/>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="69" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="75" relation="include">
</childnode>
<childnode refid="79" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
<childnode refid="80" relation="include">
</childnode>
</node>
<node id="129">
<label>serif/discretization/blocks/runtime.hpp</label>
<link refid="discretization_2blocks_2runtime_8hpp"/>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="67" relation="include">
</childnode>
</node>
<node id="19">
<label>serif/discretization/blocks/system_layout.hpp</label>
<link refid="system__layout_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
</node>
<node id="66">
<label>serif/discretization/blocks/traits.hpp</label>
<link refid="discretization_2blocks_2traits_8hpp"/>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="67" relation="include">
</childnode>
</node>
<node id="75">
<label>serif/discretization/domain/concepts.hpp</label>
<link refid="discretization_2domain_2concepts_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="76" relation="include">
</childnode>
<childnode refid="77" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="78" relation="include">
</childnode>
</node>
<node id="90">
<label>serif/discretization/domain/ids/boundary.hpp</label>
<link refid="ids_2boundary_8hpp"/>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="75" relation="include">
</childnode>
</node>
<node id="89">
<label>serif/discretization/domain/ids/concepts.hpp</label>
<link refid="discretization_2domain_2ids_2concepts_8hpp"/>
<childnode refid="90" relation="include">
</childnode>
<childnode refid="91" relation="include">
</childnode>
</node>
<node id="91">
<label>serif/discretization/domain/ids/domain.hpp</label>
<link refid="domain_8hpp"/>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="75" relation="include">
</childnode>
</node>
<node id="85">
<label>serif/discretization/domain/ids/lists/concepts.hpp</label>
<link refid="discretization_2domain_2ids_2lists_2concepts_8hpp"/>
<childnode refid="86" relation="include">
</childnode>
</node>
<node id="87">
<label>serif/discretization/domain/ids/lists/lists.hpp</label>
<link refid="lists_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="88" relation="include">
</childnode>
<childnode refid="78" relation="include">
</childnode>
</node>
<node id="86">
<label>serif/discretization/domain/ids/lists/traits.hpp</label>
<link refid="discretization_2domain_2ids_2lists_2traits_8hpp"/>
<childnode refid="87" relation="include">
</childnode>
</node>
<node id="88">
<label>serif/discretization/domain/ids/validation/concepts.hpp</label>
<link refid="discretization_2domain_2ids_2validation_2concepts_8hpp"/>
<childnode refid="89" relation="include">
</childnode>
<childnode refid="92" relation="include">
</childnode>
<childnode refid="93" relation="include">
</childnode>
</node>
<node id="92">
<label>serif/discretization/domain/ids/validation/unique_ids.hpp</label>
<link refid="unique__ids_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="78" relation="include">
</childnode>
</node>
<node id="79">
<label>serif/discretization/domain/physical_domains.hpp</label>
<link refid="physical__domains_8hpp"/>
<childnode refid="77" relation="include">
</childnode>
<childnode refid="75" relation="include">
</childnode>
</node>
<node id="97">
<label>serif/discretization/domain/relation/concepts.hpp</label>
<link refid="discretization_2domain_2relation_2concepts_8hpp"/>
<childnode refid="98" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
</node>
<node id="94">
<label>serif/discretization/domain/relation/lists/concepts.hpp</label>
<link refid="discretization_2domain_2relation_2lists_2concepts_8hpp"/>
<childnode refid="95" relation="include">
</childnode>
</node>
<node id="96">
<label>serif/discretization/domain/relation/lists/relation_list.hpp</label>
<link refid="relation__list_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="97" relation="include">
</childnode>
<childnode refid="78" relation="include">
</childnode>
</node>
<node id="95">
<label>serif/discretization/domain/relation/lists/traits.hpp</label>
<link refid="discretization_2domain_2relation_2lists_2traits_8hpp"/>
<childnode refid="96" relation="include">
</childnode>
</node>
<node id="98">
<label>serif/discretization/domain/relation/relations.hpp</label>
<link refid="discretization_2domain_2relation_2relations_8hpp"/>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="75" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
<childnode refid="78" relation="include">
</childnode>
</node>
<node id="99">
<label>serif/discretization/domain/relation/validation/concepts.hpp</label>
<link refid="discretization_2domain_2relation_2validation_2concepts_8hpp"/>
<childnode refid="100" relation="include">
</childnode>
</node>
<node id="100">
<label>serif/discretization/domain/relation/validation/validation.hpp</label>
<link refid="discretization_2domain_2relation_2validation_2validation_8hpp"/>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="75" relation="include">
</childnode>
<childnode refid="85" relation="include">
</childnode>
<childnode refid="97" relation="include">
</childnode>
<childnode refid="94" relation="include">
</childnode>
<childnode refid="96" relation="include">
</childnode>
<childnode refid="101" relation="include">
</childnode>
</node>
<node id="101">
<label>serif/discretization/domain/resolver.hpp</label>
<link refid="resolver_8hpp"/>
<childnode refid="75" relation="include">
</childnode>
<childnode refid="85" relation="include">
</childnode>
<childnode refid="87" relation="include">
</childnode>
</node>
<node id="82">
<label>serif/discretization/domain/schema/concepts.hpp</label>
<link refid="discretization_2domain_2schema_2concepts_8hpp"/>
<childnode refid="83" relation="include">
</childnode>
</node>
<node id="84">
<label>serif/discretization/domain/schema/domain_schema.hpp</label>
<link refid="domain__schema_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="75" relation="include">
</childnode>
<childnode refid="85" relation="include">
</childnode>
<childnode refid="94" relation="include">
</childnode>
<childnode refid="99" relation="include">
</childnode>
<childnode refid="101" relation="include">
</childnode>
</node>
<node id="231">
<label>serif/discretization/domain/schema/schemas.hpp</label>
<link refid="schemas_8hpp"/>
<childnode refid="90" relation="include">
</childnode>
<childnode refid="91" relation="include">
</childnode>
<childnode refid="87" relation="include">
</childnode>
<childnode refid="79" relation="include">
</childnode>
<childnode refid="96" relation="include">
</childnode>
<childnode refid="98" relation="include">
</childnode>
<childnode refid="84" relation="include">
</childnode>
<childnode refid="77" relation="include">
</childnode>
</node>
<node id="83">
<label>serif/discretization/domain/schema/traits.hpp</label>
<link refid="discretization_2domain_2schema_2traits_8hpp"/>
<childnode refid="84" relation="include">
</childnode>
</node>
<node id="77">
<label>serif/discretization/domain/types.hpp</label>
<link refid="types_8hpp"/>
<childnode refid="41" relation="include">
</childnode>
</node>
<node id="130">
<label>serif/discretization/forms/concept.hpp</label>
<link refid="concept_8hpp"/>
<childnode refid="131" relation="include">
</childnode>
</node>
<node id="136">
<label>serif/discretization/forms/form_traits.hpp</label>
<link refid="form__traits_8hpp"/>
<childnode refid="130" relation="include">
</childnode>
<childnode refid="131" relation="include">
</childnode>
</node>
<node id="131">
<label>serif/discretization/forms/forms.hpp</label>
<link refid="forms_8hpp"/>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="67" relation="include">
</childnode>
<childnode refid="132" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
<childnode refid="80" relation="include">
</childnode>
</node>
<node id="132">
<label>serif/discretization/forms/operands.hpp</label>
<link refid="operands_8hpp"/>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="67" relation="include">
</childnode>
</node>
<node id="128">
<label>serif/discretization/forms/runtime.hpp</label>
<link refid="discretization_2forms_2runtime_8hpp"/>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="129" relation="include">
</childnode>
<childnode refid="130" relation="include">
</childnode>
</node>
<node id="146">
<label>serif/discretization/forms/value.hpp</label>
<link refid="value_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="66" relation="include">
</childnode>
<childnode refid="132" relation="include">
</childnode>
</node>
<node id="73">
<label>serif/discretization/functional_space/space.hpp</label>
<link refid="space_8hpp"/>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="45" relation="include">
</childnode>
</node>
<node id="137">
<label>serif/discretization/quadrature/backend/mfem/concepts.hpp</label>
<link refid="discretization_2quadrature_2backend_2mfem_2concepts_8hpp"/>
<childnode refid="39" relation="include">
</childnode>
</node>
<node id="138">
<label>serif/discretization/quadrature/backend/mfem/configure.hpp</label>
<link refid="configure_8hpp"/>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="137" relation="include">
</childnode>
</node>
<node id="125">
<label>serif/discretization/quadrature/backend/mfem/mfem_resolver.hpp</label>
<link refid="mfem__resolver_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="43" relation="include">
</childnode>
<childnode refid="126" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="127" relation="include">
</childnode>
<childnode refid="133" relation="include">
</childnode>
<childnode refid="75" relation="include">
</childnode>
<childnode refid="134" relation="include">
</childnode>
<childnode refid="135" relation="include">
</childnode>
<childnode refid="137" relation="include">
</childnode>
<childnode refid="138" relation="include">
</childnode>
<childnode refid="139" relation="include">
</childnode>
<childnode refid="140" relation="include">
</childnode>
</node>
<node id="139">
<label>serif/discretization/quadrature/backend/mfem/mfem_static_order.hpp</label>
<link refid="mfem__static__order_8hpp"/>
<childnode refid="67" relation="include">
</childnode>
<childnode refid="132" relation="include">
</childnode>
<childnode refid="130" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
<childnode refid="133" relation="include">
</childnode>
</node>
<node id="133">
<label>serif/discretization/quadrature/backend/order.hpp</label>
<link refid="discretization_2quadrature_2backend_2order_8hpp"/>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="67" relation="include">
</childnode>
<childnode refid="132" relation="include">
</childnode>
<childnode refid="106" relation="include">
</childnode>
</node>
<node id="134">
<label>serif/discretization/quadrature/policy.hpp</label>
<link refid="policy_8hpp"/>
<childnode refid="135" relation="include">
</childnode>
<childnode refid="127" relation="include">
</childnode>
</node>
<node id="135">
<label>serif/discretization/quadrature/query.hpp</label>
<link refid="query_8hpp"/>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="108" relation="include">
</childnode>
<childnode refid="127" relation="include">
</childnode>
<childnode refid="79" relation="include">
</childnode>
<childnode refid="136" relation="include">
</childnode>
<childnode refid="128" relation="include">
</childnode>
</node>
<node id="127">
<label>serif/discretization/quadrature/rules.hpp</label>
<link refid="rules_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="108" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="128" relation="include">
</childnode>
</node>
<node id="246">
<label>serif/eos/evaluation.hpp</label>
<link refid="eos_2evaluation_8hpp"/>
<childnode refid="207" relation="include">
</childnode>
</node>
<node id="207">
<label>serif/eos/models/concepts.hpp</label>
<link refid="eos_2models_2concepts_8hpp"/>
<childnode refid="208" relation="include">
</childnode>
<childnode refid="213" relation="include">
</childnode>
</node>
<node id="208">
<label>serif/eos/models/traits.hpp</label>
<link refid="eos_2models_2traits_8hpp"/>
<childnode refid="70" relation="include">
</childnode>
<childnode refid="209" relation="include">
</childnode>
<childnode refid="210" relation="include">
</childnode>
</node>
<node id="212">
<label>serif/eos/relations/catalog.hpp</label>
<link refid="catalog_8hpp"/>
<childnode refid="93" relation="include">
</childnode>
<childnode refid="78" relation="include">
</childnode>
<childnode refid="70" relation="include">
</childnode>
</node>
<node id="210">
<label>serif/eos/relations/concepts.hpp</label>
<link refid="eos_2relations_2concepts_8hpp"/>
<childnode refid="211" relation="include">
</childnode>
</node>
<node id="213">
<label>serif/eos/relations/relations.hpp</label>
<link refid="eos_2relations_2relations_8hpp"/>
<childnode refid="212" relation="include">
</childnode>
<childnode refid="69" relation="include">
</childnode>
</node>
<node id="211">
<label>serif/eos/relations/traits.hpp</label>
<link refid="eos_2relations_2traits_8hpp"/>
<childnode refid="212" relation="include">
</childnode>
</node>
<node id="143">
<label>serif/equations/concepts.hpp</label>
<link refid="equations_2concepts_8hpp"/>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="144" relation="include">
</childnode>
<childnode refid="145" relation="include">
</childnode>
</node>
<node id="144">
<label>serif/equations/contributions.hpp</label>
<link refid="equations_2contributions_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="66" relation="include">
</childnode>
<childnode refid="132" relation="include">
</childnode>
</node>
<node id="145">
<label>serif/equations/point.hpp</label>
<link refid="point_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="146" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="225">
<label>serif/equations/registry.hpp</label>
<link refid="registry_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="143" relation="include">
</childnode>
</node>
<node id="158">
<label>serif/geometry/deformation/actions.hpp</label>
<link refid="geometry_2deformation_2actions_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="159" relation="include">
</childnode>
<childnode refid="161" relation="include">
</childnode>
<childnode refid="163" relation="include">
</childnode>
<childnode refid="164" relation="include">
</childnode>
</node>
<node id="229">
<label>serif/geometry/deformation/backend/mfem/computations.hpp</label>
<link refid="geometry_2deformation_2backend_2mfem_2computations_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="230" relation="include">
</childnode>
<childnode refid="234" relation="include">
</childnode>
<childnode refid="239" relation="include">
</childnode>
<childnode refid="240" relation="include">
</childnode>
</node>
<node id="233">
<label>serif/geometry/deformation/backend/mfem/detail/reference_tracking.hpp</label>
<link refid="reference__tracking_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
</node>
<node id="230">
<label>serif/geometry/deformation/backend/mfem/inputs.hpp</label>
<link refid="geometry_2deformation_2backend_2mfem_2inputs_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="54" relation="include">
</childnode>
<childnode refid="231" relation="include">
</childnode>
<childnode refid="82" relation="include">
</childnode>
<childnode refid="232" relation="include">
</childnode>
<childnode refid="233" relation="include">
</childnode>
<childnode refid="156" relation="include">
</childnode>
<childnode refid="60" relation="include">
</childnode>
</node>
<node id="234">
<label>serif/geometry/deformation/backend/mfem/radial_interpolation.hpp</label>
<link refid="backend_2mfem_2radial__interpolation_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="235" relation="include">
</childnode>
<childnode refid="237" relation="include">
</childnode>
</node>
<node id="237">
<label>serif/geometry/deformation/backend/mfem/reference_geometry.hpp</label>
<link refid="reference__geometry_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="159" relation="include">
</childnode>
<childnode refid="238" relation="include">
</childnode>
</node>
<node id="239">
<label>serif/geometry/deformation/backend/mfem/surface_metric.hpp</label>
<link refid="surface__metric_8hpp"/>
<childnode refid="160" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="159" relation="include">
</childnode>
<childnode refid="238" relation="include">
</childnode>
<childnode refid="240" relation="include">
</childnode>
</node>
<node id="241">
<label>serif/geometry/deformation/backend/mfem/volume_displacement.hpp</label>
<link refid="volume__displacement_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="156" relation="include">
</childnode>
<childnode refid="230" relation="include">
</childnode>
<childnode refid="237" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
</node>
<node id="157">
<label>serif/geometry/deformation/composition.hpp</label>
<link refid="composition_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="158" relation="include">
</childnode>
</node>
<node id="156">
<label>serif/geometry/deformation/computations.hpp</label>
<link refid="geometry_2deformation_2computations_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="157" relation="include">
</childnode>
<childnode refid="165" relation="include">
</childnode>
<childnode refid="166" relation="include">
</childnode>
</node>
<node id="161">
<label>serif/geometry/deformation/detail/action_storage.hpp</label>
<link refid="action__storage_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="103" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="162" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="159" relation="include">
</childnode>
</node>
<node id="159">
<label>serif/geometry/deformation/failure.hpp</label>
<link refid="geometry_2deformation_2failure_8hpp"/>
<childnode refid="160" relation="include">
</childnode>
<childnode refid="108" relation="include">
</childnode>
</node>
<node id="165">
<label>serif/geometry/deformation/linearization.hpp</label>
<link refid="deformation_2linearization_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="158" relation="include">
</childnode>
</node>
<node id="232">
<label>serif/geometry/deformation/models.hpp</label>
<link refid="models_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
</node>
<node id="235">
<label>serif/geometry/deformation/radial_extension.hpp</label>
<link refid="radial__extension_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="236" relation="include">
</childnode>
<childnode refid="232" relation="include">
</childnode>
<childnode refid="163" relation="include">
</childnode>
<childnode refid="164" relation="include">
</childnode>
</node>
<node id="236">
<label>serif/geometry/deformation/radial_interpolation.hpp</label>
<link refid="radial__interpolation_8hpp"/>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="159" relation="include">
</childnode>
</node>
<node id="238">
<label>serif/geometry/deformation/reference_surface.hpp</label>
<link refid="reference__surface_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
</node>
<node id="163">
<label>serif/geometry/deformation/spaces.hpp</label>
<link refid="spaces_8hpp"/>
</node>
<node id="240">
<label>serif/geometry/deformation/surface_embedding.hpp</label>
<link refid="surface__embedding_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="160" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="159" relation="include">
</childnode>
<childnode refid="232" relation="include">
</childnode>
<childnode refid="163" relation="include">
</childnode>
<childnode refid="164" relation="include">
</childnode>
</node>
<node id="164">
<label>serif/geometry/deformation/workspace.hpp</label>
<link refid="geometry_2deformation_2workspace_8hpp"/>
</node>
<node id="227">
<label>serif/geometry/surface/backend/mfem/automatic.hpp</label>
<link refid="automatic_8hpp"/>
<childnode refid="228" relation="include">
</childnode>
</node>
<node id="242">
<label>serif/geometry/surface/backend/mfem/boundary_computations.hpp</label>
<link refid="boundary__computations_8hpp"/>
<childnode refid="202" relation="include">
</childnode>
<childnode refid="243" relation="include">
</childnode>
<childnode refid="220" relation="include">
</childnode>
</node>
<node id="203">
<label>serif/geometry/surface/backend/mfem/boundary_data.hpp</label>
<link refid="boundary__data_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="204" relation="include">
</childnode>
<childnode refid="205" relation="include">
</childnode>
<childnode refid="59" relation="include">
</childnode>
</node>
<node id="202">
<label>serif/geometry/surface/backend/mfem/boundary_inputs.hpp</label>
<link refid="boundary__inputs_8hpp"/>
<childnode refid="148" relation="include">
</childnode>
<childnode refid="203" relation="include">
</childnode>
<childnode refid="216" relation="include">
</childnode>
</node>
<node id="219">
<label>serif/geometry/surface/backend/mfem/boundary_rows.hpp</label>
<link refid="boundary__rows_8hpp"/>
<childnode refid="103" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="203" relation="include">
</childnode>
<childnode refid="217" relation="include">
</childnode>
<childnode refid="220" relation="include">
</childnode>
</node>
<node id="228">
<label>serif/geometry/surface/backend/mfem/detail/automatic_relations.hpp</label>
<link refid="automatic__relations_8hpp"/>
<childnode refid="203" relation="include">
</childnode>
</node>
<node id="205">
<label>serif/geometry/surface/compilation.hpp</label>
<link refid="compilation_8hpp"/>
<childnode refid="206" relation="include">
</childnode>
<childnode refid="214" relation="include">
</childnode>
</node>
<node id="243">
<label>serif/geometry/surface/computations.hpp</label>
<link refid="geometry_2surface_2computations_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="244" relation="include">
</childnode>
<childnode refid="166" relation="include">
</childnode>
</node>
<node id="244">
<label>serif/geometry/surface/detail/batches.hpp</label>
<link refid="batches_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="245" relation="include">
</childnode>
<childnode refid="216" relation="include">
</childnode>
</node>
<node id="245">
<label>serif/geometry/surface/detail/evaluation.hpp</label>
<link refid="geometry_2surface_2detail_2evaluation_8hpp"/>
<childnode refid="103" relation="include">
</childnode>
<childnode refid="160" relation="include">
</childnode>
<childnode refid="246" relation="include">
</childnode>
<childnode refid="217" relation="include">
</childnode>
</node>
<node id="206">
<label>serif/geometry/surface/detail/relations.hpp</label>
<link refid="geometry_2surface_2detail_2relations_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="146" relation="include">
</childnode>
<childnode refid="207" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
</node>
<node id="214">
<label>serif/geometry/surface/isobaric.hpp</label>
<link refid="isobaric_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="69" relation="include">
</childnode>
<childnode refid="215" relation="include">
</childnode>
</node>
<node id="217">
<label>serif/geometry/surface/linearization.hpp</label>
<link refid="surface_2linearization_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="145" relation="include">
</childnode>
<childnode refid="205" relation="include">
</childnode>
</node>
<node id="216">
<label>serif/geometry/surface/samples.hpp</label>
<link refid="samples_8hpp"/>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="217" relation="include">
</childnode>
<childnode refid="62" relation="include">
</childnode>
</node>
<node id="47">
<label>serif/mapping/compactification/compactification.hpp</label>
<link refid="compactification_8hpp"/>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="42" relation="include">
</childnode>
<childnode refid="48" relation="include">
</childnode>
<childnode refid="49" relation="include">
</childnode>
</node>
<node id="48">
<label>serif/mapping/compactification/input_result.hpp</label>
<link refid="input__result_8hpp"/>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
</node>
<node id="40">
<label>serif/mapping/compactification/kelvin.hpp</label>
<link refid="mapping_2compactification_2kelvin_8hpp"/>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="42" relation="include">
</childnode>
<childnode refid="47" relation="include">
</childnode>
<childnode refid="50" relation="include">
</childnode>
</node>
<node id="49">
<label>serif/mapping/compactification/variation.hpp</label>
<link refid="compactification_2variation_8hpp"/>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
</node>
<node id="51">
<label>serif/mapping/context.hpp</label>
<link refid="context_8hpp"/>
<childnode refid="37" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
</node>
<node id="52">
<label>serif/mapping/data.hpp</label>
<link refid="data_8hpp"/>
<childnode refid="53" relation="include">
</childnode>
<childnode refid="54" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
<childnode refid="55" relation="include">
</childnode>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="40" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="52" relation="include">
</childnode>
</node>
<node id="34">
<label>serif/mapping/domain_mapper.hpp</label>
<link refid="mapping_2domain__mapper_8hpp"/>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="40" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="52" relation="include">
</childnode>
<childnode refid="57" relation="include">
</childnode>
<childnode refid="58" relation="include">
</childnode>
</node>
<node id="42">
<label>serif/mapping/status.hpp</label>
<link refid="status_8hpp"/>
<childnode refid="43" relation="include">
</childnode>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="44" relation="include">
</childnode>
<childnode refid="45" relation="include">
</childnode>
</node>
<node id="151">
<label>serif/mapping/transformations.hpp</label>
<link refid="transformations_8hpp"/>
<childnode refid="57" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
</node>
<node id="57">
<label>serif/mapping/variation.hpp</label>
<link refid="variation_8hpp"/>
<childnode refid="37" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
</node>
<node id="118">
<label>serif/mapping/volume_cache.hpp</label>
<link refid="volume__cache_8hpp"/>
<childnode refid="37" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
</node>
<node id="45">
<label>serif/meta/enums.hpp</label>
<link refid="enums_8hpp"/>
<childnode refid="43" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="46" relation="include">
</childnode>
</node>
<node id="80">
<label>serif/meta/names.hpp</label>
<link refid="names_8hpp"/>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="81" relation="include">
</childnode>
</node>
<node id="11">
<label>serif/model/backend/mfem/actions.hpp</label>
<link refid="model_2backend_2mfem_2actions_8hpp"/>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="169">
<label>serif/model/backend/mfem/deformation.hpp</label>
<link refid="model_2backend_2mfem_2deformation_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="165" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="106" relation="include">
</childnode>
</node>
<node id="8">
<label>serif/model/backend/mfem/system.hpp</label>
<link refid="system_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
</node>
<node id="154">
<label>serif/model/backend/mfem/volume.hpp</label>
<link refid="volume_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
</node>
<node id="16">
<label>serif/model/backend/mfem/volume_actions.hpp</label>
<link refid="volume__actions_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
</node>
<node id="6">
<label>serif/model/computations/interior.hpp</label>
<link refid="interior_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="154" relation="include">
</childnode>
<childnode refid="155" relation="include">
</childnode>
<childnode refid="170" relation="include">
</childnode>
<childnode refid="188" relation="include">
</childnode>
</node>
<node id="192">
<label>serif/model/computations/point_constraints.hpp</label>
<link refid="point__constraints_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="193" relation="include">
</childnode>
<childnode refid="199" relation="include">
</childnode>
</node>
<node id="201">
<label>serif/model/computations/pressure_boundary.hpp</label>
<link refid="model_2computations_2pressure__boundary_8hpp"/>
<childnode refid="103" relation="include">
</childnode>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="202" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="218" relation="include">
</childnode>
</node>
<node id="191">
<label>serif/model/computations/shape.hpp</label>
<link refid="shape_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="156" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="169" relation="include">
</childnode>
<childnode refid="154" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
</node>
<node id="155">
<label>serif/model/computations/shape_derivatives.hpp</label>
<link refid="shape__derivatives_8hpp"/>
<childnode refid="156" relation="include">
</childnode>
<childnode refid="169" relation="include">
</childnode>
</node>
<node id="226">
<label>serif/model/detail/surface_plan.hpp</label>
<link refid="surface__plan_8hpp"/>
<childnode refid="227" relation="include">
</childnode>
<childnode refid="223" relation="include">
</childnode>
</node>
<node id="223">
<label>serif/model/equilibrium_equations.hpp</label>
<link refid="equilibrium__equations_8hpp"/>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
</node>
<node id="222">
<label>serif/model/equilibrium_plan.hpp</label>
<link refid="equilibrium__plan_8hpp"/>
<childnode refid="223" relation="include">
</childnode>
<childnode refid="224" relation="include">
</childnode>
<childnode refid="226" relation="include">
</childnode>
<childnode refid="142" relation="include">
</childnode>
</node>
<node id="1">
<label>src/include/serif/model/graph.hpp</label>
<link refid="model_2graph_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="191" relation="include">
</childnode>
<childnode refid="192" relation="include">
</childnode>
<childnode refid="201" relation="include">
</childnode>
<childnode refid="222" relation="include">
</childnode>
<childnode refid="229" relation="include">
</childnode>
<childnode refid="241" relation="include">
</childnode>
<childnode refid="242" relation="include">
</childnode>
<childnode refid="247" relation="include">
</childnode>
<childnode refid="224" relation="include">
</childnode>
</node>
<node id="247">
<label>serif/model/keys.hpp</label>
<link refid="model_2keys_8hpp"/>
</node>
<node id="224">
<label>serif/model/plan.hpp</label>
<link refid="model_2plan_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="225" relation="include">
</childnode>
<childnode refid="141" relation="include">
</childnode>
</node>
<node id="189">
<label>serif/operators/backend/mfem/element_coordinates.hpp</label>
<link refid="element__coordinates_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="126" relation="include">
</childnode>
<childnode refid="190" relation="include">
</childnode>
<childnode refid="102" relation="include">
</childnode>
</node>
<node id="117">
<label>serif/operators/backend/mfem/element_data.hpp</label>
<link refid="element__data_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="118" relation="include">
</childnode>
<childnode refid="119" relation="include">
</childnode>
</node>
<node id="149">
<label>serif/operators/backend/mfem/element_evaluation.hpp</label>
<link refid="element__evaluation_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="103" relation="include">
</childnode>
<childnode refid="150" relation="include">
</childnode>
<childnode refid="117" relation="include">
</childnode>
<childnode refid="147" relation="include">
</childnode>
<childnode refid="141" relation="include">
</childnode>
<childnode refid="34" relation="include">
</childnode>
</node>
<node id="173">
<label>serif/operators/backend/mfem/element_preparation.hpp</label>
<link refid="element__preparation_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="103" relation="include">
</childnode>
<childnode refid="160" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="34" relation="include">
</childnode>
<childnode refid="117" relation="include">
</childnode>
<childnode refid="150" relation="include">
</childnode>
<childnode refid="124" relation="include">
</childnode>
<childnode refid="174" relation="include">
</childnode>
<childnode refid="59" relation="include">
</childnode>
<childnode refid="147" relation="include">
</childnode>
<childnode refid="152" relation="include">
</childnode>
</node>
<node id="153">
<label>serif/operators/backend/mfem/element_transpose.hpp</label>
<link refid="element__transpose_8hpp"/>
<childnode refid="149" relation="include">
</childnode>
</node>
<node id="13">
<label>serif/operators/backend/mfem/linearized_block.hpp</label>
<link refid="linearized__block_8hpp"/>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
</node>
<node id="193">
<label>serif/operators/backend/mfem/nodal_computations.hpp</label>
<link refid="nodal__computations_8hpp"/>
<childnode refid="160" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="194" relation="include">
</childnode>
<childnode refid="197" relation="include">
</childnode>
<childnode refid="175" relation="include">
</childnode>
<childnode refid="177" relation="include">
</childnode>
</node>
<node id="195">
<label>serif/operators/backend/mfem/nodal_data.hpp</label>
<link refid="nodal__data_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="196" relation="include">
</childnode>
<childnode refid="142" relation="include">
</childnode>
</node>
<node id="194">
<label>serif/operators/backend/mfem/nodal_evaluation.hpp</label>
<link refid="nodal__evaluation_8hpp"/>
<childnode refid="103" relation="include">
</childnode>
<childnode refid="160" relation="include">
</childnode>
<childnode refid="195" relation="include">
</childnode>
<childnode refid="174" relation="include">
</childnode>
</node>
<node id="197">
<label>serif/operators/backend/mfem/nodal_inputs.hpp</label>
<link refid="nodal__inputs_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="148" relation="include">
</childnode>
<childnode refid="198" relation="include">
</childnode>
<childnode refid="195" relation="include">
</childnode>
<childnode refid="59" relation="include">
</childnode>
<childnode refid="60" relation="include">
</childnode>
</node>
<node id="200">
<label>serif/operators/backend/mfem/nodal_rows.hpp</label>
<link refid="nodal__rows_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="103" relation="include">
</childnode>
<childnode refid="195" relation="include">
</childnode>
</node>
<node id="150">
<label>serif/operators/backend/mfem/operand_evaluation.hpp</label>
<link refid="operand__evaluation_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="104" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="53" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="142" relation="include">
</childnode>
<childnode refid="119" relation="include">
</childnode>
<childnode refid="102" relation="include">
</childnode>
<childnode refid="151" relation="include">
</childnode>
<childnode refid="106" relation="include">
</childnode>
<childnode refid="152" relation="include">
</childnode>
</node>
<node id="199">
<label>serif/operators/backend/mfem/point_border.hpp</label>
<link refid="point__border_8hpp"/>
<childnode refid="200" relation="include">
</childnode>
</node>
<node id="175">
<label>serif/operators/backend/mfem/preparation.hpp</label>
<link refid="operators_2backend_2mfem_2preparation_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="160" relation="include">
</childnode>
<childnode refid="176" relation="include">
</childnode>
<childnode refid="174" relation="include">
</childnode>
</node>
<node id="218">
<label>serif/operators/backend/mfem/pressure_field_block.hpp</label>
<link refid="pressure__field__block_8hpp"/>
<childnode refid="103" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="219" relation="include">
</childnode>
<childnode refid="221" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
</node>
<node id="124">
<label>serif/operators/backend/mfem/quadrature.hpp</label>
<link refid="quadrature_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="53" relation="include">
</childnode>
<childnode refid="125" relation="include">
</childnode>
<childnode refid="141" relation="include">
</childnode>
</node>
<node id="174">
<label>serif/operators/backend/mfem/rejection.hpp</label>
<link refid="rejection_8hpp"/>
<childnode refid="108" relation="include">
</childnode>
<childnode refid="42" relation="include">
</childnode>
</node>
<node id="221">
<label>serif/operators/backend/mfem/replaced_rows.hpp</label>
<link refid="replaced__rows_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="59">
<label>serif/operators/backend/mfem/term_coefficients.hpp</label>
<link refid="term__coefficients_8hpp"/>
<childnode refid="60" relation="include">
</childnode>
<childnode refid="65" relation="include">
</childnode>
</node>
<node id="30">
<label>serif/operators/backend/mfem/volume_application.hpp</label>
<link refid="volume__application_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
<childnode refid="149" relation="include">
</childnode>
<childnode refid="153" relation="include">
</childnode>
</node>
<node id="170">
<label>serif/operators/backend/mfem/volume_computations.hpp</label>
<link refid="volume__computations_8hpp"/>
<childnode refid="160" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="171" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
<childnode refid="177" relation="include">
</childnode>
</node>
<node id="32">
<label>serif/operators/backend/mfem/volume_data.hpp</label>
<link refid="volume__data_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="33" relation="include">
</childnode>
<childnode refid="34" relation="include">
</childnode>
<childnode refid="59" relation="include">
</childnode>
<childnode refid="117" relation="include">
</childnode>
<childnode refid="124" relation="include">
</childnode>
<childnode refid="147" relation="include">
</childnode>
</node>
<node id="188">
<label>serif/operators/backend/mfem/volume_field_block.hpp</label>
<link refid="volume__field__block_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="189" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
</node>
<node id="31">
<label>serif/operators/backend/mfem/volume_inputs.hpp</label>
<link refid="volume__inputs_8hpp"/>
<childnode refid="32" relation="include">
</childnode>
<childnode refid="148" relation="include">
</childnode>
</node>
<node id="171">
<label>serif/operators/backend/mfem/volume_stages.hpp</label>
<link refid="volume__stages_8hpp"/>
<childnode refid="103" relation="include">
</childnode>
<childnode refid="160" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="172" relation="include">
</childnode>
<childnode refid="173" relation="include">
</childnode>
<childnode refid="149" relation="include">
</childnode>
<childnode refid="175" relation="include">
</childnode>
<childnode refid="32" relation="include">
</childnode>
<childnode refid="106" relation="include">
</childnode>
<childnode refid="115" relation="include">
</childnode>
</node>
<node id="147">
<label>serif/operators/backend/mfem/workspace.hpp</label>
<link refid="operators_2backend_2mfem_2workspace_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="52" relation="include">
</childnode>
<childnode refid="57" relation="include">
</childnode>
<childnode refid="119" relation="include">
</childnode>
</node>
<node id="142">
<label>serif/operators/concepts.hpp</label>
<link refid="operators_2concepts_8hpp"/>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="66" relation="include">
</childnode>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="143" relation="include">
</childnode>
</node>
<node id="172">
<label>serif/operators/contributions.hpp</label>
<link refid="operators_2contributions_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="143" relation="include">
</childnode>
</node>
<node id="141">
<label>serif/operators/plan.hpp</label>
<link refid="operators_2plan_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="131" relation="include">
</childnode>
<childnode refid="142" relation="include">
</childnode>
</node>
<node id="220">
<label>serif/utils/checks/finite.hpp</label>
<link refid="checks_2finite_8hpp"/>
<childnode refid="103" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
</node>
<node id="26">
<label>serif/utils/dependencies/binding.hpp</label>
<link refid="utils_2dependencies_2binding_8hpp"/>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
</node>
<node id="167">
<label>serif/utils/dependencies/computation.hpp</label>
<link refid="computation_8hpp"/>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="181">
<label>serif/utils/dependencies/computation_cache.hpp</label>
<link refid="computation__cache_8hpp"/>
<childnode refid="106" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="160" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="104" relation="include">
</childnode>
<childnode refid="108" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="176" relation="include">
</childnode>
<childnode refid="182" relation="include">
</childnode>
</node>
<node id="166">
<label>serif/utils/dependencies/computation_graph.hpp</label>
<link refid="computation__graph_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="167" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="168" relation="include">
</childnode>
</node>
<node id="187">
<label>serif/utils/dependencies/computation_store.hpp</label>
<link refid="computation__store_8hpp"/>
<childnode refid="106" relation="include">
</childnode>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="104" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
</node>
<node id="177">
<label>serif/utils/dependencies/dependencies.hpp</label>
<link refid="dependencies_8hpp"/>
<childnode refid="178" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="60" relation="include">
</childnode>
<childnode refid="167" relation="include">
</childnode>
<childnode refid="179" relation="include">
</childnode>
<childnode refid="166" relation="include">
</childnode>
<childnode refid="181" relation="include">
</childnode>
<childnode refid="187" relation="include">
</childnode>
<childnode refid="63" relation="include">
</childnode>
</node>
<node id="60">
<label>serif/utils/dependencies/dependency_context.hpp</label>
<link refid="dependency__context_8hpp"/>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="62" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="64" relation="include">
</childnode>
</node>
<node id="182">
<label>serif/utils/dependencies/detail/cache_storage.hpp</label>
<link refid="cache__storage_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="183" relation="include">
</childnode>
</node>
<node id="183">
<label>serif/utils/dependencies/detail/cache_traits.hpp</label>
<link refid="cache__traits_8hpp"/>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="184" relation="include">
</childnode>
<childnode refid="185" relation="include">
</childnode>
<childnode refid="186" relation="include">
</childnode>
</node>
<node id="168">
<label>serif/utils/dependencies/detail/graph.hpp</label>
<link refid="utils_2dependencies_2detail_2graph_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
</node>
<node id="180">
<label>serif/utils/dependencies/detail/result.hpp</label>
<link refid="result_8hpp"/>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="160" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="185">
<label>serif/utils/dependencies/detail/schema.hpp</label>
<link refid="schema_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="60" relation="include">
</childnode>
<childnode refid="166" relation="include">
</childnode>
<childnode refid="180" relation="include">
</childnode>
</node>
<node id="24">
<label>serif/utils/dependencies/detail/type_lists.hpp</label>
<link refid="type__lists_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="179">
<label>serif/utils/dependencies/incremental_computation.hpp</label>
<link refid="incremental__computation_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="167" relation="include">
</childnode>
<childnode refid="180" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
</node>
<node id="25">
<label>serif/utils/dependencies/key_list.hpp</label>
<link refid="key__list_8hpp"/>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="23">
<label>serif/utils/dependencies/key_list_operations.hpp</label>
<link refid="key__list__operations_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
</node>
<node id="178">
<label>serif/utils/dependencies/keys.hpp</label>
<link refid="utils_2dependencies_2keys_8hpp"/>
</node>
<node id="176">
<label>serif/utils/dependencies/preparation.hpp</label>
<link refid="utils_2dependencies_2preparation_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="43" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="45" relation="include">
</childnode>
</node>
<node id="62">
<label>serif/utils/dependencies/resource.hpp</label>
<link refid="resource_8hpp"/>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="63" relation="include">
</childnode>
</node>
<node id="63">
<label>serif/utils/dependencies/snapshot.hpp</label>
<link refid="snapshot_8hpp"/>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
</node>
<node id="44">
<label>serif/utils/error/codes.hpp</label>
<link refid="codes_8hpp"/>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="45" relation="include">
</childnode>
</node>
<node id="106">
<label>serif/utils/error/errors.hpp</label>
<link refid="errors_8hpp"/>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="107" relation="include">
</childnode>
<childnode refid="108" relation="include">
</childnode>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="109" relation="include">
</childnode>
<childnode refid="110" relation="include">
</childnode>
<childnode refid="113" relation="include">
</childnode>
<childnode refid="44" relation="include">
</childnode>
<childnode refid="115" relation="include">
</childnode>
</node>
<node id="140">
<label>serif/utils/format/strings.hpp</label>
<link refid="format_2strings_8hpp"/>
<childnode refid="108" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
</node>
<node id="152">
<label>serif/utils/misc/compensated_sum.hpp</label>
<link refid="compensated__sum_8hpp"/>
<childnode refid="103" relation="include">
</childnode>
</node>
<node id="64">
<label>serif/utils/misc/concepts/concat.hpp</label>
<link refid="concat_8hpp"/>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="113">
<label>serif/utils/misc/concepts/exceptions.hpp</label>
<link refid="utils_2misc_2concepts_2exceptions_8hpp"/>
<childnode refid="114" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="108" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
</node>
<node id="186">
<label>serif/utils/misc/concepts/filter.hpp</label>
<link refid="filter_8hpp"/>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="72">
<label>serif/utils/misc/concepts/numeric.hpp</label>
<link refid="numeric_8hpp"/>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
</node>
<node id="93">
<label>serif/utils/misc/concepts/type_uniqueness.hpp</label>
<link refid="concepts_2type__uniqueness_8hpp"/>
<childnode refid="27" relation="include">
</childnode>
</node>
<node id="28">
<label>serif/utils/misc/std_helper/cleaning.hpp</label>
<link refid="cleaning_8hpp"/>
<childnode refid="21" relation="include">
</childnode>
</node>
<node id="78">
<label>serif/utils/misc/std_helper/variadic_cleaning.hpp</label>
<link refid="variadic__cleaning_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
</node>
<node id="110">
<label>serif/utils/misc/terminal/colors.hpp</label>
<link refid="colors_8hpp"/>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="107" relation="include">
</childnode>
<childnode refid="111" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="112" relation="include">
</childnode>
</node>
<node id="27">
<label>serif/utils/misc/traits/type_uniqueness.hpp</label>
<link refid="traits_2type__uniqueness_8hpp"/>
<childnode refid="28" relation="include">
</childnode>
</node>
<node id="115">
<label>serif/utils/types/strings.hpp</label>
<link refid="types_2strings_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="116" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
</node>
<node id="29">
<label>serif/utils/types/type_list.hpp</label>
<link refid="type__list_8hpp"/>
</node>
<node id="50">
<label>serif/utils/user_options/mapping/compactification/kelvin.hpp</label>
<link refid="utils_2user__options_2mapping_2compactification_2kelvin_8hpp"/>
</node>
<node id="58">
<label>serif/utils/user_options/mapping/domain_mapper.hpp</label>
<link refid="utils_2user__options_2mapping_2domain__mapper_8hpp"/>
</node>
<node id="17">
<label>algorithm</label>
</node>
<node id="18">
<label>array</label>
</node>
<node id="103">
<label>cmath</label>
</node>
<node id="71">
<label>compare</label>
</node>
<node id="61">
<label>concepts</label>
</node>
<node id="20">
<label>cstddef</label>
</node>
<node id="35">
<label>cstdint</label>
</node>
<node id="107">
<label>cstdio</label>
</node>
<node id="111">
<label>cstdlib</label>
</node>
<node id="114">
<label>exception</label>
</node>
<node id="160">
<label>expected</label>
</node>
<node id="74">
<label>format</label>
</node>
<node id="12">
<label>functional</label>
</node>
<node id="162">
<label>initializer_list</label>
</node>
<node id="116">
<label>iostream</label>
</node>
<node id="2">
<label>limits</label>
</node>
<node id="46">
<label>magic_enum/magic_enum_all.hpp</label>
</node>
<node id="56">
<label>map</label>
</node>
<node id="3">
<label>memory</label>
</node>
<node id="190">
<label>mfem/fem/doftrans.hpp</label>
</node>
<node id="38">
<label>mfem/fem/eltrans.hpp</label>
</node>
<node id="53">
<label>mfem/fem/fe/fe_base.hpp</label>
</node>
<node id="121">
<label>mfem/fem/fe/fe_h1.hpp</label>
</node>
<node id="122">
<label>mfem/fem/fe/fe_l2.hpp</label>
</node>
<node id="123">
<label>mfem/fem/fe/fe_rt.hpp</label>
</node>
<node id="54">
<label>mfem/fem/fespace.hpp</label>
</node>
<node id="126">
<label>mfem/fem/geom.hpp</label>
</node>
<node id="33">
<label>mfem/fem/gridfunc.hpp</label>
</node>
<node id="39">
<label>mfem/fem/intrules.hpp</label>
</node>
<node id="105">
<label>mfem/fem/pfespace.hpp</label>
</node>
<node id="37">
<label>mfem/linalg/densemat.hpp</label>
</node>
<node id="14">
<label>mfem/linalg/operator.hpp</label>
</node>
<node id="15">
<label>mfem/linalg/sparsemat.hpp</label>
</node>
<node id="36">
<label>mfem/linalg/vector.hpp</label>
</node>
<node id="55">
<label>mfem/mesh/mesh.hpp</label>
</node>
<node id="81">
<label>nameof.hpp</label>
</node>
<node id="76">
<label>numeric</label>
</node>
<node id="7">
<label>optional</label>
</node>
<node id="9">
<label>span</label>
</node>
<node id="104">
<label>stdexcept</label>
</node>
<node id="108">
<label>string</label>
</node>
<node id="41">
<label>string_view</label>
</node>
<node id="4">
<label>tuple</label>
</node>
<node id="21">
<label>type_traits</label>
</node>
<node id="112">
<label>unistd.h</label>
</node>
<node id="43">
<label>unordered_map</label>
</node>
<node id="5">
<label>utility</label>
</node>
<node id="184">
<label>variant</label>
</node>
<node id="10">
<label>vector</label>
</node>
<node id="109">
<label>version</label>
</node>
</incdepgraph>
<invincdepgraph>
<node id="2">
<label>src/include/serif/model/backend/mfem/equilibrium.hpp</label>
<link refid="equilibrium_8hpp"/>
</node>
<node id="1">
<label>src/include/serif/model/graph.hpp</label>
<link refid="model_2graph_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
</node>
</invincdepgraph>
<innernamespace refid="namespaceserif">serif</innernamespace>
<innernamespace refid="namespaceserif_1_1model">serif::model</innernamespace>
<innernamespace refid="namespaceserif_1_1model_1_1detail">serif::model::detail</innernamespace>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<programlisting>
<codeline lineno="1"><highlight class="preprocessor">#pragma<sp/>once</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight></codeline>
<codeline lineno="3"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;limits&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;memory&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;tuple&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;utility&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="7"><highlight class="normal"></highlight></codeline>
<codeline lineno="8"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="interior_8hpp" kindref="compound">serif/model/computations/interior.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="9"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="shape_8hpp" kindref="compound">serif/model/computations/shape.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="10"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="point__constraints_8hpp" kindref="compound">serif/model/computations/point_constraints.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="11"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="model_2computations_2pressure__boundary_8hpp" kindref="compound">serif/model/computations/pressure_boundary.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="12"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="equilibrium__plan_8hpp" kindref="compound">serif/model/equilibrium_plan.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="13"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="geometry_2deformation_2backend_2mfem_2computations_8hpp" kindref="compound">serif/geometry/deformation/backend/mfem/computations.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="14"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="volume__displacement_8hpp" kindref="compound">serif/geometry/deformation/backend/mfem/volume_displacement.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="15"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="boundary__computations_8hpp" kindref="compound">serif/geometry/surface/backend/mfem/boundary_computations.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="16"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="model_2keys_8hpp" kindref="compound">serif/model/keys.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="17"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="model_2plan_8hpp" kindref="compound">serif/model/plan.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="18"><highlight class="normal"></highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1model" kindref="compound">serif::model</ref></highlight></codeline>
<codeline lineno="20"><highlight class="normal">{</highlight></codeline>
<codeline lineno="21"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1model_1_1detail" kindref="compound">detail</ref></highlight></codeline>
<codeline lineno="22"><highlight class="normal"><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="24"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1solver_1_1normalization_1_1checks_1abb7db6f97f05bfb22c812df1ac4184ed" kindref="member">Layout</ref>,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Owner,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal">...<sp/>ContributionKeys&gt;</highlight></codeline>
<codeline lineno="25"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1model_1_1detail_1a1913d9c0eef4efd5fef3eef1c1f097de" kindref="member">physical_system_computation</ref>(Layout<sp/>layout,<sp/>std::shared_ptr&lt;const<sp/>Owner&gt;<sp/>owner,</highlight></codeline>
<codeline lineno="26"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>utils::dependencies::KeyList&lt;ContributionKeys...&gt;)</highlight></codeline>
<codeline lineno="27"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="28"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/>namespace<sp/></highlight><highlight class="normal">utils::dependencies;</highlight></codeline>
<codeline lineno="29"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/>namespace<sp/></highlight><highlight class="normal">discretization::blocks;</highlight></codeline>
<codeline lineno="30"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/>namespace<sp/></highlight><highlight class="normal">utils::errors;</highlight></codeline>
<codeline lineno="31"><highlight class="normal"></highlight></codeline>
<codeline lineno="32"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::size_t<sp/>rows<sp/>=<sp/>layout.template<sp/>total_size&lt;RepresentedValueKind::residual&gt;();</highlight></codeline>
<codeline lineno="33"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::size_t<sp/>columns<sp/>=<sp/>layout.template<sp/>total_size&lt;RepresentedValueKind::value&gt;();</highlight></codeline>
<codeline lineno="34"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>serif_ensure&lt;SERiFErrorCode::INVALID_DOF_COUNT&gt;(rows<sp/>&lt;=<sp/>std::numeric_limits&lt;int&gt;::max()<sp/>&amp;&amp;<sp/>columns<sp/>&lt;=<sp/>std::numeric_limits&lt;int&gt;::max(),<sp/></highlight><highlight class="stringliteral">&quot;Stellar<sp/>system<sp/>dimensions<sp/>exceed<sp/>the<sp/>backend&apos;s<sp/>integer<sp/>range.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="35"><highlight class="normal"></highlight></codeline>
<codeline lineno="36"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1utils_1_1dependencies_1a70e11340fa044443fefa79ba7e0c11d5" kindref="member">make_computation</ref>&lt;keys::PhysicalSystem,<sp/><ref refid="namespaceserif_1_1utils_1_1dependencies_1a22eef682b02dad9de4774e4b68b003ba" kindref="member">InputList</ref>&lt;ContributionKeys...&gt;&gt;([layout,<sp/>owner<sp/>=<sp/>std::move(owner)](</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;...<sp/>contributions)</highlight></codeline>
<codeline lineno="37"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="38"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>computations::Contributions<sp/>combined;</highlight></codeline>
<codeline lineno="39"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>combined.actions.emplace();</highlight></codeline>
<codeline lineno="40"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>append<sp/>=<sp/>[&amp;](</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>computations::Contributions&amp;<sp/>part)</highlight></codeline>
<codeline lineno="41"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="42"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>combined.residual.insert(combined.residual.end(),<sp/>part.residual.begin(),<sp/>part.residual.end());</highlight></codeline>
<codeline lineno="43"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>combined.jacobian.insert(combined.jacobian.end(),<sp/>part.jacobian.begin(),<sp/>part.jacobian.end());</highlight></codeline>
<codeline lineno="44"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>combined.replacements.insert(combined.replacements.end(),<sp/>part.replacements.begin(),<sp/>part.replacements.end());</highlight></codeline>
<codeline lineno="45"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>actions<sp/>=<sp/>part.actions<sp/>?<sp/>*part.actions<sp/>:<sp/>part.jacobian;</highlight></codeline>
<codeline lineno="46"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>combined.actions-&gt;insert(combined.actions-&gt;end(),<sp/>actions.begin(),<sp/>actions.end());</highlight></codeline>
<codeline lineno="47"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="48"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(append(contributions),<sp/>...);</highlight></codeline>
<codeline lineno="49"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1model_1_1backend_1_1mfem_1a0bbe6e20dc171c036fcc48c18ee525c4" kindref="member">backend::mfem::make_accepted_system</ref>(</highlight></codeline>
<codeline lineno="50"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="keywordtype">int</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(layout.template<sp/>total_size&lt;RepresentedValueKind::residual&gt;()),</highlight></codeline>
<codeline lineno="51"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="keywordtype">int</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(layout.template<sp/>total_size&lt;RepresentedValueKind::value&gt;()),</highlight></codeline>
<codeline lineno="52"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::move(combined.residual),<sp/>std::move(combined.jacobian),<sp/>std::move(combined.replacements),<sp/>owner,<sp/>std::move(combined.actions));</highlight></codeline>
<codeline lineno="53"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>});</highlight></codeline>
<codeline lineno="54"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="55"><highlight class="normal"></highlight></codeline>
<codeline lineno="57"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal">...<sp/>Equations,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal">...<sp/>Additional&gt;</highlight></codeline>
<codeline lineno="58"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keyword">consteval</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1model_1_1detail_1ae83ec19dfdc74cef1e310754e1fc7d12" kindref="member">contribution_keys</ref>(utils::types::TypeList&lt;Equations...&gt;,<sp/>utils::dependencies::KeyList&lt;Additional...&gt;)</highlight></codeline>
<codeline lineno="59"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="60"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>utils::dependencies::KeyList&lt;computations::InteriorContribution&lt;typename<sp/>Equations::Test&gt;...,<sp/>Additional...&gt;{};</highlight></codeline>
<codeline lineno="61"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="62"><highlight class="normal"></highlight></codeline>
<codeline lineno="64"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Registry,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Discretization,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1solver_1_1normalization_1_1checks_1abb7db6f97f05bfb22c812df1ac4184ed" kindref="member">Layout</ref>,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal">...<sp/>Equations&gt;</highlight></codeline>
<codeline lineno="65"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1model_1_1detail_1ac05e8685fe7931d74aec47a2fad22331" kindref="member">interior_computations</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::shared_ptr&lt;const<sp/>Registry&gt;&amp;<sp/>registry,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>Discretization&amp;<sp/>discretization,</highlight></codeline>
<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>Layout&amp;<sp/>layout,<sp/>operators::backend::mfem::VolumeOptions<sp/>options,<sp/>utils::types::TypeList&lt;Equations...&gt;)</highlight></codeline>
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="68"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>std::tuple_cat(<ref refid="namespaceserif_1_1operators_1_1backend_1_1mfem_1a6ea978d5b2c099dafd286905ca130c27" kindref="member">operators::backend::mfem::make_volume_equation_computations&lt;typename Equations::Test&gt;</ref>(</highlight></codeline>
<codeline lineno="69"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::shared_ptr&lt;const<sp/>Equations&gt;(registry,<sp/>&amp;registry-&gt;template<sp/>get&lt;Equations&gt;()),</highlight></codeline>
<codeline lineno="70"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1discretization_1_1quadrature_1a2170ba7c65dd986e68afb2cc85f2ad88a39629fd04651ccd980a12031e92a4bbf" kindref="member">discretization</ref>.template<sp/>equation_discretization&lt;typename<sp/>Equations::Test&gt;(),<sp/>options)...,</highlight></codeline>
<codeline lineno="71"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::tuple{computations::interior_contribution&lt;Equations&gt;(layout)...});</highlight></codeline>
<codeline lineno="72"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="74"><highlight class="normal"></highlight></codeline>
<codeline lineno="81"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;<ref refid="conceptserif_1_1model_1_1_executable_interior_equations" kindref="compound">ExecutableInteriorEquations</ref><sp/>Registry,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Discretization,<sp/>discretization::blocks::SystemLayoutType<sp/><ref refid="namespaceserif_1_1solver_1_1normalization_1_1checks_1abb7db6f97f05bfb22c812df1ac4184ed" kindref="member">Layout</ref>,</highlight></codeline>
<codeline lineno="82"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal">...<sp/>AdditionalComputations,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal">...<sp/>AdditionalContributions&gt;</highlight></codeline>
<codeline lineno="83"><highlight class="normal"><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1model_1a818040e7235375f50650868a1fec3ae6" kindref="member">make_model_graph</ref>(std::shared_ptr&lt;const<sp/>Registry&gt;<sp/>registry,<sp/>std::shared_ptr&lt;const<sp/>Discretization&gt;<sp/>discretization,</highlight></codeline>
<codeline lineno="84"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>Layout&amp;<sp/>layout,<sp/>std::tuple&lt;AdditionalComputations...&gt;<sp/>additional<sp/>=<sp/>{},</highlight></codeline>
<codeline lineno="85"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>utils::dependencies::KeyList&lt;AdditionalContributions...&gt;<sp/>contributions<sp/>=<sp/>{},<sp/>operators::backend::mfem::VolumeOptions<sp/>options<sp/>=<sp/>{})</highlight></codeline>
<codeline lineno="86"><highlight class="normal"><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="87"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/>namespace<sp/></highlight><highlight class="normal">utils::errors;</highlight></codeline>
<codeline lineno="88"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">Equations<sp/>=<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Registry::Equations;</highlight></codeline>
<codeline lineno="89"><highlight class="normal"></highlight></codeline>
<codeline lineno="90"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>serif_ensure&lt;SERiFErrorCode::INVALID_ARGUMENT&gt;(registry<sp/>!=<sp/></highlight><highlight class="keyword">nullptr</highlight><highlight class="normal"><sp/>&amp;&amp;<sp/>discretization<sp/>!=<sp/></highlight><highlight class="keyword">nullptr</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;Model<sp/>graph<sp/>construction<sp/>requires<sp/>an<sp/>owning<sp/>equation<sp/>registry<sp/>and<sp/>discretization<sp/>binding.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="91"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>interior<sp/>=<sp/><ref refid="namespaceserif_1_1model_1_1detail_1ac05e8685fe7931d74aec47a2fad22331" kindref="member">detail::interior_computations</ref>(registry,<sp/>*discretization,<sp/>layout,<sp/>options,<sp/>Equations{});</highlight></codeline>
<codeline lineno="92"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>physical<sp/>=<sp/><ref refid="namespaceserif_1_1model_1_1detail_1a1913d9c0eef4efd5fef3eef1c1f097de" kindref="member">detail::physical_system_computation</ref>(layout,<sp/>discretization,<sp/><ref refid="namespaceserif_1_1model_1_1detail_1ae83ec19dfdc74cef1e310754e1fc7d12" kindref="member">detail::contribution_keys</ref>(Equations{},<sp/>contributions));</highlight></codeline>
<codeline lineno="93"><highlight class="normal"></highlight></codeline>
<codeline lineno="94"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>std::apply([](</highlight><highlight class="keyword">auto</highlight><highlight class="normal">...<sp/><ref refid="namespaceserif_1_1model_1_1computations" kindref="compound">computations</ref>)</highlight></codeline>
<codeline lineno="95"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="96"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1utils_1_1dependencies_1aaa065b5bd3823bd3835f159462af09d0" kindref="member">utils::dependencies::make_computation_graph</ref>(std::move(<ref refid="namespaceserif_1_1model_1_1computations" kindref="compound">computations</ref>)...);</highlight></codeline>
<codeline lineno="97"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>},<sp/>std::tuple_cat(interior,<sp/>std::move(additional),<sp/>std::tuple{physical}));</highlight></codeline>
<codeline lineno="98"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="99"><highlight class="normal"></highlight></codeline>
<codeline lineno="101"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;<ref refid="conceptserif_1_1model_1_1_executable_interior_equations" kindref="compound">ExecutableInteriorEquations</ref><sp/>Registry,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Discretization,<sp/>discretization::blocks::SystemLayoutType<sp/><ref refid="namespaceserif_1_1solver_1_1normalization_1_1checks_1abb7db6f97f05bfb22c812df1ac4184ed" kindref="member">Layout</ref>,</highlight></codeline>
<codeline lineno="102"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal">...<sp/>AdditionalComputations,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal">...<sp/>AdditionalContributions&gt;</highlight></codeline>
<codeline lineno="103"><highlight class="normal"><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1model_1a818040e7235375f50650868a1fec3ae6" kindref="member">make_model_graph</ref>(Registry<sp/>registry,<sp/>std::shared_ptr&lt;const<sp/>Discretization&gt;<sp/>discretization,</highlight></codeline>
<codeline lineno="104"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>Layout&amp;<sp/>layout,<sp/>std::tuple&lt;AdditionalComputations...&gt;<sp/>additional<sp/>=<sp/>{},</highlight></codeline>
<codeline lineno="105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>utils::dependencies::KeyList&lt;AdditionalContributions...&gt;<sp/>contributions<sp/>=<sp/>{},<sp/>operators::backend::mfem::VolumeOptions<sp/>options<sp/>=<sp/>{})</highlight></codeline>
<codeline lineno="106"><highlight class="normal"><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1model_1a818040e7235375f50650868a1fec3ae6" kindref="member">make_model_graph</ref>(std::make_shared&lt;const<sp/>Registry&gt;(std::move(registry)),<sp/>std::move(discretization),<sp/>layout,<sp/>std::move(additional),<sp/>contributions,<sp/>std::move(options));</highlight></codeline>
<codeline lineno="108"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="109"><highlight class="normal"></highlight></codeline>
<codeline lineno="110"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1model_1_1detail" kindref="compound">detail</ref></highlight></codeline>
<codeline lineno="111"><highlight class="normal"><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="113"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Bound,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Layout&gt;</highlight></codeline>
<codeline lineno="114"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1model_1_1detail_1a06541a710141be6fbf219de35214405a" kindref="member">shape_computations</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::shared_ptr&lt;const<sp/>Bound&gt;&amp;<sp/>bound,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>Layout&amp;<sp/>layout,<sp/>operators::backend::mfem::VolumeOptions<sp/>options)</highlight></codeline>
<codeline lineno="115"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="116"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">Description<sp/>=<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Bound::Description;</highlight></codeline>
<codeline lineno="117"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal">deformation<sp/>=<sp/>geometry::deformation::backend::mfem;</highlight></codeline>
<codeline lineno="118"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal">execution<sp/>=<sp/>operators::backend::mfem;</highlight></codeline>
<codeline lineno="119"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1solver_1_1normalization_1_1checks_1acaa67d3e28b30bca0e6be7ddb3bd267e" kindref="member">ShapeRow</ref><sp/>=<sp/>discretization::blocks::surface_deformation::shape_equilibrium;</highlight></codeline>
<codeline lineno="120"><highlight class="normal"></highlight></codeline>
<codeline lineno="121"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>(Bound::Plan::has_shape)</highlight></codeline>
<codeline lineno="122"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="123"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">Force<sp/>=<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Description::ShapeForce;</highlight></codeline>
<codeline lineno="124"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">Surface<sp/>=<sp/>std::remove_cvref_t&lt;</highlight><highlight class="keyword">decltype</highlight><highlight class="normal">(bound-&gt;discretization-&gt;deformation.model.surface)&gt;;</highlight></codeline>
<codeline lineno="125"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">Metadata<sp/>=<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>execution::volume_keys::Scoped&lt;ShapeRow&gt;::Bindings;</highlight></codeline>
<codeline lineno="126"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal">&amp;<sp/>displacement<sp/>=<sp/>bound-&gt;discretization-&gt;template<sp/>binding&lt;discretization::blocks::displacement::vector&gt;();</highlight></codeline>
<codeline lineno="127"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>std::tuple_cat(</highlight></codeline>
<codeline lineno="128"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>deformation::make_deformation_computations&lt;Surface&gt;(),</highlight></codeline>
<codeline lineno="129"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>deformation::make_volume_displacement_computations&lt;Metadata&gt;(displacement),</highlight></codeline>
<codeline lineno="130"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>execution::make_volume_equation_computations&lt;ShapeRow&gt;(std::shared_ptr&lt;const<sp/>Force&gt;(bound,<sp/>&amp;bound-&gt;definition.shape_force),</highlight></codeline>
<codeline lineno="131"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bound-&gt;template<sp/>equation_discretization&lt;typename<sp/>Force::Test&gt;(),<sp/>options),</highlight></codeline>
<codeline lineno="132"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::tuple{computations::shape_derivatives(displacement),<sp/>computations::shape_contribution&lt;Force&gt;(layout)});</highlight></codeline>
<codeline lineno="133"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="134"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="135"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="136"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>std::tuple{};</highlight></codeline>
<codeline lineno="137"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="138"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="139"><highlight class="normal"></highlight></codeline>
<codeline lineno="141"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Bound,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1solver_1_1normalization_1_1checks_1abb7db6f97f05bfb22c812df1ac4184ed" kindref="member">Layout</ref>,<sp/>std::size_t...<sp/>Indices&gt;</highlight></codeline>
<codeline lineno="142"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1model_1_1detail_1a3489d3ea02ad642a3bfef57f03f1bee6" kindref="member">constraint_computations</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>Bound&amp;<sp/>bound,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>Layout&amp;<sp/>layout,<sp/>std::index_sequence&lt;Indices...&gt;)</highlight></codeline>
<codeline lineno="143"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="144"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>std::tuple_cat(<ref refid="namespaceserif_1_1model_1_1computations_1afc5a24222d49c1192e52d3e07921db16" kindref="member">computations::make_point_constraint_computations</ref>(</highlight></codeline>
<codeline lineno="145"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::get&lt;Indices&gt;(bound.definition.constraints),<sp/>std::get&lt;Indices&gt;(bound.constraints),<sp/>layout)...);</highlight></codeline>
<codeline lineno="146"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="147"><highlight class="normal"></highlight></codeline>
<codeline lineno="149"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Bound,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Layout&gt;</highlight></codeline>
<codeline lineno="150"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1model_1_1detail_1af3b51c0962e8dfbe23c9f31450df4aee" kindref="member">boundary_computations</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>Bound&amp;,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>Layout&amp;<sp/>layout)</highlight></codeline>
<codeline lineno="151"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="152"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">Plan<sp/>=<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Bound::Plan;</highlight></codeline>
<codeline lineno="153"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>(Plan::has_surface)</highlight></codeline>
<codeline lineno="154"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="155"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1compile__time__checks_1_1surface__boundary_1a1a181ca62011192817d6c4bc678271e4" kindref="member">Formulation</ref><sp/>=<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Plan::Surface::Formulation;</highlight></codeline>
<codeline lineno="156"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>std::tuple_cat(<ref refid="namespaceserif_1_1geometry_1_1surface_1_1backend_1_1mfem_1ac06e575bc3d225a40ae5e1f1a6468849" kindref="member">geometry::surface::backend::mfem::make_pressure_boundary_computations&lt;Formulation&gt;</ref>(),</highlight></codeline>
<codeline lineno="157"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::tuple{<ref refid="namespaceserif_1_1model_1_1computations_1a3a40d4e2b6f9007024cf9ad7d0b24c2b" kindref="member">computations::pressure_boundary_contribution&lt;Formulation&gt;</ref>(layout)});</highlight></codeline>
<codeline lineno="158"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="159"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="160"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="161"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>std::tuple{};</highlight></codeline>
<codeline lineno="162"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="163"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="164"><highlight class="normal"></highlight></codeline>
<codeline lineno="166"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Plan,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal">...<sp/>Constraints&gt;</highlight></codeline>
<codeline lineno="167"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keyword">consteval</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1model_1_1detail_1a49beafd3acaa2dbc7ba53837ee6e91eb" kindref="member">equilibrium_contribution_keys</ref>(std::tuple&lt;Constraints...&gt;*)</highlight></codeline>
<codeline lineno="168"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="169"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/>namespace<sp/></highlight><highlight class="normal">utils::dependencies;</highlight></codeline>
<codeline lineno="170"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1solver_1_1normalization_1_1checks_1a02b81b54632fa1778ad1758aec5a7ba4" kindref="member">Shape</ref><sp/>=<sp/>std::conditional_t&lt;Plan::has_shape,</highlight></codeline>
<codeline lineno="171"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>KeyList&lt;computations::ShapeContribution&gt;,<sp/>KeyList&lt;&gt;&gt;;</highlight></codeline>
<codeline lineno="172"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">Surface<sp/>=<sp/>std::conditional_t&lt;Plan::has_surface,<sp/>KeyList&lt;computations::PressureBoundaryContribution&gt;,<sp/>KeyList&lt;&gt;&gt;;</highlight></codeline>
<codeline lineno="173"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>CombinedKeyList&lt;Shape,<sp/>Surface,<sp/>KeyList&lt;computations::PointConstraintContribution&lt;typename<sp/>Constraints::Border&gt;...&gt;&gt;{};</highlight></codeline>
<codeline lineno="174"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="175"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="176"><highlight class="normal"></highlight></codeline>
<codeline lineno="182"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Bound,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1solver_1_1normalization_1_1checks_1abb7db6f97f05bfb22c812df1ac4184ed" kindref="member">Layout</ref>,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal">...<sp/>NumericalComputations&gt;</highlight></codeline>
<codeline lineno="183"><highlight class="normal"><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1model_1a74e1efe91e9ad6f773134036585a39b6" kindref="member">make_equilibrium_graph</ref>(std::shared_ptr&lt;const<sp/>Bound&gt;<sp/>bound,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>Layout&amp;<sp/>layout,</highlight></codeline>
<codeline lineno="184"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::tuple&lt;NumericalComputations...&gt;<sp/>numerical<sp/>=<sp/>{},<sp/>operators::backend::mfem::VolumeOptions<sp/>options<sp/>=<sp/>{})</highlight></codeline>
<codeline lineno="185"><highlight class="normal"><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="186"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/>namespace<sp/></highlight><highlight class="normal">utils::errors;</highlight></codeline>
<codeline lineno="187"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">Description<sp/>=<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Bound::Description;</highlight></codeline>
<codeline lineno="188"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">Registry<sp/>=<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Description::InteriorEquations;</highlight></codeline>
<codeline lineno="189"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal">Constraints<sp/>=<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Description::Constraints;</highlight></codeline>
<codeline lineno="190"><highlight class="normal"></highlight></codeline>
<codeline lineno="191"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>serif_ensure&lt;SERiFErrorCode::INVALID_ARGUMENT&gt;(bound<sp/>!=<sp/></highlight><highlight class="keyword">nullptr</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;An<sp/>equilibrium<sp/>graph<sp/>requires<sp/>a<sp/>bound<sp/>model<sp/>owner.<sp/>Bind<sp/>the<sp/>physical<sp/>description<sp/>and<sp/>discretization<sp/>before<sp/>constructing<sp/>the<sp/>graph.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="192"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>shape<sp/>=<sp/><ref refid="namespaceserif_1_1model_1_1detail_1a06541a710141be6fbf219de35214405a" kindref="member">detail::shape_computations</ref>(bound,<sp/>layout,<sp/>options);</highlight></codeline>
<codeline lineno="193"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1solver_1_1normalization_1ac75238439fd5d1610b177bf85e9376d9ad302e976c9dd527a9521a88c012437c5" kindref="member">surface</ref><sp/>=<sp/><ref refid="namespaceserif_1_1model_1_1detail_1af3b51c0962e8dfbe23c9f31450df4aee" kindref="member">detail::boundary_computations</ref>(*bound,<sp/>layout);</highlight></codeline>
<codeline lineno="194"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>constraints<sp/>=<sp/><ref refid="namespaceserif_1_1model_1_1detail_1a3489d3ea02ad642a3bfef57f03f1bee6" kindref="member">detail::constraint_computations</ref>(*bound,<sp/>layout,<sp/>std::make_index_sequence&lt;std::tuple_size_v&lt;Constraints&gt;&gt;{});</highlight></codeline>
<codeline lineno="195"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>contributions<sp/>=<sp/><ref refid="namespaceserif_1_1model_1_1detail_1a49beafd3acaa2dbc7ba53837ee6e91eb" kindref="member">detail::equilibrium_contribution_keys&lt;typename Bound::Plan&gt;</ref>(</highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">Constraints*</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(</highlight><highlight class="keyword">nullptr</highlight><highlight class="normal">));</highlight></codeline>
<codeline lineno="196"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1model_1a818040e7235375f50650868a1fec3ae6" kindref="member">make_model_graph</ref>(std::shared_ptr&lt;const<sp/>Registry&gt;(bound,<sp/>&amp;bound-&gt;definition.interior_equations),<sp/>bound,<sp/>layout,</highlight></codeline>
<codeline lineno="197"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::tuple_cat(shape,<sp/>surface,<sp/>constraints,<sp/>std::move(numerical)),<sp/>contributions,<sp/>options);</highlight></codeline>
<codeline lineno="198"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="199"><highlight class="normal">}</highlight></codeline>
</programlisting>
<location file="src/include/serif/model/graph.hpp"/>
</compounddef>
</doxygen>