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

919 lines
55 KiB
XML

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.13.2" xml:lang="en-US">
<compounddef id="mfem__resolver_8hpp" kind="file" language="C++">
<compoundname>mfem_resolver.hpp</compoundname>
<includes local="no">span</includes>
<includes local="no">format</includes>
<includes local="no">unordered_map</includes>
<includes local="yes">mfem/fem/geom.hpp</includes>
<includes local="yes">mfem/fem/intrules.hpp</includes>
<includes refid="rules_8hpp" local="yes">serif/discretization/quadrature/rules.hpp</includes>
<includes refid="backend_2mfem_2discretization_2quadrature_2order_8hpp" local="yes">serif/backend/mfem/discretization/quadrature/order.hpp</includes>
<includes refid="discretization_2domain_2concepts_8hpp" local="yes">serif/discretization/domain/concepts.hpp</includes>
<includes refid="policy_8hpp" local="yes">serif/discretization/quadrature/policy.hpp</includes>
<includes refid="query_8hpp" local="yes">serif/discretization/quadrature/query.hpp</includes>
<includes refid="backend_2mfem_2discretization_2quadrature_2concepts_8hpp" local="yes">serif/backend/mfem/discretization/quadrature/concepts.hpp</includes>
<includes refid="configure_8hpp" local="yes">serif/backend/mfem/discretization/quadrature/configure.hpp</includes>
<includes refid="mfem__static__order_8hpp" local="yes">serif/backend/mfem/discretization/quadrature/mfem_static_order.hpp</includes>
<includes refid="format_2strings_8hpp" local="yes">serif/utils/format/strings.hpp</includes>
<includedby refid="mfem__resolver_8cpp" local="yes">src/compile_time_checks/serif/backend/mfem/discretization/quadrature/mfem_resolver.cpp</includedby>
<includedby refid="quadrature_8hpp" local="yes">src/include/serif/backend/mfem/operators/quadrature.hpp</includedby>
<incdepgraph>
<node id="60">
<label>serif/backend/mfem/discretization/quadrature/concepts.hpp</label>
<link refid="backend_2mfem_2discretization_2quadrature_2concepts_8hpp"/>
<childnode refid="6" relation="include">
</childnode>
</node>
<node id="61">
<label>serif/backend/mfem/discretization/quadrature/configure.hpp</label>
<link refid="configure_8hpp"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="60" relation="include">
</childnode>
</node>
<node id="1">
<label>src/include/serif/backend/mfem/discretization/quadrature/mfem_resolver.hpp</label>
<link refid="mfem__resolver_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="42" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
<childnode refid="57" relation="include">
</childnode>
<childnode refid="58" relation="include">
</childnode>
<childnode refid="60" relation="include">
</childnode>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="62" relation="include">
</childnode>
<childnode refid="63" relation="include">
</childnode>
</node>
<node id="62">
<label>serif/backend/mfem/discretization/quadrature/mfem_static_order.hpp</label>
<link refid="mfem__static__order_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="42" relation="include">
</childnode>
</node>
<node id="42">
<label>serif/backend/mfem/discretization/quadrature/order.hpp</label>
<link refid="backend_2mfem_2discretization_2quadrature_2order_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="43" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="44" relation="include">
</childnode>
</node>
<node id="18">
<label>serif/dimensions/dimensions.hpp</label>
<link refid="dimensions_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
</node>
<node id="19">
<label>serif/dimensions/quantities.hpp</label>
<link refid="quantities_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="26">
<label>serif/discretization/blocks/base.hpp</label>
<link refid="base_8hpp"/>
</node>
<node id="15">
<label>serif/discretization/blocks/concepts.hpp</label>
<link refid="discretization_2blocks_2concepts_8hpp"/>
<childnode refid="16" relation="include">
</childnode>
</node>
<node id="16">
<label>serif/discretization/blocks/fields.hpp</label>
<link refid="fields_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
</node>
<node id="14">
<label>serif/discretization/blocks/runtime.hpp</label>
<link refid="discretization_2blocks_2runtime_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
</node>
<node id="43">
<label>serif/discretization/blocks/traits.hpp</label>
<link refid="discretization_2blocks_2traits_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
</node>
<node id="30">
<label>serif/discretization/domain/concepts.hpp</label>
<link refid="discretization_2domain_2concepts_8hpp"/>
<childnode refid="31" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="32" relation="include">
</childnode>
<childnode refid="33" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="34" relation="include">
</childnode>
</node>
<node id="35">
<label>serif/discretization/domain/physical_domains.hpp</label>
<link refid="physical__domains_8hpp"/>
<childnode refid="33" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
</node>
<node id="33">
<label>serif/discretization/domain/types.hpp</label>
<link refid="discretization_2domain_2types_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="39">
<label>serif/discretization/forms/concept.hpp</label>
<link refid="concept_8hpp"/>
<childnode refid="40" relation="include">
</childnode>
</node>
<node id="59">
<label>serif/discretization/forms/form_traits.hpp</label>
<link refid="form__traits_8hpp"/>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="40" relation="include">
</childnode>
</node>
<node id="40">
<label>serif/discretization/forms/forms.hpp</label>
<link refid="forms_8hpp"/>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
</node>
<node id="41">
<label>serif/discretization/forms/operands.hpp</label>
<link refid="operands_8hpp"/>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
</node>
<node id="12">
<label>serif/discretization/forms/runtime.hpp</label>
<link refid="discretization_2forms_2runtime_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
</node>
<node id="27">
<label>serif/discretization/functional_space/space.hpp</label>
<link refid="space_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
</node>
<node id="57">
<label>serif/discretization/quadrature/policy.hpp</label>
<link refid="policy_8hpp"/>
<childnode refid="58" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
</node>
<node id="58">
<label>serif/discretization/quadrature/query.hpp</label>
<link refid="query_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="59" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
</node>
<node id="7">
<label>serif/discretization/quadrature/rules.hpp</label>
<link refid="rules_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
</node>
<node id="28">
<label>serif/meta/enums.hpp</label>
<link refid="enums_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="37">
<label>serif/meta/names.hpp</label>
<link refid="names_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
</node>
<node id="54">
<label>serif/utils/error/codes.hpp</label>
<link refid="codes_8hpp"/>
<childnode refid="46" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
</node>
<node id="44">
<label>serif/utils/error/errors.hpp</label>
<link refid="errors_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="45" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="46" relation="include">
</childnode>
<childnode refid="47" relation="include">
</childnode>
<childnode refid="48" relation="include">
</childnode>
<childnode refid="49" relation="include">
</childnode>
<childnode refid="52" relation="include">
</childnode>
<childnode refid="54" relation="include">
</childnode>
<childnode refid="55" relation="include">
</childnode>
</node>
<node id="63">
<label>serif/utils/format/strings.hpp</label>
<link refid="format_2strings_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
</node>
<node id="52">
<label>serif/utils/misc/concepts/exceptions.hpp</label>
<link refid="utils_2misc_2concepts_2exceptions_8hpp"/>
<childnode refid="53" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
</node>
<node id="25">
<label>serif/utils/misc/concepts/numeric.hpp</label>
<link refid="numeric_8hpp"/>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
</node>
<node id="24">
<label>serif/utils/misc/std_helper/cleaning.hpp</label>
<link refid="cleaning_8hpp"/>
<childnode refid="20" relation="include">
</childnode>
</node>
<node id="34">
<label>serif/utils/misc/std_helper/variadic_cleaning.hpp</label>
<link refid="variadic__cleaning_8hpp"/>
<childnode refid="31" relation="include">
</childnode>
</node>
<node id="49">
<label>serif/utils/misc/terminal/colors.hpp</label>
<link refid="colors_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="45" relation="include">
</childnode>
<childnode refid="50" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
</node>
<node id="55">
<label>serif/utils/types/strings.hpp</label>
<link refid="types_2strings_8hpp"/>
<childnode refid="47" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="36">
<label>serif/utils/types/type_list.hpp</label>
<link refid="type__list_8hpp"/>
</node>
<node id="47">
<label>algorithm</label>
</node>
<node id="17">
<label>array</label>
</node>
<node id="21">
<label>compare</label>
</node>
<node id="22">
<label>concepts</label>
</node>
<node id="31">
<label>cstddef</label>
</node>
<node id="46">
<label>cstdint</label>
</node>
<node id="45">
<label>cstdio</label>
</node>
<node id="50">
<label>cstdlib</label>
</node>
<node id="53">
<label>exception</label>
</node>
<node id="3">
<label>format</label>
</node>
<node id="56">
<label>iostream</label>
</node>
<node id="29">
<label>magic_enum/magic_enum_all.hpp</label>
</node>
<node id="5">
<label>mfem/fem/geom.hpp</label>
</node>
<node id="6">
<label>mfem/fem/intrules.hpp</label>
</node>
<node id="38">
<label>nameof.hpp</label>
</node>
<node id="32">
<label>numeric</label>
</node>
<node id="8">
<label>optional</label>
</node>
<node id="2">
<label>span</label>
</node>
<node id="9">
<label>string</label>
</node>
<node id="13">
<label>string_view</label>
</node>
<node id="23">
<label>tuple</label>
</node>
<node id="20">
<label>type_traits</label>
</node>
<node id="51">
<label>unistd.h</label>
</node>
<node id="4">
<label>unordered_map</label>
</node>
<node id="11">
<label>utility</label>
</node>
<node id="10">
<label>vector</label>
</node>
<node id="48">
<label>version</label>
</node>
</incdepgraph>
<invincdepgraph>
<node id="2">
<label>src/compile_time_checks/serif/backend/mfem/discretization/quadrature/mfem_resolver.cpp</label>
<link refid="mfem__resolver_8cpp"/>
</node>
<node id="27">
<label>src/compile_time_checks/serif/model/finite_elements.cpp</label>
<link refid="compile__time__checks_2serif_2model_2finite__elements_8cpp"/>
</node>
<node id="22">
<label>src/compile_time_checks/serif/model/scalar_row.cpp</label>
<link refid="compile__time__checks_2serif_2model_2scalar__row_8cpp"/>
</node>
<node id="12">
<label>src/compile_time_checks/serif/model/state.cpp</label>
<link refid="state_8cpp"/>
</node>
<node id="7">
<label>src/compile_time_checks/serif/operators/computation_owners.cpp</label>
<link refid="computation__owners_8cpp"/>
</node>
<node id="1">
<label>src/include/serif/backend/mfem/discretization/quadrature/mfem_resolver.hpp</label>
<link refid="mfem__resolver_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
</node>
<node id="33">
<label>src/include/serif/backend/mfem/model/binding.hpp</label>
<link refid="backend_2mfem_2model_2binding_8hpp"/>
<childnode refid="34" relation="include">
</childnode>
<childnode refid="35" relation="include">
</childnode>
</node>
<node id="8">
<label>src/include/serif/backend/mfem/model/computations/interior.hpp</label>
<link refid="interior_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
</node>
<node id="9">
<label>src/include/serif/backend/mfem/model/computations/potential_infinity.hpp</label>
<link refid="potential__infinity_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
</node>
<node id="19">
<label>src/include/serif/backend/mfem/model/computations/pressure_boundary.hpp</label>
<link refid="model_2computations_2pressure__boundary_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
</node>
<node id="21">
<label>src/include/serif/backend/mfem/model/computations/scalar_row.hpp</label>
<link refid="computations_2scalar__row_8hpp"/>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
</node>
<node id="20">
<label>src/include/serif/backend/mfem/model/computations/surface_potential.hpp</label>
<link refid="backend_2mfem_2model_2computations_2surface__potential_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
</node>
<node id="24">
<label>src/include/serif/backend/mfem/model/discretization.hpp</label>
<link refid="model_2discretization_8hpp"/>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
</node>
<node id="11">
<label>src/include/serif/backend/mfem/model/equilibrium.hpp</label>
<link refid="backend_2mfem_2model_2equilibrium_8hpp"/>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="34">
<label>src/include/serif/backend/mfem/model/equilibrium_evaluator.hpp</label>
<link refid="equilibrium__evaluator_8hpp"/>
<childnode refid="11" relation="include">
</childnode>
</node>
<node id="25">
<label>src/include/serif/backend/mfem/model/finite_elements.hpp</label>
<link refid="backend_2mfem_2model_2finite__elements_8hpp"/>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
</node>
<node id="10">
<label>src/include/serif/backend/mfem/model/graph.hpp</label>
<link refid="backend_2mfem_2model_2graph_8hpp"/>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
</node>
<node id="32">
<label>src/include/serif/backend/mfem/model/inputs.hpp</label>
<link refid="model_2inputs_8hpp"/>
<childnode refid="33" relation="include">
</childnode>
</node>
<node id="39">
<label>src/include/serif/backend/mfem/model/volume.hpp</label>
<link refid="volume_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
</node>
<node id="40">
<label>src/include/serif/backend/mfem/model/volume_actions.hpp</label>
<link refid="volume__actions_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
</node>
<node id="37">
<label>src/include/serif/backend/mfem/model/volume_displacement.hpp</label>
<link refid="volume__displacement_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
</node>
<node id="4">
<label>src/include/serif/backend/mfem/operators/element_preparation.hpp</label>
<link refid="element__preparation_8hpp"/>
<childnode refid="5" relation="include">
</childnode>
</node>
<node id="41">
<label>src/include/serif/backend/mfem/operators/jacobian_operator.hpp</label>
<link refid="jacobian__operator_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
</node>
<node id="3">
<label>src/include/serif/backend/mfem/operators/quadrature.hpp</label>
<link refid="quadrature_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
</node>
<node id="38">
<label>src/include/serif/backend/mfem/operators/volume_application.hpp</label>
<link refid="volume__application_8hpp"/>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="40" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="42" relation="include">
</childnode>
</node>
<node id="6">
<label>src/include/serif/backend/mfem/operators/volume_computations.hpp</label>
<link refid="volume__computations_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
</node>
<node id="23">
<label>src/include/serif/backend/mfem/operators/volume_data.hpp</label>
<link refid="volume__data_8hpp"/>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="44" relation="include">
</childnode>
</node>
<node id="42">
<label>src/include/serif/backend/mfem/operators/volume_field_block.hpp</label>
<link refid="volume__field__block_8hpp"/>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="43" relation="include">
</childnode>
</node>
<node id="31">
<label>src/include/serif/backend/mfem/operators/volume_inputs.hpp</label>
<link refid="volume__inputs_8hpp"/>
<childnode refid="32" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
</node>
<node id="5">
<label>src/include/serif/backend/mfem/operators/volume_stages.hpp</label>
<link refid="volume__stages_8hpp"/>
<childnode refid="6" relation="include">
</childnode>
</node>
<node id="30">
<label>src/include/serif/backend/mfem/serialize/configuration.hpp</label>
<link refid="backend_2mfem_2serialize_2configuration_8hpp"/>
</node>
<node id="29">
<label>src/include/serif/backend/mfem/serialize/discretization.hpp</label>
<link refid="serialize_2discretization_8hpp"/>
<childnode refid="30" relation="include">
</childnode>
</node>
<node id="44">
<label>src/include/serif/backend/mfem/serialize/options.hpp</label>
<link refid="backend_2mfem_2serialize_2options_8hpp"/>
</node>
<node id="18">
<label>src/include/serif/backend/mfem/solver/admissibility/geometry.hpp</label>
<link refid="geometry_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
</node>
<node id="14">
<label>src/include/serif/backend/mfem/solver/equilibrium.hpp</label>
<link refid="backend_2mfem_2solver_2equilibrium_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
</node>
<node id="13">
<label>src/include/serif/backend/mfem/solver/nonlinear/stellar_problem.hpp</label>
<link refid="stellar__problem_8hpp"/>
<childnode refid="14" relation="include">
</childnode>
</node>
<node id="35">
<label>src/include/serif/backend/mfem/solver/seed/state.hpp</label>
<link refid="backend_2mfem_2solver_2seed_2state_8hpp"/>
<childnode refid="36" relation="include">
</childnode>
</node>
<node id="26">
<label>src/include/serif/model/finite_elements.hpp</label>
<link refid="model_2finite__elements_8hpp"/>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
</node>
<node id="16">
<label>src/include/serif/solver/continuation/equilibrium.hpp</label>
<link refid="solver_2continuation_2equilibrium_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
</node>
<node id="15">
<label>src/include/serif/solver/equilibrium.hpp</label>
<link refid="solver_2equilibrium_8hpp"/>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
</node>
<node id="36">
<label>src/include/serif/solver/seed/state.hpp</label>
<link refid="solver_2seed_2state_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
</node>
<node id="17">
<label>src/include/serif/solver/solver.hpp</label>
<link refid="solver_2solver_8hpp"/>
</node>
<node id="28">
<label>src/lib/serif/backend/mfem/model/finite_elements.cpp</label>
<link refid="lib_2serif_2backend_2mfem_2model_2finite__elements_8cpp"/>
</node>
<node id="43">
<label>src/lib/serif/backend/mfem/model/system_selection.cpp</label>
<link refid="system__selection_8cpp"/>
</node>
</invincdepgraph>
<innerclass refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context" prot="public">serif::discretization::quadrature::backend::mfem::MFEMQuadratureContext</innerclass>
<innerclass refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_rule" prot="public">serif::discretization::quadrature::backend::mfem::MFEMRule</innerclass>
<innerclass refid="classserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_resolver" prot="public">serif::discretization::quadrature::backend::mfem::MFEMResolver</innerclass>
<innernamespace refid="namespaceserif">serif</innernamespace>
<innernamespace refid="namespaceserif_1_1discretization">serif::discretization</innernamespace>
<innernamespace refid="namespaceserif_1_1discretization_1_1quadrature">serif::discretization::quadrature</innernamespace>
<innernamespace refid="namespaceserif_1_1discretization_1_1quadrature_1_1backend">serif::discretization::quadrature::backend</innernamespace>
<innernamespace refid="namespaceserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem">serif::discretization::quadrature::backend::mfem</innernamespace>
<briefdescription>
<para>File containing the MFEMResolver class. This class is used to resolve the appropriate MFEM integration rule for a given quadrature context. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="author"><para>Emily M. Boudreaux</para>
</simplesect>
</para>
<para><simplesect kind="note"><para>We may want to consider renaming this file to runtime to stick to convention. The reason I did not initially is that this is more specific than pure runtime projection of compile time invariants (which is what most of the other files named runtime.hpp do). Something to think about.</para>
</simplesect>
<simplesect kind="note"><para>You will see <ref refid="namespacemfem" kindref="compound">mfem</ref> throughout. This is an important syntax to use here since MFEM&apos;s code lives in the mfem namespace; however, we also have code living in an mfem namespace. Outside of translation units that include using namespace <ref refid="namespaceserif_1_1discretization_1_1quadrature_1_1backend" kindref="compound">serif::discretization::quadrature::backend</ref> and outside of the <ref refid="namespaceserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem" kindref="compound">serif::discretization::quadrature::backend::mfem</ref> namespace itself these two things do not conflict. However, in those two cases there is a degeneracy the compiler cannot resolve between mfem:: and mfem::. Using <ref refid="namespacemfem" kindref="compound">mfem</ref> explicitly tells the compiler that we are looking from the root of the namespace tree not the current namespace. </para>
</simplesect>
</para>
</detaileddescription>
<programlisting>
<codeline lineno="1"><highlight class="preprocessor">#pragma<sp/>once</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight></codeline>
<codeline lineno="17"><highlight class="normal"></highlight></codeline>
<codeline lineno="18"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;span&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;format&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="20"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;unordered_map&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="21"><highlight class="normal"></highlight></codeline>
<codeline lineno="22"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;mfem/fem/geom.hpp&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="23"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;mfem/fem/intrules.hpp&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="24"><highlight class="normal"></highlight></codeline>
<codeline lineno="25"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="rules_8hpp" kindref="compound">serif/discretization/quadrature/rules.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="26"><highlight class="normal"></highlight></codeline>
<codeline lineno="27"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="backend_2mfem_2discretization_2quadrature_2order_8hpp" kindref="compound">serif/backend/mfem/discretization/quadrature/order.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="28"><highlight class="normal"></highlight></codeline>
<codeline lineno="29"><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="30"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="policy_8hpp" kindref="compound">serif/discretization/quadrature/policy.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="31"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="query_8hpp" kindref="compound">serif/discretization/quadrature/query.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="32"><highlight class="normal"></highlight></codeline>
<codeline lineno="33"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="backend_2mfem_2discretization_2quadrature_2concepts_8hpp" kindref="compound">serif/backend/mfem/discretization/quadrature/concepts.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="34"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="configure_8hpp" kindref="compound">serif/backend/mfem/discretization/quadrature/configure.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="35"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="mfem__static__order_8hpp" kindref="compound">serif/backend/mfem/discretization/quadrature/mfem_static_order.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="36"><highlight class="normal"></highlight></codeline>
<codeline lineno="37"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="format_2strings_8hpp" kindref="compound">serif/utils/format/strings.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="38"><highlight class="normal"></highlight></codeline>
<codeline lineno="39"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem" kindref="compound">serif::discretization::quadrature::backend::mfem</ref><sp/>{</highlight></codeline>
<codeline lineno="40"><highlight class="normal"></highlight></codeline>
<codeline lineno="49" refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context" 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_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context" kindref="compound">MFEMQuadratureContext</ref><sp/>final<sp/>{</highlight></codeline>
<codeline lineno="50"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1discretization_1_1quadrature_1a2170ba7c65dd986e68afb2cc85f2ad88" kindref="member">QuadratureRole</ref><sp/><ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context_1a205f904c802d7ce54c4b2abbda1bbdbb" kindref="member">role</ref><sp/>=<sp/><ref refid="namespaceserif_1_1discretization_1_1quadrature_1a2170ba7c65dd986e68afb2cc85f2ad88a39629fd04651ccd980a12031e92a4bbf" kindref="member">QuadratureRole::discretization</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="51"><highlight class="normal"></highlight></codeline>
<codeline lineno="52"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>::mfem::Geometry::Type<sp/><ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context_1a984be460ed72000d4202ae482973307d" kindref="member">geometry</ref><sp/>=<sp/>::mfem::Geometry::INVALID;<sp/><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="53"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context_1a160afd5c7bf3ce7bd6164f8528265652" kindref="member">geometry_weight_order</ref><sp/>=<sp/>0;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="54"><highlight class="normal"></highlight></codeline>
<codeline lineno="55"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::span&lt;const<sp/>int&gt;<sp/><ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context_1ae8584585133063dca1f7a9c8f0341cd0" kindref="member">dynamic_orders</ref>{};<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="56"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classserif_1_1discretization_1_1domain_1_1_domain_or_set" kindref="compound">domain::DomainOrSet</ref><sp/><ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context_1ad1ba1709dc95d8eeb53caaa59fb54fd6" kindref="member">domain</ref><sp/>=<sp/><ref refid="namespaceserif_1_1discretization_1_1domain_1a46dfe7f95e0184edff495bd82e3d7b5d" kindref="member">domain::AllDomains</ref>{};<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="57"><highlight class="normal"></highlight></codeline>
<codeline lineno="58"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1discretization_1_1quadrature_1a41f6d96b8d77bc2944e8b328062e5efa" kindref="member">MappingKind</ref><sp/><ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context_1a4d6a4d47aa615301dde6689b1033beb1" kindref="member">mapping</ref><sp/>=<sp/><ref refid="namespaceserif_1_1discretization_1_1quadrature_1a41f6d96b8d77bc2944e8b328062e5efaa334c4a4c42fdb79d7ebc3e73b517e6f8" kindref="member">MappingKind::none</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="59"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="60"><highlight class="normal"></highlight></codeline>
<codeline lineno="64" refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_rule" 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_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_rule" kindref="compound">MFEMRule</ref><sp/>final<sp/>{</highlight></codeline>
<codeline lineno="65"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structserif_1_1discretization_1_1quadrature_1_1_resolution" kindref="compound">Resolution</ref><sp/><ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_rule_1a0b26f36ef7a4880e0243405ecc83dfdd" kindref="member">resolution</ref>{};<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>const<sp/>::mfem::IntegrationRule<sp/>*<ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_rule_1a10d2a0acb63733408b41d9592c0dde02" kindref="member">integration_rule</ref><sp/>=<sp/></highlight><highlight class="keyword">nullptr</highlight><highlight class="normal">;<sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="68"><highlight class="normal"></highlight></codeline>
<codeline lineno="72" refid="classserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_resolver" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_resolver_1a6b0660570304a7cfba3870fd06fa78db" kindref="member">MFEMResolver</ref><sp/>final<sp/>{</highlight></codeline>
<codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">explicit</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_resolver_1a6b0660570304a7cfba3870fd06fa78db" kindref="member">MFEMResolver</ref><sp/>(<ref refid="classserif_1_1discretization_1_1quadrature_1_1_policy" kindref="compound">Policy</ref><sp/>policy)<sp/>noexcept<sp/>:<sp/><ref refid="classserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_resolver_1a5f8027680d79ee8f70f76d45dead4112" kindref="member">m_policy</ref>(std::move(policy))<sp/>{}<sp/></highlight><highlight class="comment">//<sp/>Do<sp/>we<sp/>actually<sp/>want<sp/>to<sp/>use<sp/>move<sp/>rvalue<sp/>semantics<sp/>here?</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="80"><highlight class="normal"></highlight></codeline>
<codeline lineno="90"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;forms::Form<sp/>FormT&gt;</highlight></codeline>
<codeline lineno="91"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>[[nodiscard]]<sp/><ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_rule" kindref="compound">MFEMRule</ref><sp/><ref refid="classserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_resolver_1a9e06d52513ae0905da60fa326d2406ce" kindref="member">resolve</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context" kindref="compound">MFEMQuadratureContext</ref>&amp;<sp/>context)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="92"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(context.<ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context_1a160afd5c7bf3ce7bd6164f8528265652" kindref="member">geometry_weight_order</ref><sp/>&lt;<sp/>0)<sp/>{</highlight></codeline>
<codeline lineno="93"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1errors_1a2447eb80947534cdf0fbd205251cfd9c" kindref="member">utils::errors::serif_error&lt;std::invalid_argument, utils::errors::SERiFErrorCode::INVALID_QUADRATURE_ORDER&gt;</ref>(</highlight><highlight class="stringliteral">&quot;MFEM<sp/>geometry<sp/>weight<sp/>order<sp/>must<sp/>be<sp/>non-negative.<sp/>Received<sp/>an<sp/>order<sp/>of<sp/>{}&quot;</highlight><highlight class="normal">,<sp/>context.<ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context_1a160afd5c7bf3ce7bd6164f8528265652" kindref="member">geometry_weight_order</ref>);</highlight></codeline>
<codeline lineno="94"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="95"><highlight class="normal"></highlight></codeline>
<codeline lineno="96"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>dynamic_order<sp/>=<sp/><ref refid="namespaceserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1a1612811d4942c7f57228605d59644cff" kindref="member">sum_dynamic_orders</ref>(context.<ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context_1ae8584585133063dca1f7a9c8f0341cd0" kindref="member">dynamic_orders</ref>);</highlight></codeline>
<codeline lineno="97"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>base_order<sp/>=<sp/><ref refid="namespaceserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1adc5eb9de9387b7b6d82b25593e2a12c8" kindref="member">mfem_form_static_order&lt;FormT&gt;</ref><sp/>+<sp/>dynamic_order<sp/>+<sp/>context.<ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context_1a160afd5c7bf3ce7bd6164f8528265652" kindref="member">geometry_weight_order</ref>;</highlight></codeline>
<codeline lineno="98"><highlight class="normal"></highlight></codeline>
<codeline lineno="99"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1quadrature_1_1_query" kindref="compound">Query</ref><sp/>query<sp/>{</highlight></codeline>
<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.form<sp/>=<sp/><ref refid="namespaceserif_1_1discretization_1_1forms_1aa9c9e5345d458df1a069b05fccf45394" kindref="member">forms::form_descriptor&lt;FormT&gt;</ref>,</highlight></codeline>
<codeline lineno="101"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.role<sp/>=<sp/>context.<ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context_1a205f904c802d7ce54c4b2abbda1bbdbb" kindref="member">role</ref>,</highlight></codeline>
<codeline lineno="102"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.domain<sp/>=<sp/>context.<ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context_1ad1ba1709dc95d8eeb53caaa59fb54fd6" kindref="member">domain</ref>,</highlight></codeline>
<codeline lineno="103"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.mapping<sp/>=<sp/>context.<ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context_1a4d6a4d47aa615301dde6689b1033beb1" kindref="member">mapping</ref>,</highlight></codeline>
<codeline lineno="104"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>.base_order<sp/>=<sp/>base_order</highlight></codeline>
<codeline lineno="105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="106"><highlight class="normal"></highlight></codeline>
<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1quadrature_1_1_resolution" kindref="compound">Resolution</ref><sp/>resolution<sp/>=<sp/><ref refid="classserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_resolver_1a5f8027680d79ee8f70f76d45dead4112" kindref="member">m_policy</ref>.resolve(query);</highlight></codeline>
<codeline lineno="108"><highlight class="normal"></highlight></codeline>
<codeline lineno="109"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>const<sp/>::mfem::IntegrationRule<sp/>&amp;integration_rule<sp/>=<sp/>::mfem::IntRules.Get(context.<ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context_1a984be460ed72000d4202ae482973307d" kindref="member">geometry</ref>,<sp/>resolution.<ref refid="structserif_1_1discretization_1_1quadrature_1_1_resolution_1a53f770ed512ef913416ca3021522c47e" kindref="member">order</ref>);</highlight></codeline>
<codeline lineno="110"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_rule" kindref="compound">MFEMRule</ref>{.resolution<sp/>=<sp/>resolution,<sp/>.integration_rule<sp/>=<sp/>&amp;integration_rule};</highlight></codeline>
<codeline lineno="111"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="112"><highlight class="normal"></highlight></codeline>
<codeline lineno="124"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;forms::Form<sp/>FormT,<sp/>ConfigurableIntegrator<sp/>IntegratorT&gt;</highlight></codeline>
<codeline lineno="125"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structserif_1_1discretization_1_1quadrature_1_1_resolution" kindref="compound">Resolution</ref><sp/><ref refid="classserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_resolver_1a5ae5ff2c35b830bc5266395eb5f8fa58" kindref="member">configure</ref>(IntegratorT<sp/>&amp;integrator,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_quadrature_context" kindref="compound">MFEMQuadratureContext</ref>&amp;<sp/>context)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="126"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_rule" kindref="compound">MFEMRule</ref><sp/>rule<sp/>=<sp/><ref refid="classserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_resolver_1a9e06d52513ae0905da60fa326d2406ce" kindref="member">resolve&lt;FormT&gt;</ref>(context);</highlight></codeline>
<codeline lineno="127"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1a2fdeaa1e10a96da9dbc6207daa423301" kindref="member">set_integration_rule</ref>(integrator,<sp/>*rule.<ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_rule_1a10d2a0acb63733408b41d9592c0dde02" kindref="member">integration_rule</ref>);</highlight></codeline>
<codeline lineno="128"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>rule.<ref refid="structserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_rule_1a0b26f36ef7a4880e0243405ecc83dfdd" kindref="member">resolution</ref>;</highlight></codeline>
<codeline lineno="129"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="130"><highlight class="normal"></highlight></codeline>
<codeline lineno="131"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="132"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classserif_1_1discretization_1_1quadrature_1_1_policy" kindref="compound">Policy</ref><sp/><ref refid="classserif_1_1discretization_1_1quadrature_1_1backend_1_1mfem_1_1_m_f_e_m_resolver_1a5f8027680d79ee8f70f76d45dead4112" kindref="member">m_policy</ref>;<sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="133"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="134"><highlight class="normal">}</highlight></codeline>
</programlisting>
<location file="src/include/serif/backend/mfem/discretization/quadrature/mfem_resolver.hpp"/>
</compounddef>
</doxygen>