Files
MeanField_SERiF/docs/xml/fields_8hpp.xml
Emily Boudreaux 6b57738330 docs(docs): built docs
Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
2026-11-09 14:09:44 -05:00

1857 lines
122 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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="fields_8hpp" kind="file" language="C++">
<compoundname>fields.hpp</compoundname>
<includes local="no">array</includes>
<includes local="no">string_view</includes>
<includes refid="dimensions_8hpp" local="yes">serif/dimensions/dimensions.hpp</includes>
<includes refid="base_8hpp" local="yes">serif/discretization/blocks/base.hpp</includes>
<includes refid="space_8hpp" local="yes">serif/discretization/functional_space/space.hpp</includes>
<includes refid="discretization_2domain_2concepts_8hpp" local="yes">serif/discretization/domain/concepts.hpp</includes>
<includes refid="physical__domains_8hpp" local="yes">serif/discretization/domain/physical_domains.hpp</includes>
<includes refid="type__list_8hpp" local="yes">serif/utils/types/type_list.hpp</includes>
<includes refid="names_8hpp" local="yes">serif/meta/names.hpp</includes>
<includedby refid="layout_8cpp" local="yes">src/compile_time_checks/serif/solver/preconditioner/layout.cpp</includedby>
<includedby refid="reconstruction_8hpp" local="yes">src/include/serif/backend/mfem/discretization/reconstruction.hpp</includedby>
<includedby refid="blocks_8hpp" local="yes">src/include/serif/discretization/blocks/blocks.hpp</includedby>
<includedby refid="discretization_2blocks_2concepts_8hpp" local="yes">src/include/serif/discretization/blocks/concepts.hpp</includedby>
<includedby refid="barotropic__density_8hpp" local="yes">src/include/serif/equations/barotropic_density.hpp</includedby>
<includedby refid="barycenter_8hpp" local="yes">src/include/serif/equations/barycenter.hpp</includedby>
<includedby refid="primal__gravity_8hpp" local="yes">src/include/serif/equations/primal_gravity.hpp</includedby>
<includedby refid="equations_2surface__potential_8hpp" local="yes">src/include/serif/equations/surface_potential.hpp</includedby>
<includedby refid="default__preconditioners_8hpp" local="yes">src/include/serif/solver/preconditioner/default_preconditioners.hpp</includedby>
<includedby refid="utils_2serialize_2model_8hpp" local="yes">src/include/serif/utils/serialize/model.hpp</includedby>
<incdepgraph>
<node id="4">
<label>serif/dimensions/dimensions.hpp</label>
<link refid="dimensions_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
</node>
<node id="5">
<label>serif/dimensions/quantities.hpp</label>
<link refid="quantities_8hpp"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
</node>
<node id="12">
<label>serif/discretization/blocks/base.hpp</label>
<link refid="base_8hpp"/>
</node>
<node id="1">
<label>src/include/serif/discretization/blocks/fields.hpp</label>
<link refid="fields_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
</node>
<node id="18">
<label>serif/discretization/domain/concepts.hpp</label>
<link refid="discretization_2domain_2concepts_8hpp"/>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
</node>
<node id="24">
<label>serif/discretization/domain/physical_domains.hpp</label>
<link refid="physical__domains_8hpp"/>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
</node>
<node id="22">
<label>serif/discretization/domain/types.hpp</label>
<link refid="discretization_2domain_2types_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
</node>
<node id="13">
<label>serif/discretization/functional_space/space.hpp</label>
<link refid="space_8hpp"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
</node>
<node id="15">
<label>serif/meta/enums.hpp</label>
<link refid="enums_8hpp"/>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
</node>
<node id="26">
<label>serif/meta/names.hpp</label>
<link refid="names_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
</node>
<node id="11">
<label>serif/utils/misc/concepts/numeric.hpp</label>
<link refid="numeric_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
</node>
<node id="10">
<label>serif/utils/misc/std_helper/cleaning.hpp</label>
<link refid="cleaning_8hpp"/>
<childnode refid="6" relation="include">
</childnode>
</node>
<node id="23">
<label>serif/utils/misc/std_helper/variadic_cleaning.hpp</label>
<link refid="variadic__cleaning_8hpp"/>
<childnode refid="19" relation="include">
</childnode>
</node>
<node id="25">
<label>serif/utils/types/type_list.hpp</label>
<link refid="type__list_8hpp"/>
</node>
<node id="2">
<label>array</label>
</node>
<node id="7">
<label>compare</label>
</node>
<node id="8">
<label>concepts</label>
</node>
<node id="19">
<label>cstddef</label>
</node>
<node id="14">
<label>format</label>
</node>
<node id="17">
<label>magic_enum/magic_enum_all.hpp</label>
</node>
<node id="27">
<label>nameof.hpp</label>
</node>
<node id="21">
<label>numeric</label>
</node>
<node id="20">
<label>span</label>
</node>
<node id="3">
<label>string_view</label>
</node>
<node id="9">
<label>tuple</label>
</node>
<node id="6">
<label>type_traits</label>
</node>
<node id="16">
<label>unordered_map</label>
</node>
</incdepgraph>
<invincdepgraph>
<node id="90">
<label>src/compile_time_checks/serif/backend/mfem/discretization/quadrature/mfem_resolver.cpp</label>
<link refid="mfem__resolver_8cpp"/>
</node>
<node id="91">
<label>src/compile_time_checks/serif/backend/mfem/discretization/quadrature/mfem_static_order.cpp</label>
<link refid="mfem__static__order_8cpp"/>
</node>
<node id="102">
<label>src/compile_time_checks/serif/backend_independent.cpp</label>
<link refid="backend__independent_8cpp"/>
</node>
<node id="88">
<label>src/compile_time_checks/serif/discretization/blocks/fields.cpp</label>
<link refid="fields_8cpp"/>
</node>
<node id="86">
<label>src/compile_time_checks/serif/discretization/fields_meanfield.cpp</label>
<link refid="fields__meanfield_8cpp"/>
</node>
<node id="96">
<label>src/compile_time_checks/serif/discretization/forms/forms.cpp</label>
<link refid="forms_8cpp"/>
</node>
<node id="158">
<label>src/compile_time_checks/serif/discretization/forms/operands.cpp</label>
<link refid="operands_8cpp"/>
</node>
<node id="143">
<label>src/compile_time_checks/serif/geometry/surface.cpp</label>
<link refid="surface_8cpp"/>
</node>
<node id="10">
<label>src/compile_time_checks/serif/geometry/surface_boundary.cpp</label>
<link refid="surface__boundary_8cpp"/>
</node>
<node id="111">
<label>src/compile_time_checks/serif/model/barotropic_density.cpp</label>
<link refid="barotropic__density_8cpp"/>
</node>
<node id="112">
<label>src/compile_time_checks/serif/model/density_primal.cpp</label>
<link refid="density__primal_8cpp"/>
</node>
<node id="113">
<label>src/compile_time_checks/serif/model/execution_validation.cpp</label>
<link refid="execution__validation_8cpp"/>
</node>
<node id="56">
<label>src/compile_time_checks/serif/model/finite_elements.cpp</label>
<link refid="compile__time__checks_2serif_2model_2finite__elements_8cpp"/>
</node>
<node id="114">
<label>src/compile_time_checks/serif/model/normalization.cpp</label>
<link refid="normalization_8cpp"/>
</node>
<node id="51">
<label>src/compile_time_checks/serif/model/scalar_row.cpp</label>
<link refid="compile__time__checks_2serif_2model_2scalar__row_8cpp"/>
</node>
<node id="15">
<label>src/compile_time_checks/serif/model/state.cpp</label>
<link refid="state_8cpp"/>
</node>
<node id="120">
<label>src/compile_time_checks/serif/model/validation.cpp</label>
<link refid="compile__time__checks_2serif_2model_2validation_8cpp"/>
</node>
<node id="49">
<label>src/compile_time_checks/serif/operators/computation_owners.cpp</label>
<link refid="computation__owners_8cpp"/>
</node>
<node id="121">
<label>src/compile_time_checks/serif/operators/coordinate_identity_meanfield.cpp</label>
<link refid="coordinate__identity__meanfield_8cpp"/>
</node>
<node id="73">
<label>src/compile_time_checks/serif/operators/plan.cpp</label>
<link refid="operators_2plan_8cpp"/>
</node>
<node id="164">
<label>src/compile_time_checks/serif/solver/normalization/dimensionless.cpp</label>
<link refid="compile__time__checks_2serif_2solver_2normalization_2dimensionless_8cpp"/>
</node>
<node id="115">
<label>src/compile_time_checks/serif/solver/normalization/plan.cpp</label>
<link refid="solver_2normalization_2plan_8cpp"/>
</node>
<node id="2">
<label>src/compile_time_checks/serif/solver/preconditioner/layout.cpp</label>
<link refid="layout_8cpp"/>
</node>
<node id="81">
<label>src/include/serif/backend/mfem/discretization/basis_evaluation.hpp</label>
<link refid="basis__evaluation_8hpp"/>
<childnode refid="82" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
<childnode refid="83" relation="include">
</childnode>
<childnode refid="84" relation="include">
</childnode>
</node>
<node id="6">
<label>src/include/serif/backend/mfem/discretization/boundary_trace.hpp</label>
<link refid="boundary__trace_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="4">
<label>src/include/serif/backend/mfem/discretization/dof_map.hpp</label>
<link refid="dof__map_8hpp"/>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="68" relation="include">
</childnode>
<childnode refid="70" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
<childnode refid="77" relation="include">
</childnode>
<childnode refid="79" relation="include">
</childnode>
</node>
<node id="5">
<label>src/include/serif/backend/mfem/discretization/dof_selection.hpp</label>
<link refid="dof__selection_8hpp"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
</node>
<node id="31">
<label>src/include/serif/backend/mfem/discretization/element_coordinates.hpp</label>
<link refid="element__coordinates_8hpp"/>
<childnode refid="32" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
</node>
<node id="43">
<label>src/include/serif/backend/mfem/discretization/field_values.hpp</label>
<link refid="field__values_8hpp"/>
<childnode refid="44" relation="include">
</childnode>
</node>
<node id="40">
<label>src/include/serif/backend/mfem/discretization/mass_diagonal.hpp</label>
<link refid="mass__diagonal_8hpp"/>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
</node>
<node id="92">
<label>src/include/serif/backend/mfem/discretization/quadrature/mfem_resolver.hpp</label>
<link refid="mfem__resolver_8hpp"/>
<childnode refid="90" relation="include">
</childnode>
<childnode refid="93" relation="include">
</childnode>
</node>
<node id="89">
<label>src/include/serif/backend/mfem/discretization/quadrature/mfem_static_order.hpp</label>
<link refid="mfem__static__order_8hpp"/>
<childnode refid="90" relation="include">
</childnode>
<childnode refid="91" relation="include">
</childnode>
<childnode refid="92" relation="include">
</childnode>
</node>
<node id="106">
<label>src/include/serif/backend/mfem/discretization/quadrature/order.hpp</label>
<link refid="backend_2mfem_2discretization_2quadrature_2order_8hpp"/>
<childnode refid="86" relation="include">
</childnode>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="92" relation="include">
</childnode>
<childnode refid="89" relation="include">
</childnode>
</node>
<node id="3">
<label>src/include/serif/backend/mfem/discretization/reconstruction.hpp</label>
<link refid="reconstruction_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="80" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
</node>
<node id="80">
<label>src/include/serif/backend/mfem/discretization/tensor_basis.hpp</label>
<link refid="tensor__basis_8hpp"/>
<childnode refid="81" relation="include">
</childnode>
<childnode refid="84" relation="include">
</childnode>
</node>
<node id="39">
<label>src/include/serif/backend/mfem/discretization/term_binding.hpp</label>
<link refid="term__binding_8hpp"/>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="40" relation="include">
</childnode>
<childnode refid="42" relation="include">
</childnode>
<childnode refid="54" relation="include">
</childnode>
</node>
<node id="42">
<label>src/include/serif/backend/mfem/discretization/term_coefficients.hpp</label>
<link refid="term__coefficients_8hpp"/>
<childnode refid="43" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="45" relation="include">
</childnode>
<childnode refid="46" relation="include">
</childnode>
<childnode refid="52" relation="include">
</childnode>
</node>
<node id="68">
<label>src/include/serif/backend/mfem/geometry/deformation/displacement_mapping.hpp</label>
<link refid="displacement__mapping_8hpp"/>
<childnode refid="62" relation="include">
</childnode>
<childnode refid="69" relation="include">
</childnode>
</node>
<node id="9">
<label>src/include/serif/backend/mfem/geometry/surface/boundary_computations.hpp</label>
<link refid="boundary__computations_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
</node>
<node id="7">
<label>src/include/serif/backend/mfem/geometry/surface/boundary_data.hpp</label>
<link refid="boundary__data_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
</node>
<node id="8">
<label>src/include/serif/backend/mfem/geometry/surface/boundary_inputs.hpp</label>
<link refid="boundary__inputs_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
</node>
<node id="27">
<label>src/include/serif/backend/mfem/geometry/surface/boundary_rows.hpp</label>
<link refid="boundary__rows_8hpp"/>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
</node>
<node id="11">
<label>src/include/serif/backend/mfem/geometry/surface/pressure_boundary.hpp</label>
<link refid="geometry_2surface_2pressure__boundary_8hpp"/>
<childnode refid="12" relation="include">
</childnode>
</node>
<node id="28">
<label>src/include/serif/backend/mfem/geometry/surface/pressure_field_block.hpp</label>
<link refid="pressure__field__block_8hpp"/>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="12">
<label>src/include/serif/backend/mfem/model/binding.hpp</label>
<link refid="backend_2mfem_2model_2binding_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
</node>
<node id="33">
<label>src/include/serif/backend/mfem/model/computations/interior.hpp</label>
<link refid="interior_8hpp"/>
<childnode refid="30" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
<childnode refid="34" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
</node>
<node id="30">
<label>src/include/serif/backend/mfem/model/computations/potential_infinity.hpp</label>
<link refid="potential__infinity_8hpp"/>
<childnode refid="23" relation="include">
</childnode>
</node>
<node id="25">
<label>src/include/serif/backend/mfem/model/computations/pressure_boundary.hpp</label>
<link refid="model_2computations_2pressure__boundary_8hpp"/>
<childnode refid="23" relation="include">
</childnode>
</node>
<node id="50">
<label>src/include/serif/backend/mfem/model/computations/scalar_row.hpp</label>
<link refid="computations_2scalar__row_8hpp"/>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="33" relation="include">
</childnode>
</node>
<node id="34">
<label>src/include/serif/backend/mfem/model/computations/surface_potential.hpp</label>
<link refid="backend_2mfem_2model_2computations_2surface__potential_8hpp"/>
<childnode refid="23" relation="include">
</childnode>
</node>
<node id="53">
<label>src/include/serif/backend/mfem/model/discretization.hpp</label>
<link refid="model_2discretization_8hpp"/>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="54" relation="include">
</childnode>
<childnode refid="58" relation="include">
</childnode>
</node>
<node id="14">
<label>src/include/serif/backend/mfem/model/equilibrium.hpp</label>
<link refid="backend_2mfem_2model_2equilibrium_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
</node>
<node id="13">
<label>src/include/serif/backend/mfem/model/equilibrium_evaluator.hpp</label>
<link refid="equilibrium__evaluator_8hpp"/>
<childnode refid="14" relation="include">
</childnode>
</node>
<node id="138">
<label>src/include/serif/backend/mfem/model/failure.hpp</label>
<link refid="backend_2mfem_2model_2failure_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="54">
<label>src/include/serif/backend/mfem/model/finite_elements.hpp</label>
<link refid="backend_2mfem_2model_2finite__elements_8hpp"/>
<childnode refid="55" relation="include">
</childnode>
<childnode refid="57" relation="include">
</childnode>
</node>
<node id="23">
<label>src/include/serif/backend/mfem/model/graph.hpp</label>
<link refid="backend_2mfem_2model_2graph_8hpp"/>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
</node>
<node id="61">
<label>src/include/serif/backend/mfem/model/inputs.hpp</label>
<link refid="model_2inputs_8hpp"/>
<childnode refid="12" relation="include">
</childnode>
</node>
<node id="26">
<label>src/include/serif/backend/mfem/model/normalization/computations.hpp</label>
<link refid="backend_2mfem_2model_2normalization_2computations_8hpp"/>
<childnode refid="14" relation="include">
</childnode>
</node>
<node id="45">
<label>src/include/serif/backend/mfem/model/state.hpp</label>
<link refid="backend_2mfem_2model_2state_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="70">
<label>src/include/serif/backend/mfem/model/surface_potential.hpp</label>
<link refid="backend_2mfem_2model_2surface__potential_8hpp"/>
<childnode refid="34" relation="include">
</childnode>
<childnode refid="71" relation="include">
</childnode>
</node>
<node id="64">
<label>src/include/serif/backend/mfem/model/volume.hpp</label>
<link refid="volume_8hpp"/>
<childnode refid="33" relation="include">
</childnode>
</node>
<node id="65">
<label>src/include/serif/backend/mfem/model/volume_actions.hpp</label>
<link refid="volume__actions_8hpp"/>
<childnode refid="33" relation="include">
</childnode>
<childnode refid="50" relation="include">
</childnode>
</node>
<node id="62">
<label>src/include/serif/backend/mfem/model/volume_displacement.hpp</label>
<link refid="volume__displacement_8hpp"/>
<childnode refid="23" relation="include">
</childnode>
</node>
<node id="82">
<label>src/include/serif/backend/mfem/operators/element_data.hpp</label>
<link refid="element__data_8hpp"/>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="46" relation="include">
</childnode>
<childnode refid="76" relation="include">
</childnode>
<childnode refid="52" relation="include">
</childnode>
</node>
<node id="74">
<label>src/include/serif/backend/mfem/operators/element_evaluation.hpp</label>
<link refid="element__evaluation_8hpp"/>
<childnode refid="75" relation="include">
</childnode>
<childnode refid="63" relation="include">
</childnode>
<childnode refid="47" relation="include">
</childnode>
</node>
<node id="46">
<label>src/include/serif/backend/mfem/operators/element_preparation.hpp</label>
<link refid="element__preparation_8hpp"/>
<childnode refid="47" relation="include">
</childnode>
</node>
<node id="75">
<label>src/include/serif/backend/mfem/operators/element_transpose.hpp</label>
<link refid="element__transpose_8hpp"/>
<childnode refid="63" relation="include">
</childnode>
</node>
<node id="76">
<label>src/include/serif/backend/mfem/operators/geometry_derivatives.hpp</label>
<link refid="geometry__derivatives_8hpp"/>
<childnode refid="47" relation="include">
</childnode>
</node>
<node id="66">
<label>src/include/serif/backend/mfem/operators/jacobian_operator.hpp</label>
<link refid="jacobian__operator_8hpp"/>
<childnode refid="49" relation="include">
</childnode>
</node>
<node id="72">
<label>src/include/serif/backend/mfem/operators/operand_evaluation.hpp</label>
<link refid="operand__evaluation_8hpp"/>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="43" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="46" relation="include">
</childnode>
<childnode refid="76" relation="include">
</childnode>
</node>
<node id="93">
<label>src/include/serif/backend/mfem/operators/quadrature.hpp</label>
<link refid="quadrature_8hpp"/>
<childnode refid="46" relation="include">
</childnode>
<childnode refid="52" relation="include">
</childnode>
</node>
<node id="63">
<label>src/include/serif/backend/mfem/operators/volume_application.hpp</label>
<link refid="volume__application_8hpp"/>
<childnode refid="64" relation="include">
</childnode>
<childnode refid="65" relation="include">
</childnode>
<childnode refid="66" relation="include">
</childnode>
<childnode refid="32" relation="include">
</childnode>
</node>
<node id="48">
<label>src/include/serif/backend/mfem/operators/volume_computations.hpp</label>
<link refid="volume__computations_8hpp"/>
<childnode refid="49" relation="include">
</childnode>
<childnode refid="33" relation="include">
</childnode>
<childnode refid="50" relation="include">
</childnode>
</node>
<node id="52">
<label>src/include/serif/backend/mfem/operators/volume_data.hpp</label>
<link refid="volume__data_8hpp"/>
<childnode refid="53" relation="include">
</childnode>
<childnode refid="60" relation="include">
</childnode>
<childnode refid="47" relation="include">
</childnode>
<childnode refid="67" relation="include">
</childnode>
</node>
<node id="32">
<label>src/include/serif/backend/mfem/operators/volume_field_block.hpp</label>
<link refid="volume__field__block_8hpp"/>
<childnode refid="33" relation="include">
</childnode>
<childnode refid="35" relation="include">
</childnode>
</node>
<node id="60">
<label>src/include/serif/backend/mfem/operators/volume_inputs.hpp</label>
<link refid="volume__inputs_8hpp"/>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="62" relation="include">
</childnode>
<childnode refid="63" relation="include">
</childnode>
<childnode refid="48" relation="include">
</childnode>
</node>
<node id="47">
<label>src/include/serif/backend/mfem/operators/volume_stages.hpp</label>
<link refid="volume__stages_8hpp"/>
<childnode refid="48" relation="include">
</childnode>
</node>
<node id="83">
<label>src/include/serif/backend/mfem/operators/workspace.hpp</label>
<link refid="backend_2mfem_2operators_2workspace_8hpp"/>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="46" relation="include">
</childnode>
<childnode refid="76" relation="include">
</childnode>
<childnode refid="52" relation="include">
</childnode>
</node>
<node id="59">
<label>src/include/serif/backend/mfem/serialize/configuration.hpp</label>
<link refid="backend_2mfem_2serialize_2configuration_8hpp"/>
</node>
<node id="58">
<label>src/include/serif/backend/mfem/serialize/discretization.hpp</label>
<link refid="serialize_2discretization_8hpp"/>
<childnode refid="59" relation="include">
</childnode>
</node>
<node id="67">
<label>src/include/serif/backend/mfem/serialize/options.hpp</label>
<link refid="backend_2mfem_2serialize_2options_8hpp"/>
</node>
<node id="77">
<label>src/include/serif/backend/mfem/serialize/resources.hpp</label>
<link refid="serialize_2resources_8hpp"/>
<childnode refid="58" relation="include">
</childnode>
<childnode refid="78" relation="include">
</childnode>
</node>
<node id="79">
<label>src/include/serif/backend/mfem/serialize/top.hpp</label>
<link refid="backend_2mfem_2serialize_2top_8hpp"/>
<childnode refid="44" relation="include">
</childnode>
</node>
<node id="24">
<label>src/include/serif/backend/mfem/solver/admissibility/geometry.hpp</label>
<link refid="geometry_8hpp"/>
<childnode refid="16" relation="include">
</childnode>
</node>
<node id="107">
<label>src/include/serif/backend/mfem/solver/continuation/detail/physical_transfer.hpp</label>
<link refid="physical__transfer_8hpp"/>
<childnode refid="19" relation="include">
</childnode>
</node>
<node id="17">
<label>src/include/serif/backend/mfem/solver/equilibrium.hpp</label>
<link refid="backend_2mfem_2solver_2equilibrium_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
</node>
<node id="16">
<label>src/include/serif/backend/mfem/solver/nonlinear/stellar_problem.hpp</label>
<link refid="stellar__problem_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
</node>
<node id="41">
<label>src/include/serif/backend/mfem/solver/normalization/metric_computations.hpp</label>
<link refid="metric__computations_8hpp"/>
<childnode refid="26" relation="include">
</childnode>
</node>
<node id="21">
<label>src/include/serif/backend/mfem/solver/seed/state.hpp</label>
<link refid="backend_2mfem_2solver_2seed_2state_8hpp"/>
<childnode refid="22" relation="include">
</childnode>
</node>
<node id="85">
<label>src/include/serif/discretization/blocks/blocks.hpp</label>
<link refid="blocks_8hpp"/>
<childnode refid="86" relation="include">
</childnode>
</node>
<node id="87">
<label>src/include/serif/discretization/blocks/concepts.hpp</label>
<link refid="discretization_2blocks_2concepts_8hpp"/>
<childnode refid="88" relation="include">
</childnode>
<childnode refid="89" relation="include">
</childnode>
<childnode refid="85" relation="include">
</childnode>
<childnode refid="94" relation="include">
</childnode>
<childnode refid="105" relation="include">
</childnode>
<childnode refid="154" relation="include">
</childnode>
<childnode refid="157" relation="include">
</childnode>
<childnode refid="159" relation="include">
</childnode>
<childnode refid="168" relation="include">
</childnode>
</node>
<node id="1">
<label>src/include/serif/discretization/blocks/fields.hpp</label>
<link refid="fields_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="85" relation="include">
</childnode>
<childnode refid="87" relation="include">
</childnode>
<childnode refid="119" relation="include">
</childnode>
<childnode refid="122" relation="include">
</childnode>
<childnode refid="135" relation="include">
</childnode>
<childnode refid="136" relation="include">
</childnode>
<childnode refid="168" relation="include">
</childnode>
<childnode refid="118" relation="include">
</childnode>
</node>
<node id="94">
<label>src/include/serif/discretization/blocks/runtime.hpp</label>
<link refid="discretization_2blocks_2runtime_8hpp"/>
<childnode refid="85" relation="include">
</childnode>
<childnode refid="95" relation="include">
</childnode>
</node>
<node id="105">
<label>src/include/serif/discretization/blocks/traits.hpp</label>
<link refid="discretization_2blocks_2traits_8hpp"/>
<childnode refid="88" relation="include">
</childnode>
<childnode refid="106" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="107" relation="include">
</childnode>
<childnode refid="85" relation="include">
</childnode>
<childnode refid="108" relation="include">
</childnode>
<childnode refid="153" relation="include">
</childnode>
<childnode refid="150" relation="include">
</childnode>
<childnode refid="131" relation="include">
</childnode>
</node>
<node id="155">
<label>src/include/serif/discretization/forms/concept.hpp</label>
<link refid="concept_8hpp"/>
<childnode refid="96" relation="include">
</childnode>
<childnode refid="89" relation="include">
</childnode>
<childnode refid="156" relation="include">
</childnode>
<childnode refid="95" relation="include">
</childnode>
</node>
<node id="156">
<label>src/include/serif/discretization/forms/form_traits.hpp</label>
<link refid="form__traits_8hpp"/>
<childnode refid="97" relation="include">
</childnode>
</node>
<node id="154">
<label>src/include/serif/discretization/forms/forms.hpp</label>
<link refid="forms_8hpp"/>
<childnode refid="91" relation="include">
</childnode>
<childnode refid="96" relation="include">
</childnode>
<childnode refid="155" relation="include">
</childnode>
<childnode refid="156" relation="include">
</childnode>
<childnode refid="132" relation="include">
</childnode>
</node>
<node id="157">
<label>src/include/serif/discretization/forms/operands.hpp</label>
<link refid="operands_8hpp"/>
<childnode refid="158" relation="include">
</childnode>
<childnode refid="89" relation="include">
</childnode>
<childnode refid="106" relation="include">
</childnode>
<childnode refid="154" relation="include">
</childnode>
<childnode refid="108" relation="include">
</childnode>
<childnode refid="153" relation="include">
</childnode>
</node>
<node id="95">
<label>src/include/serif/discretization/forms/runtime.hpp</label>
<link refid="discretization_2forms_2runtime_8hpp"/>
<childnode refid="86" relation="include">
</childnode>
<childnode refid="96" relation="include">
</childnode>
<childnode refid="97" relation="include">
</childnode>
<childnode refid="104" relation="include">
</childnode>
</node>
<node id="108">
<label>src/include/serif/discretization/forms/value.hpp</label>
<link refid="value_8hpp"/>
<childnode refid="109" relation="include">
</childnode>
<childnode refid="146" relation="include">
</childnode>
<childnode refid="148" relation="include">
</childnode>
</node>
<node id="98">
<label>src/include/serif/discretization/quadrature/policy.hpp</label>
<link refid="policy_8hpp"/>
<childnode refid="92" relation="include">
</childnode>
<childnode refid="99" relation="include">
</childnode>
<childnode refid="103" relation="include">
</childnode>
</node>
<node id="97">
<label>src/include/serif/discretization/quadrature/query.hpp</label>
<link refid="query_8hpp"/>
<childnode refid="92" relation="include">
</childnode>
<childnode refid="98" relation="include">
</childnode>
</node>
<node id="104">
<label>src/include/serif/discretization/quadrature/rules.hpp</label>
<link refid="rules_8hpp"/>
<childnode refid="92" relation="include">
</childnode>
<childnode refid="98" relation="include">
</childnode>
<childnode refid="97" relation="include">
</childnode>
</node>
<node id="110">
<label>src/include/serif/equations/angular_momentum.hpp</label>
<link refid="angular__momentum_8hpp"/>
<childnode refid="111" relation="include">
</childnode>
<childnode refid="112" relation="include">
</childnode>
<childnode refid="113" relation="include">
</childnode>
<childnode refid="114" relation="include">
</childnode>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="115" relation="include">
</childnode>
<childnode refid="116" relation="include">
</childnode>
</node>
<node id="119">
<label>src/include/serif/equations/barotropic_density.hpp</label>
<link refid="barotropic__density_8hpp"/>
<childnode refid="111" relation="include">
</childnode>
<childnode refid="112" relation="include">
</childnode>
<childnode refid="113" relation="include">
</childnode>
<childnode refid="114" relation="include">
</childnode>
<childnode refid="120" relation="include">
</childnode>
<childnode refid="121" relation="include">
</childnode>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="79" relation="include">
</childnode>
<childnode refid="116" relation="include">
</childnode>
</node>
<node id="122">
<label>src/include/serif/equations/barycenter.hpp</label>
<link refid="barycenter_8hpp"/>
<childnode refid="113" relation="include">
</childnode>
<childnode refid="116" relation="include">
</childnode>
</node>
<node id="147">
<label>src/include/serif/equations/companion.hpp</label>
<link refid="companion_8hpp"/>
<childnode refid="119" relation="include">
</childnode>
<childnode refid="116" relation="include">
</childnode>
<childnode refid="136" relation="include">
</childnode>
</node>
<node id="123">
<label>src/include/serif/equations/concepts.hpp</label>
<link refid="equations_2concepts_8hpp"/>
<childnode refid="116" relation="include">
</childnode>
<childnode refid="124" relation="include">
</childnode>
<childnode refid="131" relation="include">
</childnode>
<childnode refid="133" relation="include">
</childnode>
</node>
<node id="153">
<label>src/include/serif/equations/contributions.hpp</label>
<link refid="equations_2contributions_8hpp"/>
<childnode refid="49" relation="include">
</childnode>
<childnode refid="110" relation="include">
</childnode>
<childnode refid="119" relation="include">
</childnode>
<childnode refid="122" relation="include">
</childnode>
<childnode refid="123" relation="include">
</childnode>
<childnode refid="116" relation="include">
</childnode>
<childnode refid="134" relation="include">
</childnode>
<childnode refid="135" relation="include">
</childnode>
</node>
<node id="116">
<label>src/include/serif/equations/equations.hpp</label>
<link refid="equations_2equations_8hpp"/>
<childnode refid="117" relation="include">
</childnode>
</node>
<node id="134">
<label>src/include/serif/equations/mass_normalization.hpp</label>
<link refid="mass__normalization_8hpp"/>
<childnode refid="111" relation="include">
</childnode>
<childnode refid="112" relation="include">
</childnode>
<childnode refid="113" relation="include">
</childnode>
<childnode refid="114" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="121" relation="include">
</childnode>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="115" relation="include">
</childnode>
<childnode refid="116" relation="include">
</childnode>
</node>
<node id="109">
<label>src/include/serif/equations/point.hpp</label>
<link refid="point_8hpp"/>
<childnode refid="86" relation="include">
</childnode>
<childnode refid="49" relation="include">
</childnode>
<childnode refid="110" relation="include">
</childnode>
<childnode refid="119" relation="include">
</childnode>
<childnode refid="122" relation="include">
</childnode>
<childnode refid="123" relation="include">
</childnode>
<childnode refid="116" relation="include">
</childnode>
<childnode refid="134" relation="include">
</childnode>
<childnode refid="135" relation="include">
</childnode>
<childnode refid="136" relation="include">
</childnode>
<childnode refid="137" relation="include">
</childnode>
</node>
<node id="135">
<label>src/include/serif/equations/primal_gravity.hpp</label>
<link refid="primal__gravity_8hpp"/>
<childnode refid="111" relation="include">
</childnode>
<childnode refid="112" relation="include">
</childnode>
<childnode refid="113" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
<childnode refid="114" relation="include">
</childnode>
<childnode refid="120" relation="include">
</childnode>
<childnode refid="121" relation="include">
</childnode>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="115" relation="include">
</childnode>
<childnode refid="79" relation="include">
</childnode>
<childnode refid="116" relation="include">
</childnode>
<childnode refid="126" relation="include">
</childnode>
</node>
<node id="124">
<label>src/include/serif/equations/registry.hpp</label>
<link refid="registry_8hpp"/>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="116" relation="include">
</childnode>
<childnode refid="125" relation="include">
</childnode>
<childnode refid="117" relation="include">
</childnode>
</node>
<node id="146">
<label>src/include/serif/equations/rigid_rotation.hpp</label>
<link refid="rigid__rotation_8hpp"/>
<childnode refid="110" relation="include">
</childnode>
<childnode refid="119" relation="include">
</childnode>
<childnode refid="147" relation="include">
</childnode>
<childnode refid="116" relation="include">
</childnode>
<childnode refid="136" relation="include">
</childnode>
</node>
<node id="136">
<label>src/include/serif/equations/surface_potential.hpp</label>
<link refid="equations_2surface__potential_8hpp"/>
<childnode refid="111" relation="include">
</childnode>
<childnode refid="112" relation="include">
</childnode>
<childnode refid="113" relation="include">
</childnode>
<childnode refid="114" relation="include">
</childnode>
<childnode refid="70" relation="include">
</childnode>
<childnode refid="116" relation="include">
</childnode>
<childnode refid="126" relation="include">
</childnode>
</node>
<node id="151">
<label>src/include/serif/geometry/surface/automatic.hpp</label>
<link refid="automatic_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="152" relation="include">
</childnode>
</node>
<node id="149">
<label>src/include/serif/geometry/surface/compilation.hpp</label>
<link refid="compilation_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="150" relation="include">
</childnode>
<childnode refid="137" relation="include">
</childnode>
<childnode refid="142" relation="include">
</childnode>
</node>
<node id="141">
<label>src/include/serif/geometry/surface/computations.hpp</label>
<link refid="geometry_2surface_2computations_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="142" relation="include">
</childnode>
</node>
<node id="150">
<label>src/include/serif/geometry/surface/detail/automatic_relations.hpp</label>
<link refid="automatic__relations_8hpp"/>
<childnode refid="151" relation="include">
</childnode>
</node>
<node id="140">
<label>src/include/serif/geometry/surface/detail/batches.hpp</label>
<link refid="batches_8hpp"/>
<childnode refid="141" relation="include">
</childnode>
</node>
<node id="139">
<label>src/include/serif/geometry/surface/detail/evaluation.hpp</label>
<link refid="geometry_2surface_2detail_2evaluation_8hpp"/>
<childnode refid="140" relation="include">
</childnode>
<childnode refid="144" relation="include">
</childnode>
</node>
<node id="148">
<label>src/include/serif/geometry/surface/detail/relations.hpp</label>
<link refid="geometry_2surface_2detail_2relations_8hpp"/>
<childnode refid="149" relation="include">
</childnode>
</node>
<node id="144">
<label>src/include/serif/geometry/surface/evaluation.hpp</label>
<link refid="geometry_2surface_2evaluation_8hpp"/>
<childnode refid="142" relation="include">
</childnode>
</node>
<node id="137">
<label>src/include/serif/geometry/surface/linearization.hpp</label>
<link refid="surface_2linearization_8hpp"/>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="138" relation="include">
</childnode>
<childnode refid="139" relation="include">
</childnode>
<childnode refid="145" relation="include">
</childnode>
</node>
<node id="145">
<label>src/include/serif/geometry/surface/samples.hpp</label>
<link refid="samples_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="140" relation="include">
</childnode>
</node>
<node id="142">
<label>src/include/serif/geometry/surface/surface.hpp</label>
<link refid="surface_8hpp"/>
<childnode refid="143" relation="include">
</childnode>
</node>
<node id="152">
<label>src/include/serif/model/detail/surface_plan.hpp</label>
<link refid="surface__plan_8hpp"/>
<childnode refid="126" relation="include">
</childnode>
</node>
<node id="126">
<label>src/include/serif/model/equilibrium_plan.hpp</label>
<link refid="equilibrium__plan_8hpp"/>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="54" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="127" relation="include">
</childnode>
<childnode refid="128" relation="include">
</childnode>
<childnode refid="129" relation="include">
</childnode>
</node>
<node id="127">
<label>src/include/serif/model/execution_validation.hpp</label>
<link refid="execution__validation_8hpp"/>
<childnode refid="111" relation="include">
</childnode>
<childnode refid="112" relation="include">
</childnode>
<childnode refid="113" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
</node>
<node id="55">
<label>src/include/serif/model/finite_elements.hpp</label>
<link refid="model_2finite__elements_8hpp"/>
<childnode refid="56" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
</node>
<node id="128">
<label>src/include/serif/model/model.hpp</label>
<link refid="model_2model_8hpp"/>
<childnode refid="102" relation="include">
</childnode>
</node>
<node id="129">
<label>src/include/serif/model/normalization/plan.hpp</label>
<link refid="model_2normalization_2plan_8hpp"/>
<childnode refid="111" relation="include">
</childnode>
<childnode refid="112" relation="include">
</childnode>
<childnode refid="114" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="99" relation="include">
</childnode>
</node>
<node id="125">
<label>src/include/serif/model/plan.hpp</label>
<link refid="model_2plan_8hpp"/>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="45" relation="include">
</childnode>
<childnode refid="126" relation="include">
</childnode>
<childnode refid="130" relation="include">
</childnode>
</node>
<node id="130">
<label>src/include/serif/model/validation.hpp</label>
<link refid="model_2validation_8hpp"/>
<childnode refid="120" relation="include">
</childnode>
<childnode refid="127" relation="include">
</childnode>
<childnode refid="128" relation="include">
</childnode>
</node>
<node id="131">
<label>src/include/serif/operators/concepts.hpp</label>
<link refid="operators_2concepts_8hpp"/>
<childnode refid="72" relation="include">
</childnode>
<childnode refid="126" relation="include">
</childnode>
<childnode refid="132" relation="include">
</childnode>
</node>
<node id="133">
<label>src/include/serif/operators/contributions.hpp</label>
<link refid="operators_2contributions_8hpp"/>
<childnode refid="47" relation="include">
</childnode>
</node>
<node id="132">
<label>src/include/serif/operators/plan.hpp</label>
<link refid="operators_2plan_8hpp"/>
<childnode refid="121" relation="include">
</childnode>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="76" relation="include">
</childnode>
<childnode refid="93" relation="include">
</childnode>
<childnode refid="125" relation="include">
</childnode>
</node>
<node id="19">
<label>src/include/serif/solver/continuation/equilibrium.hpp</label>
<link refid="solver_2continuation_2equilibrium_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
</node>
<node id="18">
<label>src/include/serif/solver/equilibrium.hpp</label>
<link refid="solver_2equilibrium_8hpp"/>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
</node>
<node id="163">
<label>src/include/serif/solver/normalization/computations.hpp</label>
<link refid="solver_2normalization_2computations_8hpp"/>
<childnode refid="111" relation="include">
</childnode>
<childnode refid="112" relation="include">
</childnode>
<childnode refid="114" relation="include">
</childnode>
<childnode refid="164" relation="include">
</childnode>
<childnode refid="115" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="165" relation="include">
</childnode>
</node>
<node id="162">
<label>src/include/serif/solver/normalization/detail/factor_computations.hpp</label>
<link refid="factor__computations_8hpp"/>
<childnode refid="163" relation="include">
</childnode>
</node>
<node id="160">
<label>src/include/serif/solver/normalization/dimensionless.hpp</label>
<link refid="dimensionless_8hpp"/>
<childnode refid="161" relation="include">
</childnode>
<childnode refid="167" relation="include">
</childnode>
</node>
<node id="159">
<label>src/include/serif/solver/normalization/metrics.hpp</label>
<link refid="metrics_8hpp"/>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="160" relation="include">
</childnode>
<childnode refid="161" relation="include">
</childnode>
</node>
<node id="165">
<label>src/include/serif/solver/normalization/normalization.hpp</label>
<link refid="normalization_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
</node>
<node id="166">
<label>src/include/serif/solver/normalization/physical_coordinates.hpp</label>
<link refid="physical__coordinates_8hpp"/>
<childnode refid="115" relation="include">
</childnode>
<childnode refid="129" relation="include">
</childnode>
<childnode refid="165" relation="include">
</childnode>
</node>
<node id="161">
<label>src/include/serif/solver/normalization/plan.hpp</label>
<link refid="solver_2normalization_2plan_8hpp"/>
<childnode refid="162" relation="include">
</childnode>
<childnode refid="165" relation="include">
</childnode>
<childnode refid="166" relation="include">
</childnode>
<childnode refid="99" relation="include">
</childnode>
</node>
<node id="168">
<label>src/include/serif/solver/preconditioner/default_preconditioners.hpp</label>
<link refid="default__preconditioners_8hpp"/>
<childnode refid="102" relation="include">
</childnode>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="169" relation="include">
</childnode>
<childnode refid="99" relation="include">
</childnode>
</node>
<node id="169">
<label>src/include/serif/solver/preconditioner/preconditioner.hpp</label>
<link refid="preconditioner_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
</node>
<node id="22">
<label>src/include/serif/solver/seed/state.hpp</label>
<link refid="solver_2seed_2state_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
</node>
<node id="20">
<label>src/include/serif/solver/solver.hpp</label>
<link refid="solver_2solver_8hpp"/>
</node>
<node id="117">
<label>src/include/serif/utils/serialize/equations.hpp</label>
<link refid="utils_2serialize_2equations_8hpp"/>
<childnode refid="118" relation="include">
</childnode>
</node>
<node id="118">
<label>src/include/serif/utils/serialize/model.hpp</label>
<link refid="utils_2serialize_2model_8hpp"/>
<childnode refid="58" relation="include">
</childnode>
<childnode refid="99" relation="include">
</childnode>
<childnode refid="100" relation="include">
</childnode>
</node>
<node id="99">
<label>src/include/serif/utils/serialize/numerics.hpp</label>
<link refid="numerics_8hpp"/>
<childnode refid="59" relation="include">
</childnode>
<childnode refid="67" relation="include">
</childnode>
<childnode refid="100" relation="include">
</childnode>
</node>
<node id="101">
<label>src/include/serif/utils/serialize/serialize.hpp</label>
<link refid="serialize_8hpp"/>
<childnode refid="102" relation="include">
</childnode>
</node>
<node id="100">
<label>src/include/serif/utils/serialize/solver.hpp</label>
<link refid="utils_2serialize_2solver_8hpp"/>
<childnode refid="101" relation="include">
</childnode>
</node>
<node id="84">
<label>src/lib/serif/backend/mfem/discretization/basis_evaluation.cpp</label>
<link refid="basis__evaluation_8cpp"/>
</node>
<node id="29">
<label>src/lib/serif/backend/mfem/discretization/boundary_trace.cpp</label>
<link refid="boundary__trace_8cpp"/>
</node>
<node id="36">
<label>src/lib/serif/backend/mfem/discretization/element_coordinates.cpp</label>
<link refid="element__coordinates_8cpp"/>
</node>
<node id="37">
<label>src/lib/serif/backend/mfem/discretization/mass_diagonal.cpp</label>
<link refid="mass__diagonal_8cpp"/>
</node>
<node id="38">
<label>src/lib/serif/backend/mfem/discretization/reconstruction.cpp</label>
<link refid="reconstruction_8cpp"/>
</node>
<node id="69">
<label>src/lib/serif/backend/mfem/model/deformation.cpp</label>
<link refid="lib_2serif_2backend_2mfem_2model_2deformation_8cpp"/>
</node>
<node id="57">
<label>src/lib/serif/backend/mfem/model/finite_elements.cpp</label>
<link refid="lib_2serif_2backend_2mfem_2model_2finite__elements_8cpp"/>
</node>
<node id="71">
<label>src/lib/serif/backend/mfem/model/surface_potential.cpp</label>
<link refid="surface__potential_8cpp"/>
</node>
<node id="35">
<label>src/lib/serif/backend/mfem/model/system_selection.cpp</label>
<link refid="system__selection_8cpp"/>
</node>
<node id="78">
<label>src/lib/serif/backend/mfem/serialize/resources.cpp</label>
<link refid="resources_8cpp"/>
</node>
<node id="44">
<label>src/lib/serif/backend/mfem/serialize/top.cpp</label>
<link refid="backend_2mfem_2serialize_2top_8cpp"/>
</node>
<node id="103">
<label>src/lib/serif/discretization/quadrature/policy.cpp</label>
<link refid="policy_8cpp"/>
</node>
<node id="167">
<label>src/lib/serif/solver/normalization/dimensionless.cpp</label>
<link refid="lib_2serif_2solver_2normalization_2dimensionless_8cpp"/>
</node>
</invincdepgraph>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1field" prot="public">serif::discretization::blocks::field</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1term__base" prot="public">serif::discretization::blocks::term_base</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1term" prot="public">serif::discretization::blocks::term</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1global__scalar" prot="public">serif::discretization::blocks::global_scalar</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1global__scalar_1_1value" prot="public">serif::discretization::blocks::global_scalar::value</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1global__scalar_1_1residual" prot="public">serif::discretization::blocks::global_scalar::residual</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1barotropic__constant" prot="public">serif::discretization::blocks::barotropic_constant</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1barotropic__constant_1_1mass__normalization" prot="public">serif::discretization::blocks::barotropic_constant::mass_normalization</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1frame__acceleration" prot="public">serif::discretization::blocks::frame_acceleration</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1frame__acceleration_1_1component" prot="public">serif::discretization::blocks::frame_acceleration::component</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1rotation" prot="public">serif::discretization::blocks::rotation</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1rotation_1_1angular__velocity" prot="public">serif::discretization::blocks::rotation::angular_velocity</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1density" prot="public">serif::discretization::blocks::density</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1density_1_1mass" prot="public">serif::discretization::blocks::density::mass</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1density_1_1mass_1_1value" prot="public">serif::discretization::blocks::density::mass::value</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1density_1_1mass_1_1residual" prot="public">serif::discretization::blocks::density::mass::residual</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1displacement" prot="public">serif::discretization::blocks::displacement</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector" prot="public">serif::discretization::blocks::displacement::vector</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector_1_1value" prot="public">serif::discretization::blocks::displacement::vector::value</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector_1_1residual" prot="public">serif::discretization::blocks::displacement::vector::residual</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation" prot="public">serif::discretization::blocks::surface_deformation</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients" prot="public">serif::discretization::blocks::surface_deformation::coefficients</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients_1_1value" prot="public">serif::discretization::blocks::surface_deformation::coefficients::value</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1shape__equilibrium" prot="public">serif::discretization::blocks::surface_deformation::shape_equilibrium</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1shape__equilibrium_1_1residual" prot="public">serif::discretization::blocks::surface_deformation::shape_equilibrium::residual</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1gravity" prot="public">serif::discretization::blocks::gravity</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential" prot="public">serif::discretization::blocks::gravity::potential</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential_1_1value" prot="public">serif::discretization::blocks::gravity::potential::value</innerclass>
<innerclass refid="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential_1_1residual" prot="public">serif::discretization::blocks::gravity::potential::residual</innerclass>
<innernamespace refid="namespaceserif">serif</innernamespace>
<innernamespace refid="namespaceserif_1_1discretization">serif::discretization</innernamespace>
<innernamespace refid="namespaceserif_1_1discretization_1_1blocks">serif::discretization::blocks</innernamespace>
<briefdescription>
<para>Define the fields and their associated terms for the discretization. This is a key file to understand if you are to understand SERiF&apos;s numerics. Each of these field types should contain all the information needed for the compiler to generate the correct. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="author"><para>Emily M. Boudreaux<itemizedlist>
<listitem><para>blocks</para>
</listitem><listitem><para>functional spaces</para>
</listitem><listitem><para>support domains</para>
</listitem><listitem><para>quantities</para>
</listitem><listitem><para>symbols</para>
</listitem><listitem><para>and any other information needed to generate the correct weak form for the field Broadly you can think of these as where we define the &quot;physics&quot; that we want to solve for or the unknowns of the system. If you find yourself adding any sort of unknown to the system and you are not adding it to this file you should step back and reconsider\ if that belongs here instead. </para>
</listitem></itemizedlist>
</para>
</simplesect>
</para>
</detaileddescription>
<programlisting>
<codeline lineno="1"><highlight class="preprocessor">#pragma<sp/>once</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="17"><highlight class="normal"></highlight></codeline>
<codeline lineno="18"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;array&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;string_view&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="20"><highlight class="normal"></highlight></codeline>
<codeline lineno="21"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="dimensions_8hpp" kindref="compound">serif/dimensions/dimensions.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="22"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="base_8hpp" kindref="compound">serif/discretization/blocks/base.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="23"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="space_8hpp" kindref="compound">serif/discretization/functional_space/space.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="24"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="discretization_2domain_2concepts_8hpp" kindref="compound">serif/discretization/domain/concepts.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="25"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="physical__domains_8hpp" kindref="compound">serif/discretization/domain/physical_domains.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="26"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="type__list_8hpp" kindref="compound">serif/utils/types/type_list.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="27"><highlight class="normal"></highlight></codeline>
<codeline lineno="28"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="names_8hpp" kindref="compound">serif/meta/names.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="29"><highlight class="normal"></highlight></codeline>
<codeline lineno="30"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1discretization_1_1blocks" kindref="compound">serif::discretization::blocks</ref><sp/>{</highlight></codeline>
<codeline lineno="34" refid="structserif_1_1discretization_1_1blocks_1_1field" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1field" kindref="compound">field</ref><sp/>{};</highlight></codeline>
<codeline lineno="35"><highlight class="normal"></highlight></codeline>
<codeline lineno="40" refid="structserif_1_1discretization_1_1blocks_1_1term__base" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1term__base" kindref="compound">term_base</ref><sp/>{};</highlight></codeline>
<codeline lineno="41"><highlight class="normal"></highlight></codeline>
<codeline lineno="46"><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/>FieldT&gt;</highlight></codeline>
<codeline lineno="47" refid="structserif_1_1discretization_1_1blocks_1_1term" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1term" kindref="compound">term</ref><sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1term__base" kindref="compound">term_base</ref><sp/>{</highlight></codeline>
<codeline lineno="48"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1term_1a914a989335c197150199c1ccbfb76b43" kindref="member">field_type</ref><sp/>=<sp/>FieldT;</highlight></codeline>
<codeline lineno="49"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="50"><highlight class="normal"></highlight></codeline>
<codeline lineno="55" refid="structserif_1_1discretization_1_1blocks_1_1global__scalar" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1global__scalar" kindref="compound">global_scalar</ref><sp/>{</highlight></codeline>
<codeline lineno="60" refid="structserif_1_1discretization_1_1blocks_1_1global__scalar_1_1value" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1global__scalar_1_1value" kindref="compound">value</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1value__block__base" kindref="compound">value_block_base</ref><sp/>{</highlight></codeline>
<codeline lineno="61"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1global__scalar_1_1value_1a7bff8b8d851ddcc82d47cfe7bc32d828" kindref="member">static_block_size</ref><sp/>=<sp/>1;<sp/></highlight></codeline>
<codeline lineno="62"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="63"><highlight class="normal"></highlight></codeline>
<codeline lineno="68" refid="structserif_1_1discretization_1_1blocks_1_1global__scalar_1_1residual" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1global__scalar_1_1residual" kindref="compound">residual</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1residual__block__base" kindref="compound">residual_block_base</ref><sp/>{</highlight></codeline>
<codeline lineno="69"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1global__scalar_1_1residual_1a916b5d227d82a2a669a29aa262a64b71" kindref="member">static_block_size</ref><sp/>=<sp/>1;<sp/></highlight></codeline>
<codeline lineno="70"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="71"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="72"><highlight class="normal"></highlight></codeline>
<codeline lineno="78" refid="structserif_1_1discretization_1_1blocks_1_1barotropic__constant" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1barotropic__constant" kindref="compound">barotropic_constant</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1field" kindref="compound">field</ref><sp/>{</highlight></codeline>
<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1barotropic__constant_1ad61e5e7458c1528b1cbb47134c8a0d93" kindref="member">name</ref><sp/>=<sp/><ref refid="namespaceserif_1_1meta_1a7d941ba1259cde59e5cf840bad97bae3" kindref="member">meta::type_name&lt;barotropic_constant&gt;</ref>();<sp/></highlight></codeline>
<codeline lineno="80"><highlight class="normal"></highlight></codeline>
<codeline lineno="85" refid="structserif_1_1discretization_1_1blocks_1_1barotropic__constant_1_1mass__normalization" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1barotropic__constant_1_1mass__normalization" kindref="compound">mass_normalization</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1term" kindref="compound">term</ref>&lt;barotropic_constant&gt;,<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1global__scalar" kindref="compound">global_scalar</ref><sp/>{</highlight></codeline>
<codeline lineno="86"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1barotropic__constant_1_1mass__normalization_1aa19f1016ae37051031421b42780fd321" kindref="member">name</ref><sp/>=<sp/><ref refid="namespaceserif_1_1meta_1a7d941ba1259cde59e5cf840bad97bae3" kindref="member">meta::type_name&lt;mass_normalization&gt;</ref>();<sp/></highlight></codeline>
<codeline lineno="87"><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="structserif_1_1discretization_1_1blocks_1_1barotropic__constant_1_1mass__normalization_1a132f25bb51888de00c8805537f1d63b8" kindref="member">Support</ref><sp/>=<sp/><ref refid="namespaceserif_1_1discretization_1_1domain_1aa2fd687c5f7b8750fd6980f2a7a77652" kindref="member">domain::StellarDomains</ref>;<sp/></highlight></codeline>
<codeline lineno="88"><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="structserif_1_1discretization_1_1blocks_1_1barotropic__constant_1_1mass__normalization_1a8c6ada176ec402053f8076332146ea58" kindref="member">Quantity</ref><sp/>=<sp/><ref refid="structserif_1_1dimensions_1_1_gravitational_potential" kindref="compound">dimensions::GravitationalPotential</ref>;<sp/></highlight></codeline>
<codeline lineno="89"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1barotropic__constant_1_1mass__normalization_1a19762070d0d014514943d14b46b873eb" kindref="member">symbol</ref><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;Us&quot;</highlight><highlight class="normal">;<sp/></highlight></codeline>
<codeline lineno="90"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="91"><highlight class="normal"></highlight></codeline>
<codeline lineno="92"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1barotropic__constant_1_1mass__normalization" kindref="compound">mass_normalization</ref><sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1barotropic__constant_1a39ba6420d24eaf0f560024c047802d56" kindref="member">mass_normalization_term</ref>{};<sp/></highlight></codeline>
<codeline lineno="93"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1barotropic__constant_1a63505fce53905fea1c2121db14a33e82" kindref="member">Terms</ref><sp/>=<sp/><ref refid="structserif_1_1utils_1_1types_1_1_type_list" kindref="compound">utils::types::TypeList&lt;mass_normalization&gt;</ref>;<sp/></highlight></codeline>
<codeline lineno="94"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="95"><highlight class="normal"></highlight></codeline>
<codeline lineno="100" refid="structserif_1_1discretization_1_1blocks_1_1frame__acceleration" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1frame__acceleration" kindref="compound">frame_acceleration</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1field" kindref="compound">field</ref><sp/>{</highlight></codeline>
<codeline lineno="101"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1frame__acceleration_1aee7e49ab4997d7e647d358358651f057" kindref="member">name</ref><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;frame<sp/>acceleration&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="102"><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="keywordtype">int</highlight><highlight class="normal"><sp/>Axis&gt;</highlight></codeline>
<codeline lineno="103" refid="structserif_1_1discretization_1_1blocks_1_1frame__acceleration_1_1component" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1frame__acceleration_1_1component" kindref="compound">component</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1term" kindref="compound">term</ref>&lt;frame_acceleration&gt;,<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1global__scalar" kindref="compound">global_scalar</ref><sp/>{</highlight></codeline>
<codeline lineno="104"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_assert</highlight><highlight class="normal">(Axis<sp/>&gt;=<sp/>0<sp/>&amp;&amp;<sp/>Axis<sp/>&lt;<sp/>3,<sp/></highlight><highlight class="stringliteral">&quot;A<sp/>Cartesian<sp/>reaction<sp/>component<sp/>requires<sp/>an<sp/>axis<sp/>from<sp/>0<sp/>through<sp/>2.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1frame__acceleration_1_1component_1af3b653ab51e8ff74be1ef99d061b0cd9" kindref="member">name</ref><sp/>=<sp/><ref refid="namespaceserif_1_1meta_1a7d941ba1259cde59e5cf840bad97bae3" kindref="member">meta::type_name&lt;component&gt;</ref>();</highlight></codeline>
<codeline lineno="106"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1frame__acceleration_1_1component_1a27b22bbfeef5b940c0087792249d01ff" kindref="member">stable_id</ref><sp/>=<sp/>std::array&lt;std::string_view,<sp/>3&gt;{</highlight></codeline>
<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;field.frame_acceleration.x&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;field.frame_acceleration.y&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;field.frame_acceleration.z&quot;</highlight><highlight class="normal">}[Axis];</highlight></codeline>
<codeline lineno="108"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1frame__acceleration_1_1component_1aa0fa6b83d6a266eb142506e31b88275c" kindref="member">symbol</ref><sp/>=<sp/>std::array&lt;std::string_view,<sp/>3&gt;{</highlight><highlight class="stringliteral">&quot;gamma_x&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;gamma_y&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;gamma_z&quot;</highlight><highlight class="normal">}[Axis];</highlight></codeline>
<codeline lineno="109"><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="structserif_1_1discretization_1_1blocks_1_1frame__acceleration_1_1component_1a5f3c4ae5b6808efe82ff3488f9a882b8" kindref="member">Support</ref><sp/>=<sp/><ref refid="namespaceserif_1_1discretization_1_1domain_1aa2fd687c5f7b8750fd6980f2a7a77652" kindref="member">domain::StellarDomains</ref>;</highlight></codeline>
<codeline lineno="110"><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="structserif_1_1discretization_1_1blocks_1_1frame__acceleration_1_1component_1ac88d97433752036bd3ad075859a443ef" kindref="member">Quantity</ref><sp/>=<sp/><ref refid="structserif_1_1dimensions_1_1_acceleration" kindref="compound">dimensions::Acceleration</ref>;</highlight></codeline>
<codeline lineno="111"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="112"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1frame__acceleration_1a1eae7b328dde1891c5028ed282ca1231" kindref="member">Terms</ref><sp/>=<sp/><ref refid="structserif_1_1utils_1_1types_1_1_type_list" kindref="compound">utils::types::TypeList&lt;component&lt;0&gt;</ref>,<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1frame__acceleration_1_1component" kindref="compound">component&lt;1&gt;</ref>,<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1frame__acceleration_1_1component" kindref="compound">component&lt;2&gt;</ref>&gt;;</highlight></codeline>
<codeline lineno="113"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="114"><highlight class="normal"></highlight></codeline>
<codeline lineno="119" refid="structserif_1_1discretization_1_1blocks_1_1rotation" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1rotation" kindref="compound">rotation</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1field" kindref="compound">field</ref><sp/>{</highlight></codeline>
<codeline lineno="120"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1rotation_1a20ac99d0e71d0308126525ca63b65342" kindref="member">name</ref><sp/>=<sp/><ref refid="namespaceserif_1_1meta_1a7d941ba1259cde59e5cf840bad97bae3" kindref="member">meta::type_name&lt;rotation&gt;</ref>();<sp/></highlight></codeline>
<codeline lineno="121"><highlight class="normal"></highlight></codeline>
<codeline lineno="127" refid="structserif_1_1discretization_1_1blocks_1_1rotation_1_1angular__velocity" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1rotation_1_1angular__velocity" kindref="compound">angular_velocity</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1term" kindref="compound">term</ref>&lt;rotation&gt;,<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1global__scalar" kindref="compound">global_scalar</ref><sp/>{</highlight></codeline>
<codeline lineno="128"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1rotation_1_1angular__velocity_1a529d8e058da7298dd298a699ea2a426c" kindref="member">name</ref><sp/>=<sp/><ref refid="namespaceserif_1_1meta_1a7d941ba1259cde59e5cf840bad97bae3" kindref="member">meta::type_name&lt;angular_velocity&gt;</ref>();<sp/></highlight></codeline>
<codeline lineno="129"><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="structserif_1_1discretization_1_1blocks_1_1rotation_1_1angular__velocity_1aa428f0be4facef1b85806803c59bdff8" kindref="member">Support</ref><sp/>=<sp/><ref refid="namespaceserif_1_1discretization_1_1domain_1aa2fd687c5f7b8750fd6980f2a7a77652" kindref="member">domain::StellarDomains</ref>;<sp/></highlight></codeline>
<codeline lineno="130"><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="structserif_1_1discretization_1_1blocks_1_1rotation_1_1angular__velocity_1a635369682300848b8e3fc6a925a02655" kindref="member">Quantity</ref><sp/>=<sp/><ref refid="structserif_1_1dimensions_1_1_angular_velocity" kindref="compound">dimensions::AngularVelocity</ref>;<sp/></highlight></codeline>
<codeline lineno="131"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1rotation_1_1angular__velocity_1ac873696a3dc00fcf94321fcab8d03fea" kindref="member">symbol</ref><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;Ω&quot;</highlight><highlight class="normal">;<sp/></highlight></codeline>
<codeline lineno="132"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="133"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1rotation_1_1angular__velocity" kindref="compound">angular_velocity</ref><sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1rotation_1ab15866d78d6cfe06c17b318a3dd40b0b" kindref="member">angular_velocity_term</ref>{};<sp/></highlight></codeline>
<codeline lineno="134"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1rotation_1a28d6dbac47495c5a7bc16e47e54b048d" kindref="member">Terms</ref><sp/>=<sp/><ref refid="structserif_1_1utils_1_1types_1_1_type_list" kindref="compound">utils::types::TypeList&lt;angular_velocity&gt;</ref>;<sp/></highlight></codeline>
<codeline lineno="135"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="136"><highlight class="normal"></highlight></codeline>
<codeline lineno="140" refid="structserif_1_1discretization_1_1blocks_1_1density" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1density" kindref="compound">density</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1field" kindref="compound">field</ref><sp/>{</highlight></codeline>
<codeline lineno="141"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1density_1a55e928546ff8b08a906f01fb547c5a48" kindref="member">name</ref><sp/>=<sp/><ref refid="namespaceserif_1_1meta_1a7d941ba1259cde59e5cf840bad97bae3" kindref="member">meta::type_name&lt;density&gt;</ref>();<sp/></highlight></codeline>
<codeline lineno="142"><highlight class="normal"></highlight></codeline>
<codeline lineno="147" refid="structserif_1_1discretization_1_1blocks_1_1density_1_1mass" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1density_1_1mass" kindref="compound">mass</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1term" kindref="compound">term</ref>&lt;density&gt;<sp/>{</highlight></codeline>
<codeline lineno="148"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1density_1_1mass_1a96d7b35156c536edefb32e3c64fc7cd0" kindref="member">name</ref><sp/>=<sp/><ref refid="namespaceserif_1_1meta_1a7d941ba1259cde59e5cf840bad97bae3" kindref="member">meta::type_name&lt;mass&gt;</ref>();</highlight></codeline>
<codeline lineno="149"><highlight class="normal"></highlight></codeline>
<codeline lineno="150"><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="structserif_1_1discretization_1_1blocks_1_1density_1_1mass_1ae5cd7c70c878d277f5f219e44b15e893" kindref="member">FunctionalSpace</ref><sp/>=<sp/><ref refid="structserif_1_1discretization_1_1functional__space_1_1_discrete_functional_space" kindref="compound">functional_space::DiscreteFunctionalSpace&lt;functional_space::H1, 3, 0&gt;</ref>;<sp/></highlight></codeline>
<codeline lineno="151"><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="structserif_1_1discretization_1_1blocks_1_1density_1_1mass_1afd6ca3330b1e51070dd89c2521bb36e8" kindref="member">Support</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>=<sp/><ref refid="namespaceserif_1_1discretization_1_1domain_1aa2fd687c5f7b8750fd6980f2a7a77652" kindref="member">domain::StellarDomains</ref>;<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"><ref refid="structserif_1_1discretization_1_1blocks_1_1density_1_1mass_1abc087dabb48873ecf826d278e509b01e" kindref="member">Quantity</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>=<sp/><ref refid="structserif_1_1dimensions_1_1_mass_density" kindref="compound">dimensions::MassDensity</ref>;<sp/></highlight></codeline>
<codeline lineno="153"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1density_1_1mass_1a5be922b0be5aec580f7f9b151df94761" kindref="member">symbol</ref><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;ρ&quot;</highlight><highlight class="normal">;<sp/></highlight></codeline>
<codeline lineno="154"><highlight class="normal"></highlight></codeline>
<codeline lineno="155" refid="structserif_1_1discretization_1_1blocks_1_1density_1_1mass_1_1value" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1density_1_1mass_1_1value" kindref="compound">value</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1value__block__base" kindref="compound">value_block_base</ref><sp/>{};<sp/></highlight></codeline>
<codeline lineno="156" refid="structserif_1_1discretization_1_1blocks_1_1density_1_1mass_1_1residual" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1density_1_1mass_1_1residual" kindref="compound">residual</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1residual__block__base" kindref="compound">residual_block_base</ref><sp/>{};<sp/></highlight></codeline>
<codeline lineno="157"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="158"><highlight class="normal"></highlight></codeline>
<codeline lineno="159"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1density_1_1mass" kindref="compound">mass</ref><sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1density_1a5d00a299bab1bf3aaf7297422f59c6c7" kindref="member">mass_density_term</ref>{};<sp/></highlight></codeline>
<codeline lineno="160"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1density_1acccdaa5c6303dc1697e214b174fcc1f7" kindref="member">Terms</ref><sp/>=<sp/><ref refid="structserif_1_1utils_1_1types_1_1_type_list" kindref="compound">utils::types::TypeList&lt;mass&gt;</ref>;<sp/></highlight></codeline>
<codeline lineno="161"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="162"><highlight class="normal"></highlight></codeline>
<codeline lineno="166" refid="structserif_1_1discretization_1_1blocks_1_1displacement" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1displacement" kindref="compound">displacement</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1field" kindref="compound">field</ref><sp/>{</highlight></codeline>
<codeline lineno="167"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1displacement_1a01e669b73fa3a50a6c1fbafc1bb68e90" kindref="member">name</ref><sp/>=<sp/><ref refid="namespaceserif_1_1meta_1a7d941ba1259cde59e5cf840bad97bae3" kindref="member">meta::type_name&lt;displacement&gt;</ref>();<sp/></highlight></codeline>
<codeline lineno="168"><highlight class="normal"></highlight></codeline>
<codeline lineno="179" refid="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector" kindref="compound">vector</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1term" kindref="compound">term</ref>&lt;displacement&gt;<sp/>{</highlight></codeline>
<codeline lineno="180"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector_1a61b5857f3b3bc61f30615722fc6b08b4" kindref="member">name</ref><sp/>=<sp/><ref refid="namespaceserif_1_1meta_1a7d941ba1259cde59e5cf840bad97bae3" kindref="member">meta::type_name&lt;vector&gt;</ref>();<sp/></highlight></codeline>
<codeline lineno="181"><highlight class="normal"></highlight></codeline>
<codeline lineno="182"><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="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector_1ad921cb3039e5e3a6718d4e44fd139383" kindref="member">FunctionalSpace</ref><sp/>=<sp/><ref refid="structserif_1_1discretization_1_1functional__space_1_1_discrete_functional_space" kindref="compound">functional_space::DiscreteFunctionalSpace&lt;functional_space::H1, 3, 1&gt;</ref>;<sp/></highlight></codeline>
<codeline lineno="183"><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="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector_1a142b18568434f597bee7a66036c20d4d" kindref="member">Support</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>=<sp/><ref refid="namespaceserif_1_1discretization_1_1domain_1a46dfe7f95e0184edff495bd82e3d7b5d" kindref="member">domain::AllDomains</ref>;<sp/></highlight></codeline>
<codeline lineno="184"><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="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector_1a920805c1bea1f8761abc82c2a8d5c454" kindref="member">Quantity</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>=<sp/><ref refid="structserif_1_1dimensions_1_1_length" kindref="compound">dimensions::Length</ref>;<sp/></highlight></codeline>
<codeline lineno="185"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector_1a7a1631c3979c089a19d3d66e4c52f499" kindref="member">symbol</ref><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;d&quot;</highlight><highlight class="normal">;<sp/></highlight></codeline>
<codeline lineno="186"><highlight class="normal"></highlight></codeline>
<codeline lineno="187" refid="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector_1_1value" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector_1_1value" kindref="compound">value</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1value__block__base" kindref="compound">value_block_base</ref><sp/>{};<sp/></highlight></codeline>
<codeline lineno="188" refid="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector_1_1residual" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector_1_1residual" kindref="compound">residual</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1residual__block__base" kindref="compound">residual_block_base</ref><sp/>{};<sp/></highlight></codeline>
<codeline lineno="189"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="190"><highlight class="normal"></highlight></codeline>
<codeline lineno="191"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1displacement_1_1vector" kindref="compound">vector</ref><sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1displacement_1a14811d49c3549067dea1e8812cdcd3c7" kindref="member">vector_term</ref>{};<sp/></highlight></codeline>
<codeline lineno="192"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1displacement_1a4a40607dc031a2807937015be4d919d3" kindref="member">Terms</ref><sp/>=<sp/><ref refid="structserif_1_1utils_1_1types_1_1_type_list" kindref="compound">utils::types::TypeList&lt;vector&gt;</ref>;<sp/></highlight></codeline>
<codeline lineno="193"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="194"><highlight class="normal"></highlight></codeline>
<codeline lineno="195"><highlight class="normal"></highlight></codeline>
<codeline lineno="201" refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation" kindref="compound">surface_deformation</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1field" kindref="compound">field</ref><sp/>{</highlight></codeline>
<codeline lineno="202"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1a57933e7227afb48023ea0da56bdf75f0" kindref="member">name</ref><sp/>=<sp/><ref refid="namespaceserif_1_1meta_1a7d941ba1259cde59e5cf840bad97bae3" kindref="member">meta::type_name&lt;surface_deformation&gt;</ref>();<sp/></highlight></codeline>
<codeline lineno="203"><highlight class="normal"></highlight></codeline>
<codeline lineno="208" refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients" kindref="compound">coefficients</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1term" kindref="compound">term</ref>&lt;surface_deformation&gt;<sp/>{</highlight></codeline>
<codeline lineno="209"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients_1a563c00f2e93dab4b5adf831b28960515" kindref="member">name</ref><sp/>=<sp/><ref refid="namespaceserif_1_1meta_1a7d941ba1259cde59e5cf840bad97bae3" kindref="member">meta::type_name&lt;coefficients&gt;</ref>();<sp/></highlight></codeline>
<codeline lineno="210" refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients_1_1value" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients_1_1value" kindref="compound">value</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1value__block__base" kindref="compound">value_block_base</ref><sp/>{};<sp/></highlight></codeline>
<codeline lineno="211"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="212"><highlight class="normal"></highlight></codeline>
<codeline lineno="217" refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1shape__equilibrium" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1shape__equilibrium" kindref="compound">shape_equilibrium</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1term" kindref="compound">term</ref>&lt;surface_deformation&gt;<sp/>{</highlight></codeline>
<codeline lineno="218"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1shape__equilibrium_1aaf6cde4069563edb1f73ad6da5757c4b" kindref="member">name</ref><sp/>=<sp/><ref refid="namespaceserif_1_1meta_1a7d941ba1259cde59e5cf840bad97bae3" kindref="member">meta::type_name&lt;shape_equilibrium&gt;</ref>();<sp/></highlight></codeline>
<codeline lineno="219" refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1shape__equilibrium_1_1residual" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1shape__equilibrium_1_1residual" kindref="compound">residual</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1residual__block__base" kindref="compound">residual_block_base</ref><sp/>{};<sp/></highlight></codeline>
<codeline lineno="220"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="221"><highlight class="normal"></highlight></codeline>
<codeline lineno="222"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients" kindref="compound">coefficients</ref><sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1aed158383b987affa3623696e32767ab6" kindref="member">coefficients_term</ref>{};<sp/></highlight></codeline>
<codeline lineno="223"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>shape_equilibrium<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1af3b4e82329b2899c986a963e46ef1049" kindref="member">shape_equilibrium_term</ref>{};<sp/></highlight></codeline>
<codeline lineno="224"><highlight class="normal"></highlight></codeline>
<codeline lineno="225"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1surface__deformation_1afb4cafcc63156930d31b7d8cc567a656" kindref="member">Terms</ref><sp/>=<sp/><ref refid="structserif_1_1utils_1_1types_1_1_type_list" kindref="compound">utils::types::TypeList&lt;coefficients, shape_equilibrium&gt;</ref>;<sp/></highlight></codeline>
<codeline lineno="226"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="227"><highlight class="normal"></highlight></codeline>
<codeline lineno="231" refid="structserif_1_1discretization_1_1blocks_1_1gravity" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1gravity" kindref="compound">gravity</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1field" kindref="compound">field</ref><sp/>{</highlight></codeline>
<codeline lineno="232"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1gravity_1a53a9fb418ac3b8da574ee8707733fc21" kindref="member">name</ref><sp/>=<sp/><ref refid="namespaceserif_1_1meta_1a7d941ba1259cde59e5cf840bad97bae3" kindref="member">meta::type_name&lt;gravity&gt;</ref>();<sp/></highlight></codeline>
<codeline lineno="233"><highlight class="normal"></highlight></codeline>
<codeline lineno="238" refid="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential" kindref="compound">potential</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1term" kindref="compound">term</ref>&lt;gravity&gt;<sp/>{</highlight></codeline>
<codeline lineno="239"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential_1aceb32379dcad7a3c08ed60219679855d" kindref="member">name</ref><sp/>=<sp/><ref refid="namespaceserif_1_1meta_1a7d941ba1259cde59e5cf840bad97bae3" kindref="member">meta::type_name&lt;potential&gt;</ref>();<sp/></highlight></codeline>
<codeline lineno="240"><highlight class="normal"></highlight></codeline>
<codeline lineno="241"><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="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential_1adeca79c6e282b5554720798f5a0a74e4" kindref="member">FunctionalSpace</ref><sp/>=<sp/><ref refid="structserif_1_1discretization_1_1functional__space_1_1_discrete_functional_space" kindref="compound">functional_space::DiscreteFunctionalSpace&lt;functional_space::H1, 4, 0&gt;</ref>;<sp/></highlight></codeline>
<codeline lineno="242"><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="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential_1a76b5f58b82d99e2b2260ebfbcd5687b0" kindref="member">Support</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>=<sp/><ref refid="namespaceserif_1_1discretization_1_1domain_1a46dfe7f95e0184edff495bd82e3d7b5d" kindref="member">domain::AllDomains</ref>;<sp/></highlight></codeline>
<codeline lineno="243"><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="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential_1a41f3b6877e9315c525179e7404281e50" kindref="member">Quantity</ref><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>=<sp/><ref refid="structserif_1_1dimensions_1_1_gravitational_potential" kindref="compound">dimensions::GravitationalPotential</ref>;<sp/></highlight></codeline>
<codeline lineno="244"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>std::string_view<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential_1ac58d417dc23ac353fd2b2d4247f3d52c" kindref="member">symbol</ref><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;φ&quot;</highlight><highlight class="normal">;<sp/></highlight></codeline>
<codeline lineno="245"><highlight class="normal"></highlight></codeline>
<codeline lineno="246" refid="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential_1_1value" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential_1_1value" kindref="compound">value</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1value__block__base" kindref="compound">value_block_base</ref><sp/>{};<sp/></highlight></codeline>
<codeline lineno="247" refid="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential_1_1residual" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential_1_1residual" kindref="compound">residual</ref><sp/>final<sp/>:<sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1residual__block__base" kindref="compound">residual_block_base</ref><sp/>{};<sp/></highlight></codeline>
<codeline lineno="248"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="249"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1gravity_1_1potential" kindref="compound">potential</ref><sp/><ref refid="structserif_1_1discretization_1_1blocks_1_1gravity_1a2034542115335bdf27880f3e6f67710b" kindref="member">potential_term</ref>{};<sp/></highlight></codeline>
<codeline lineno="250"><highlight class="normal"></highlight></codeline>
<codeline lineno="251"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">using<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1discretization_1_1blocks_1_1gravity_1ae9ca103a4583420e6d6508515cda867e" kindref="member">Terms</ref><sp/>=<sp/><ref refid="structserif_1_1utils_1_1types_1_1_type_list" kindref="compound">utils::types::TypeList&lt;potential&gt;</ref>;<sp/></highlight></codeline>
<codeline lineno="252"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="253"><highlight class="normal">}</highlight></codeline>
</programlisting>
<location file="src/include/serif/discretization/blocks/fields.hpp"/>
</compounddef>
</doxygen>