Files
MeanField_SERiF/docs/xml/utils_2serialize_2solver_8hpp.xml

1945 lines
132 KiB
XML
Raw Normal View History

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.13.2" xml:lang="en-US">
<compounddef id="utils_2serialize_2solver_8hpp" kind="file" language="C++">
<compoundname>solver.hpp</compoundname>
<includes refid="utils_2serialize_2model_8hpp" local="yes">serif/utils/serialize/model.hpp</includes>
<includes refid="numerics_8hpp" local="yes">serif/utils/serialize/numerics.hpp</includes>
<includes refid="solver_2nonlinear_2result_8hpp" local="yes">serif/solver/nonlinear/result.hpp</includes>
<includedby refid="serialize_8hpp" local="yes">src/include/serif/utils/serialize/serialize.hpp</includedby>
<incdepgraph>
<node id="27">
<label>serif/dimensions/dimensions.hpp</label>
<link refid="dimensions_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
</node>
<node id="40">
<label>serif/dimensions/partial.hpp</label>
<link refid="partial_8hpp"/>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
</node>
<node id="28">
<label>serif/dimensions/quantities.hpp</label>
<link refid="quantities_8hpp"/>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
</node>
<node id="39">
<label>serif/dimensions/type_alias.hpp</label>
<link refid="type__alias_8hpp"/>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
</node>
<node id="76">
<label>serif/discretization/blocks/base.hpp</label>
<link refid="base_8hpp"/>
</node>
<node id="74">
<label>serif/discretization/blocks/concepts.hpp</label>
<link refid="discretization_2blocks_2concepts_8hpp"/>
<childnode refid="75" relation="include">
</childnode>
</node>
<node id="75">
<label>serif/discretization/blocks/fields.hpp</label>
<link refid="fields_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="76" relation="include">
</childnode>
<childnode refid="77" relation="include">
</childnode>
<childnode refid="78" relation="include">
</childnode>
<childnode refid="81" relation="include">
</childnode>
<childnode refid="46" relation="include">
</childnode>
<childnode refid="82" relation="include">
</childnode>
</node>
<node id="145">
<label>serif/discretization/blocks/runtime.hpp</label>
<link refid="discretization_2blocks_2runtime_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
</node>
<node id="105">
<label>serif/discretization/blocks/system_layout.hpp</label>
<link refid="system__layout_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="76" relation="include">
</childnode>
<childnode refid="106" relation="include">
</childnode>
</node>
<node id="73">
<label>serif/discretization/blocks/traits.hpp</label>
<link refid="discretization_2blocks_2traits_8hpp"/>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
</node>
<node id="103">
<label>serif/discretization/blocks/vector_view.hpp</label>
<link refid="vector__view_8hpp"/>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="104" relation="include">
</childnode>
<childnode refid="55" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="105" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
</node>
<node id="78">
<label>serif/discretization/domain/concepts.hpp</label>
<link refid="discretization_2domain_2concepts_8hpp"/>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="57" relation="include">
</childnode>
<childnode refid="79" relation="include">
</childnode>
<childnode refid="80" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
</node>
<node id="81">
<label>serif/discretization/domain/physical_domains.hpp</label>
<link refid="physical__domains_8hpp"/>
<childnode refid="80" relation="include">
</childnode>
<childnode refid="78" relation="include">
</childnode>
</node>
<node id="80">
<label>serif/discretization/domain/types.hpp</label>
<link refid="discretization_2domain_2types_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
</node>
<node id="146">
<label>serif/discretization/forms/concept.hpp</label>
<link refid="concept_8hpp"/>
<childnode refid="147" relation="include">
</childnode>
</node>
<node id="148">
<label>serif/discretization/forms/form_traits.hpp</label>
<link refid="form__traits_8hpp"/>
<childnode refid="146" relation="include">
</childnode>
<childnode refid="147" relation="include">
</childnode>
</node>
<node id="147">
<label>serif/discretization/forms/forms.hpp</label>
<link refid="forms_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="84" relation="include">
</childnode>
<childnode refid="46" relation="include">
</childnode>
<childnode refid="82" relation="include">
</childnode>
</node>
<node id="84">
<label>serif/discretization/forms/operands.hpp</label>
<link refid="operands_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
</node>
<node id="144">
<label>serif/discretization/forms/runtime.hpp</label>
<link refid="discretization_2forms_2runtime_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="57" relation="include">
</childnode>
<childnode refid="145" relation="include">
</childnode>
<childnode refid="146" relation="include">
</childnode>
</node>
<node id="86">
<label>serif/discretization/forms/value.hpp</label>
<link refid="value_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="84" relation="include">
</childnode>
</node>
<node id="77">
<label>serif/discretization/functional_space/space.hpp</label>
<link refid="space_8hpp"/>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="57" relation="include">
</childnode>
<childnode refid="65" relation="include">
</childnode>
</node>
<node id="141">
<label>serif/discretization/quadrature/policy.hpp</label>
<link refid="policy_8hpp"/>
<childnode refid="142" relation="include">
</childnode>
<childnode refid="143" relation="include">
</childnode>
</node>
<node id="142">
<label>serif/discretization/quadrature/query.hpp</label>
<link refid="query_8hpp"/>
<childnode refid="57" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="143" relation="include">
</childnode>
<childnode refid="81" relation="include">
</childnode>
<childnode refid="148" relation="include">
</childnode>
<childnode refid="144" relation="include">
</childnode>
</node>
<node id="143">
<label>serif/discretization/quadrature/rules.hpp</label>
<link refid="rules_8hpp"/>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="57" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="144" relation="include">
</childnode>
</node>
<node id="89">
<label>serif/eos/evaluation.hpp</label>
<link refid="eos_2evaluation_8hpp"/>
<childnode refid="90" relation="include">
</childnode>
</node>
<node id="94">
<label>serif/eos/exceptions.hpp</label>
<link refid="eos_2exceptions_8hpp"/>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="55" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
</node>
<node id="90">
<label>serif/eos/models/concepts.hpp</label>
<link refid="eos_2models_2concepts_8hpp"/>
<childnode refid="91" relation="include">
</childnode>
<childnode refid="33" relation="include">
</childnode>
</node>
<node id="32">
<label>serif/eos/models/polytropic.hpp</label>
<link refid="eos_2models_2polytropic_8hpp"/>
<childnode refid="33" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="40" relation="include">
</childnode>
</node>
<node id="91">
<label>serif/eos/models/traits.hpp</label>
<link refid="eos_2models_2traits_8hpp"/>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="40" relation="include">
</childnode>
<childnode refid="92" relation="include">
</childnode>
</node>
<node id="34">
<label>serif/eos/relations/catalog.hpp</label>
<link refid="catalog_8hpp"/>
<childnode refid="35" relation="include">
</childnode>
<childnode refid="37" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
</node>
<node id="92">
<label>serif/eos/relations/concepts.hpp</label>
<link refid="eos_2relations_2concepts_8hpp"/>
<childnode refid="93" relation="include">
</childnode>
</node>
<node id="33">
<label>serif/eos/relations/relations.hpp</label>
<link refid="eos_2relations_2relations_8hpp"/>
<childnode refid="34" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
</node>
<node id="93">
<label>serif/eos/relations/traits.hpp</label>
<link refid="eos_2relations_2traits_8hpp"/>
<childnode refid="34" relation="include">
</childnode>
</node>
<node id="71">
<label>serif/equations/angular_momentum.hpp</label>
<link refid="angular__momentum_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
<childnode refid="85" relation="include">
</childnode>
<childnode refid="87" relation="include">
</childnode>
</node>
<node id="88">
<label>serif/equations/barotropic_density.hpp</label>
<link refid="barotropic__density_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="75" relation="include">
</childnode>
<childnode refid="89" relation="include">
</childnode>
<childnode refid="94" relation="include">
</childnode>
<childnode refid="33" relation="include">
</childnode>
<childnode refid="95" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
<childnode refid="85" relation="include">
</childnode>
<childnode refid="87" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
</node>
<node id="101">
<label>serif/equations/barycenter.hpp</label>
<link refid="barycenter_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="75" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
<childnode refid="85" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
</node>
<node id="95">
<label>serif/equations/companion.hpp</label>
<link refid="companion_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="87" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
</node>
<node id="96">
<label>serif/equations/concepts.hpp</label>
<link refid="equations_2concepts_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
<childnode refid="85" relation="include">
</childnode>
</node>
<node id="72">
<label>serif/equations/contributions.hpp</label>
<link refid="equations_2contributions_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="84" relation="include">
</childnode>
</node>
<node id="70">
<label>serif/equations/equations.hpp</label>
<link refid="equations_2equations_8hpp"/>
<childnode refid="71" relation="include">
</childnode>
<childnode refid="88" relation="include">
</childnode>
<childnode refid="96" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
<childnode refid="97" relation="include">
</childnode>
<childnode refid="85" relation="include">
</childnode>
<childnode refid="98" relation="include">
</childnode>
<childnode refid="87" relation="include">
</childnode>
<childnode refid="99" relation="include">
</childnode>
<childnode refid="100" relation="include">
</childnode>
<childnode refid="101" relation="include">
</childnode>
<childnode refid="95" relation="include">
</childnode>
</node>
<node id="97">
<label>serif/equations/mass_normalization.hpp</label>
<link refid="mass__normalization_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
<childnode refid="85" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
</node>
<node id="85">
<label>serif/equations/point.hpp</label>
<link refid="point_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="86" relation="include">
</childnode>
<childnode refid="46" relation="include">
</childnode>
</node>
<node id="99">
<label>serif/equations/primal_gravity.hpp</label>
<link refid="primal__gravity_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="55" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="75" relation="include">
</childnode>
<childnode refid="72" relation="include">
</childnode>
<childnode refid="85" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
</node>
<node id="98">
<label>serif/equations/registry.hpp</label>
<link refid="registry_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="96" relation="include">
</childnode>
</node>
<node id="87">
<label>serif/equations/rigid_rotation.hpp</label>
<link refid="rigid__rotation_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="55" relation="include">
</childnode>
<childnode refid="86" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
</node>
<node id="100">
<label>serif/equations/surface_potential.hpp</label>
<link refid="equations_2surface__potential_8hpp"/>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="75" relation="include">
</childnode>
<childnode refid="95" relation="include">
</childnode>
<childnode refid="85" relation="include">
</childnode>
<childnode refid="87" relation="include">
</childnode>
</node>
<node id="162">
<label>serif/geometry/deformation/actions.hpp</label>
<link refid="geometry_2deformation_2actions_8hpp"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="163" relation="include">
</childnode>
<childnode refid="164" relation="include">
</childnode>
<childnode refid="166" relation="include">
</childnode>
<childnode refid="167" relation="include">
</childnode>
</node>
<node id="161">
<label>serif/geometry/deformation/composition.hpp</label>
<link refid="composition_8hpp"/>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="162" relation="include">
</childnode>
</node>
<node id="160">
<label>serif/geometry/deformation/computations.hpp</label>
<link refid="geometry_2deformation_2computations_8hpp"/>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="161" relation="include">
</childnode>
<childnode refid="168" relation="include">
</childnode>
<childnode refid="169" relation="include">
</childnode>
</node>
<node id="164">
<label>serif/geometry/deformation/detail/action_storage.hpp</label>
<link refid="action__storage_8hpp"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="165" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="163" relation="include">
</childnode>
</node>
<node id="163">
<label>serif/geometry/deformation/failure.hpp</label>
<link refid="geometry_2deformation_2failure_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
</node>
<node id="173">
<label>serif/geometry/deformation/geometry_step.hpp</label>
<link refid="geometry_2deformation_2geometry__step_8hpp"/>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
</node>
<node id="168">
<label>serif/geometry/deformation/linearization.hpp</label>
<link refid="deformation_2linearization_8hpp"/>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="162" relation="include">
</childnode>
</node>
<node id="69">
<label>serif/geometry/deformation/models.hpp</label>
<link refid="models_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
</node>
<node id="166">
<label>serif/geometry/deformation/spaces.hpp</label>
<link refid="spaces_8hpp"/>
</node>
<node id="167">
<label>serif/geometry/deformation/workspace.hpp</label>
<link refid="geometry_2deformation_2workspace_8hpp"/>
</node>
<node id="155">
<label>serif/geometry/surface/automatic.hpp</label>
<link refid="automatic_8hpp"/>
<childnode refid="156" relation="include">
</childnode>
</node>
<node id="157">
<label>serif/geometry/surface/compilation.hpp</label>
<link refid="compilation_8hpp"/>
<childnode refid="158" relation="include">
</childnode>
<childnode refid="68" relation="include">
</childnode>
</node>
<node id="156">
<label>serif/geometry/surface/detail/automatic_relations.hpp</label>
<link refid="automatic__relations_8hpp"/>
<childnode refid="157" relation="include">
</childnode>
<childnode refid="73" relation="include">
</childnode>
</node>
<node id="158">
<label>serif/geometry/surface/detail/relations.hpp</label>
<link refid="geometry_2surface_2detail_2relations_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="86" relation="include">
</childnode>
<childnode refid="90" relation="include">
</childnode>
<childnode refid="106" relation="include">
</childnode>
</node>
<node id="68">
<label>serif/geometry/surface/isobaric.hpp</label>
<link refid="isobaric_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
</node>
<node id="65">
<label>serif/meta/enums.hpp</label>
<link refid="enums_8hpp"/>
<childnode refid="66" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="67" relation="include">
</childnode>
</node>
<node id="82">
<label>serif/meta/names.hpp</label>
<link refid="names_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="83" relation="include">
</childnode>
</node>
<node id="115">
<label>serif/model/configured_discretization.hpp</label>
<link refid="configured__discretization_8hpp"/>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="116" relation="include">
</childnode>
</node>
<node id="41">
<label>serif/model/description.hpp</label>
<link refid="description_8hpp"/>
<childnode refid="42" relation="include">
</childnode>
<childnode refid="43" relation="include">
</childnode>
<childnode refid="47" relation="include">
</childnode>
<childnode refid="49" relation="include">
</childnode>
<childnode refid="50" relation="include">
</childnode>
</node>
<node id="52">
<label>serif/model/detail/specification_list.hpp</label>
<link refid="specification__list_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="43" relation="include">
</childnode>
<childnode refid="53" relation="include">
</childnode>
</node>
<node id="154">
<label>serif/model/detail/surface_plan.hpp</label>
<link refid="surface__plan_8hpp"/>
<childnode refid="155" relation="include">
</childnode>
<childnode refid="42" relation="include">
</childnode>
</node>
<node id="54">
<label>serif/model/eos_reference.hpp</label>
<link refid="eos__reference_8hpp"/>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="55" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
</node>
<node id="42">
<label>serif/model/equilibrium_equations.hpp</label>
<link refid="equilibrium__equations_8hpp"/>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
</node>
<node id="150">
<label>serif/model/equilibrium_plan.hpp</label>
<link refid="equilibrium__plan_8hpp"/>
<childnode refid="42" relation="include">
</childnode>
<childnode refid="151" relation="include">
</childnode>
<childnode refid="154" relation="include">
</childnode>
<childnode refid="153" relation="include">
</childnode>
<childnode refid="100" relation="include">
</childnode>
<childnode refid="99" relation="include">
</childnode>
</node>
<node id="149">
<label>serif/model/normalization/plan.hpp</label>
<link refid="model_2normalization_2plan_8hpp"/>
<childnode refid="150" relation="include">
</childnode>
<childnode refid="117" relation="include">
</childnode>
<childnode refid="159" relation="include">
</childnode>
</node>
<node id="116">
<label>serif/model/normalization/reference.hpp</label>
<link refid="reference_8hpp"/>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="117" relation="include">
</childnode>
</node>
<node id="151">
<label>serif/model/plan.hpp</label>
<link refid="model_2plan_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="105" relation="include">
</childnode>
<childnode refid="98" relation="include">
</childnode>
<childnode refid="152" relation="include">
</childnode>
</node>
<node id="43">
<label>serif/model/specification.hpp</label>
<link refid="specification_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="44" relation="include">
</childnode>
<childnode refid="46" relation="include">
</childnode>
</node>
<node id="47">
<label>serif/model/specifications/fixed_angular_momentum.hpp</label>
<link refid="fixed__angular__momentum_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="43" relation="include">
</childnode>
<childnode refid="48" relation="include">
</childnode>
</node>
<node id="49">
<label>serif/model/specifications/fixed_total_mass.hpp</label>
<link refid="fixed__total__mass_8hpp"/>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="43" relation="include">
</childnode>
<childnode refid="48" relation="include">
</childnode>
</node>
<node id="48">
<label>serif/model/specifications/physical_names.hpp</label>
<link refid="physical__names_8hpp"/>
</node>
<node id="102">
<label>serif/model/state.hpp</label>
<link refid="model_2state_8hpp"/>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="103" relation="include">
</childnode>
</node>
<node id="50">
<label>serif/model/stellar_model.hpp</label>
<link refid="stellar__model_8hpp"/>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="52" relation="include">
</childnode>
<childnode refid="42" relation="include">
</childnode>
</node>
<node id="153">
<label>serif/operators/concepts.hpp</label>
<link refid="operators_2concepts_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="73" relation="include">
</childnode>
<childnode refid="77" relation="include">
</childnode>
<childnode refid="96" relation="include">
</childnode>
</node>
<node id="130">
<label>serif/operators/linearized_system_view.hpp</label>
<link refid="linearized__system__view_8hpp"/>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="105" relation="include">
</childnode>
<childnode refid="110" relation="include">
</childnode>
</node>
<node id="152">
<label>serif/operators/plan.hpp</label>
<link refid="operators_2plan_8hpp"/>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="106" relation="include">
</childnode>
<childnode refid="147" relation="include">
</childnode>
<childnode refid="153" relation="include">
</childnode>
</node>
<node id="140">
<label>serif/solver/linear/linear.hpp</label>
<link refid="linear_8hpp"/>
<childnode refid="16" relation="include">
</childnode>
</node>
<node id="139">
<label>serif/solver/nonlinear/options.hpp</label>
<link refid="solver_2nonlinear_2options_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="140" relation="include">
</childnode>
</node>
<node id="172">
<label>serif/solver/nonlinear/result.hpp</label>
<link refid="solver_2nonlinear_2result_8hpp"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="173" relation="include">
</childnode>
<childnode refid="139" relation="include">
</childnode>
<childnode refid="140" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
</node>
<node id="117">
<label>serif/solver/normalization/configuration.hpp</label>
<link refid="solver_2normalization_2configuration_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="39" relation="include">
</childnode>
<childnode refid="118" relation="include">
</childnode>
<childnode refid="110" relation="include">
</childnode>
<childnode refid="119" relation="include">
</childnode>
</node>
<node id="122">
<label>serif/solver/normalization/diagonal.hpp</label>
<link refid="solver_2normalization_2diagonal_8hpp"/>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="51" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="76" relation="include">
</childnode>
</node>
<node id="125">
<label>serif/solver/normalization/dimensionless.hpp</label>
<link refid="dimensionless_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="124" relation="include">
</childnode>
</node>
<node id="124">
<label>serif/solver/normalization/metrics.hpp</label>
<link refid="metrics_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="106" relation="include">
</childnode>
</node>
<node id="159">
<label>serif/solver/normalization/physical_coordinates.hpp</label>
<link refid="physical__coordinates_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="123" relation="include">
</childnode>
</node>
<node id="123">
<label>serif/solver/normalization/plan.hpp</label>
<link refid="solver_2normalization_2plan_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="76" relation="include">
</childnode>
<childnode refid="124" relation="include">
</childnode>
<childnode refid="125" relation="include">
</childnode>
<childnode refid="109" relation="include">
</childnode>
</node>
<node id="118">
<label>serif/solver/normalization/scales.hpp</label>
<link refid="scales_8hpp"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
</node>
<node id="134">
<label>serif/solver/preconditioner/contract.hpp</label>
<link refid="contract_8hpp"/>
</node>
<node id="126">
<label>serif/solver/preconditioner/default_preconditioners.hpp</label>
<link refid="default__preconditioners_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="74" relation="include">
</childnode>
<childnode refid="75" relation="include">
</childnode>
<childnode refid="105" relation="include">
</childnode>
<childnode refid="127" relation="include">
</childnode>
<childnode refid="135" relation="include">
</childnode>
<childnode refid="136" relation="include">
</childnode>
<childnode refid="137" relation="include">
</childnode>
<childnode refid="138" relation="include">
</childnode>
</node>
<node id="129">
<label>serif/solver/preconditioner/keys.hpp</label>
<link refid="solver_2preconditioner_2keys_8hpp"/>
<childnode refid="130" relation="include">
</childnode>
</node>
<node id="135">
<label>serif/solver/preconditioner/recipes/block.hpp</label>
<link refid="block_8hpp"/>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="129" relation="include">
</childnode>
</node>
<node id="127">
<label>serif/solver/preconditioner/recipes/bordered.hpp</label>
<link refid="bordered_8hpp"/>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="128" relation="include">
</childnode>
<childnode refid="133" relation="include">
</childnode>
</node>
<node id="128">
<label>serif/solver/preconditioner/recipes/coupled.hpp</label>
<link refid="coupled_8hpp"/>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="129" relation="include">
</childnode>
<childnode refid="131" relation="include">
</childnode>
</node>
<node id="132">
<label>serif/solver/preconditioner/strategies/coupling/order.hpp</label>
<link refid="solver_2preconditioner_2strategies_2coupling_2order_8hpp"/>
</node>
<node id="131">
<label>serif/solver/preconditioner/strategies/coupling/policies.hpp</label>
<link refid="policies_8hpp"/>
<childnode refid="132" relation="include">
</childnode>
</node>
<node id="133">
<label>serif/solver/preconditioner/strategies/inverse/dense.hpp</label>
<link refid="solver_2preconditioner_2strategies_2inverse_2dense_8hpp"/>
<childnode refid="134" relation="include">
</childnode>
</node>
<node id="136">
<label>serif/solver/preconditioner/strategies/inverse/diagonal.hpp</label>
<link refid="solver_2preconditioner_2strategies_2inverse_2diagonal_8hpp"/>
<childnode refid="134" relation="include">
</childnode>
</node>
<node id="137">
<label>serif/solver/preconditioner/strategies/inverse/fixed_amg.hpp</label>
<link refid="fixed__amg_8hpp"/>
<childnode refid="134" relation="include">
</childnode>
</node>
<node id="138">
<label>serif/solver/preconditioner/strategies/inverse/sparse_direct.hpp</label>
<link refid="solver_2preconditioner_2strategies_2inverse_2sparse__direct_8hpp"/>
<childnode refid="134" relation="include">
</childnode>
</node>
<node id="109">
<label>serif/utils/dependencies/binding.hpp</label>
<link refid="utils_2dependencies_2binding_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
</node>
<node id="170">
<label>serif/utils/dependencies/computation.hpp</label>
<link refid="computation_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="108" relation="include">
</childnode>
</node>
<node id="169">
<label>serif/utils/dependencies/computation_graph.hpp</label>
<link refid="computation__graph_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="170" relation="include">
</childnode>
<childnode refid="106" relation="include">
</childnode>
<childnode refid="171" relation="include">
</childnode>
</node>
<node id="110">
<label>serif/utils/dependencies/dependency_context.hpp</label>
<link refid="dependency__context_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="111" relation="include">
</childnode>
<childnode refid="107" relation="include">
</childnode>
<childnode refid="113" relation="include">
</childnode>
</node>
<node id="171">
<label>serif/utils/dependencies/detail/graph.hpp</label>
<link refid="utils_2dependencies_2detail_2graph_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="107" relation="include">
</childnode>
</node>
<node id="107">
<label>serif/utils/dependencies/detail/type_lists.hpp</label>
<link refid="type__lists_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="108" relation="include">
</childnode>
</node>
<node id="108">
<label>serif/utils/dependencies/key_list.hpp</label>
<link refid="key__list_8hpp"/>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="109" relation="include">
</childnode>
<childnode refid="36" relation="include">
</childnode>
<childnode refid="46" relation="include">
</childnode>
</node>
<node id="106">
<label>serif/utils/dependencies/key_list_operations.hpp</label>
<link refid="key__list__operations_8hpp"/>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="107" relation="include">
</childnode>
</node>
<node id="111">
<label>serif/utils/dependencies/resource.hpp</label>
<link refid="resource_8hpp"/>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="112" relation="include">
</childnode>
</node>
<node id="112">
<label>serif/utils/dependencies/snapshot.hpp</label>
<link refid="snapshot_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
</node>
<node id="64">
<label>serif/utils/error/codes.hpp</label>
<link refid="codes_8hpp"/>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="65" relation="include">
</childnode>
</node>
<node id="56">
<label>serif/utils/error/errors.hpp</label>
<link refid="errors_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="57" relation="include">
</childnode>
<childnode refid="58" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="59" relation="include">
</childnode>
<childnode refid="60" relation="include">
</childnode>
<childnode refid="63" relation="include">
</childnode>
<childnode refid="64" relation="include">
</childnode>
<childnode refid="44" relation="include">
</childnode>
</node>
<node id="119">
<label>serif/utils/laneemden/laneemden.hpp</label>
<link refid="laneemden_8hpp"/>
<childnode refid="120" relation="include">
</childnode>
<childnode refid="121" relation="include">
</childnode>
</node>
<node id="121">
<label>serif/utils/laneemden/scaling.hpp</label>
<link refid="scaling_8hpp"/>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="120" relation="include">
</childnode>
</node>
<node id="120">
<label>serif/utils/laneemden/solution.hpp</label>
<link refid="solution_8hpp"/>
<childnode refid="38" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
<childnode refid="57" relation="include">
</childnode>
<childnode refid="56" relation="include">
</childnode>
</node>
<node id="113">
<label>serif/utils/misc/concepts/concat.hpp</label>
<link refid="concat_8hpp"/>
<childnode refid="46" relation="include">
</childnode>
</node>
<node id="63">
<label>serif/utils/misc/concepts/exceptions.hpp</label>
<link refid="utils_2misc_2concepts_2exceptions_8hpp"/>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="31" relation="include">
</childnode>
</node>
<node id="53">
<label>serif/utils/misc/concepts/filter.hpp</label>
<link refid="filter_8hpp"/>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="46" relation="include">
</childnode>
</node>
<node id="31">
<label>serif/utils/misc/concepts/numeric.hpp</label>
<link refid="numeric_8hpp"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
</node>
<node id="35">
<label>serif/utils/misc/concepts/type_uniqueness.hpp</label>
<link refid="concepts_2type__uniqueness_8hpp"/>
<childnode refid="36" relation="include">
</childnode>
</node>
<node id="30">
<label>serif/utils/misc/std_helper/cleaning.hpp</label>
<link refid="cleaning_8hpp"/>
<childnode refid="24" relation="include">
</childnode>
</node>
<node id="37">
<label>serif/utils/misc/std_helper/variadic_cleaning.hpp</label>
<link refid="variadic__cleaning_8hpp"/>
<childnode refid="38" relation="include">
</childnode>
</node>
<node id="60">
<label>serif/utils/misc/terminal/colors.hpp</label>
<link refid="colors_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="58" relation="include">
</childnode>
<childnode refid="61" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="62" relation="include">
</childnode>
</node>
<node id="36">
<label>serif/utils/misc/traits/type_uniqueness.hpp</label>
<link refid="traits_2type__uniqueness_8hpp"/>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="30" relation="include">
</childnode>
</node>
<node id="8">
<label>serif/utils/serialize/components.hpp</label>
<link refid="components_8hpp"/>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="12" relation="include">
</childnode>
</node>
<node id="3">
<label>serif/utils/serialize/equations.hpp</label>
<link refid="utils_2serialize_2equations_8hpp"/>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="70" relation="include">
</childnode>
<childnode refid="98" relation="include">
</childnode>
</node>
<node id="2">
<label>serif/utils/serialize/model.hpp</label>
<link refid="utils_2serialize_2model_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="102" relation="include">
</childnode>
<childnode refid="50" relation="include">
</childnode>
<childnode refid="75" relation="include">
</childnode>
<childnode refid="110" relation="include">
</childnode>
</node>
<node id="114">
<label>serif/utils/serialize/numerics.hpp</label>
<link refid="numerics_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="115" relation="include">
</childnode>
<childnode refid="117" relation="include">
</childnode>
<childnode refid="122" relation="include">
</childnode>
<childnode refid="123" relation="include">
</childnode>
<childnode refid="126" relation="include">
</childnode>
<childnode refid="139" relation="include">
</childnode>
<childnode refid="141" relation="include">
</childnode>
<childnode refid="149" relation="include">
</childnode>
<childnode refid="160" relation="include">
</childnode>
</node>
<node id="4">
<label>serif/utils/serialize/physics.hpp</label>
<link refid="physics_8hpp"/>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="32" relation="include">
</childnode>
<childnode refid="41" relation="include">
</childnode>
<childnode refid="54" relation="include">
</childnode>
<childnode refid="68" relation="include">
</childnode>
<childnode refid="69" relation="include">
</childnode>
</node>
<node id="12">
<label>serif/utils/serialize/record.hpp</label>
<link refid="record_8hpp"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
<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="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
</node>
<node id="1">
<label>src/include/serif/utils/serialize/solver.hpp</label>
<link refid="utils_2serialize_2solver_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="114" relation="include">
</childnode>
<childnode refid="172" relation="include">
</childnode>
</node>
<node id="44">
<label>serif/utils/types/strings.hpp</label>
<link refid="types_2strings_8hpp"/>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="45" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
</node>
<node id="46">
<label>serif/utils/types/type_list.hpp</label>
<link refid="type__list_8hpp"/>
</node>
<node id="6">
<label>algorithm</label>
</node>
<node id="13">
<label>array</label>
</node>
<node id="14">
<label>bit</label>
</node>
<node id="7">
<label>cmath</label>
</node>
<node id="29">
<label>compare</label>
</node>
<node id="15">
<label>concepts</label>
</node>
<node id="38">
<label>cstddef</label>
</node>
<node id="16">
<label>cstdint</label>
</node>
<node id="58">
<label>cstdio</label>
</node>
<node id="61">
<label>cstdlib</label>
</node>
<node id="17">
<label>exception</label>
</node>
<node id="18">
<label>expected</label>
</node>
<node id="57">
<label>format</label>
</node>
<node id="19">
<label>functional</label>
</node>
<node id="165">
<label>initializer_list</label>
</node>
<node id="45">
<label>iostream</label>
</node>
<node id="20">
<label>limits</label>
</node>
<node id="67">
<label>magic_enum/magic_enum_all.hpp</label>
</node>
<node id="21">
<label>map</label>
</node>
<node id="5">
<label>memory</label>
</node>
<node id="83">
<label>nameof.hpp</label>
</node>
<node id="79">
<label>numeric</label>
</node>
<node id="22">
<label>optional</label>
</node>
<node id="104">
<label>ranges</label>
</node>
<node id="51">
<label>span</label>
</node>
<node id="55">
<label>stdexcept</label>
</node>
<node id="23">
<label>string</label>
</node>
<node id="9">
<label>string_view</label>
</node>
<node id="10">
<label>tuple</label>
</node>
<node id="24">
<label>type_traits</label>
</node>
<node id="62">
<label>unistd.h</label>
</node>
<node id="66">
<label>unordered_map</label>
</node>
<node id="11">
<label>utility</label>
</node>
<node id="25">
<label>variant</label>
</node>
<node id="26">
<label>vector</label>
</node>
<node id="59">
<label>version</label>
</node>
</incdepgraph>
<invincdepgraph>
<node id="3">
<label>src/compile_time_checks/serif/backend_independent.cpp</label>
<link refid="backend__independent_8cpp"/>
</node>
<node id="2">
<label>src/include/serif/utils/serialize/serialize.hpp</label>
<link refid="serialize_8hpp"/>
<childnode refid="3" relation="include">
</childnode>
</node>
<node id="1">
<label>src/include/serif/utils/serialize/solver.hpp</label>
<link refid="utils_2serialize_2solver_8hpp"/>
<childnode refid="2" relation="include">
</childnode>
</node>
</invincdepgraph>
<innerclass refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1linear_1_1_status_01_4" prot="public">serif::utils::serialize::Serializer&lt; solver::linear::Status &gt;</innerclass>
<innerclass refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_solve_status_01_4" prot="public">serif::utils::serialize::Serializer&lt; solver::SolveStatus &gt;</innerclass>
<innerclass refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_metric_evaluation_01_4" prot="public">serif::utils::serialize::Serializer&lt; solver::MetricEvaluation &gt;</innerclass>
<innerclass refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1linear_1_1_report_01_4" prot="public">serif::utils::serialize::Serializer&lt; solver::linear::Report &gt;</innerclass>
<innerclass refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01geometry_1_1deformation_1_1_geometry_step_limit_01_4" prot="public">serif::utils::serialize::Serializer&lt; geometry::deformation::GeometryStepLimit &gt;</innerclass>
<innerclass refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_solve_diagnostics_01_4" prot="public">serif::utils::serialize::Serializer&lt; solver::SolveDiagnostics &gt;</innerclass>
<innerclass refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_newton_progress_01_4" prot="public">serif::utils::serialize::Serializer&lt; solver::NewtonProgress &gt;</innerclass>
<innerclass refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_newton_checkpoint_3_01_state_01_4_01_4" prot="public">serif::utils::serialize::Serializer&lt; solver::NewtonCheckpoint&lt; State &gt; &gt;</innerclass>
<innerclass refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_solve_result_3_01_state_00_01_system_00_01_model_01_4_01_4" prot="public">serif::utils::serialize::Serializer&lt; solver::SolveResult&lt; State, System, Model &gt; &gt;</innerclass>
<innernamespace refid="namespaceserif">serif</innernamespace>
<innernamespace refid="namespaceserif_1_1utils">serif::utils</innernamespace>
<innernamespace refid="namespaceserif_1_1utils_1_1serialize">serif::utils::serialize</innernamespace>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<programlisting>
<codeline lineno="1"><highlight class="preprocessor">#pragma<sp/>once</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight></codeline>
<codeline lineno="3"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="utils_2serialize_2model_8hpp" kindref="compound">serif/utils/serialize/model.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="numerics_8hpp" kindref="compound">serif/utils/serialize/numerics.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="solver_2nonlinear_2result_8hpp" kindref="compound">serif/solver/nonlinear/result.hpp</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6"><highlight class="normal"></highlight></codeline>
<codeline lineno="7"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespaceserif_1_1utils_1_1serialize" kindref="compound">serif::utils::serialize</ref><sp/>{</highlight></codeline>
<codeline lineno="9"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;&gt;</highlight></codeline>
<codeline lineno="10" refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1linear_1_1_status_01_4" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer" kindref="compound">Serializer</ref>&lt;<ref refid="namespaceserif_1_1solver" kindref="compound">solver</ref>::linear::Status&gt;<sp/>:<sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_enum_serializer" kindref="compound">EnumSerializer</ref>&lt;solver::linear::Status&gt;<sp/>{</highlight></codeline>
<codeline lineno="11"><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_1utils_1_1serialize_1_1_serializer_3_01solver_1_1linear_1_1_status_01_4_1a00380fc1099c37d1e8277b1629ea0f94" kindref="member">key</ref><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;linear_status&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="12"><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/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1linear_1_1_status_01_4_1ab972d11bb00ebab362383e481cb1de18" kindref="member">choices</ref><sp/>=<sp/>std::array{</highlight></codeline>
<codeline lineno="13"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::pair{<ref refid="namespaceserif_1_1solver_1_1linear_1aae6664ea4d061abc041271ec48bd569da7de33615d7fbc1cb7bc608d12f1993d2" kindref="member">solver::linear::Status::converged</ref>,<sp/>std::string_view{</highlight><highlight class="stringliteral">&quot;converged&quot;</highlight><highlight class="normal">}},</highlight></codeline>
<codeline lineno="14"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::pair{<ref refid="namespaceserif_1_1solver_1_1linear_1aae6664ea4d061abc041271ec48bd569daf9cc715fb6ecde5fea080ac57ad0dfaf" kindref="member">solver::linear::Status::maximum_iterations</ref>,<sp/>std::string_view{</highlight><highlight class="stringliteral">&quot;maximum_iterations&quot;</highlight><highlight class="normal">}},</highlight></codeline>
<codeline lineno="15"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::pair{<ref refid="namespaceserif_1_1solver_1_1linear_1aae6664ea4d061abc041271ec48bd569da0c465cebd957857d21f91945cc2127ee" kindref="member">solver::linear::Status::breakdown</ref>,<sp/>std::string_view{</highlight><highlight class="stringliteral">&quot;breakdown&quot;</highlight><highlight class="normal">}},</highlight></codeline>
<codeline lineno="16"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::pair{<ref refid="namespaceserif_1_1solver_1_1linear_1aae6664ea4d061abc041271ec48bd569da4013d0a2d04acba5257678a15922a094" kindref="member">solver::linear::Status::non_finite</ref>,<sp/>std::string_view{</highlight><highlight class="stringliteral">&quot;non_finite&quot;</highlight><highlight class="normal">}},</highlight></codeline>
<codeline lineno="17"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::pair{<ref refid="namespaceserif_1_1solver_1_1linear_1aae6664ea4d061abc041271ec48bd569da4012827e4f1918f330f4ffc6d03858ef" kindref="member">solver::linear::Status::backend_failure</ref>,<sp/>std::string_view{</highlight><highlight class="stringliteral">&quot;backend_failure&quot;</highlight><highlight class="normal">}}};</highlight></codeline>
<codeline lineno="18"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight></codeline>
<codeline lineno="21"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;&gt;</highlight></codeline>
<codeline lineno="22" refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_solve_status_01_4" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer" kindref="compound">Serializer</ref>&lt;<ref refid="namespaceserif_1_1solver" kindref="compound">solver</ref>::SolveStatus&gt;<sp/>:<sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_enum_serializer" kindref="compound">EnumSerializer</ref>&lt;solver::SolveStatus&gt;<sp/>{</highlight></codeline>
<codeline lineno="23"><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_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_solve_status_01_4_1a2b9f720f7f21aafe8c0f2dce20ef3167" kindref="member">key</ref><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;solve_status&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="24"><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/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_solve_status_01_4_1a64bbb79fd1be9d3f3f0db36f41990782" kindref="member">choices</ref><sp/>=<sp/>std::array{</highlight></codeline>
<codeline lineno="25"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::pair{<ref refid="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64a7de33615d7fbc1cb7bc608d12f1993d2" kindref="member">solver::SolveStatus::converged</ref>,<sp/>std::string_view{</highlight><highlight class="stringliteral">&quot;converged&quot;</highlight><highlight class="normal">}},</highlight></codeline>
<codeline lineno="26"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::pair{<ref refid="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64a00284e15e20ba8bd246e70c06567efbd" kindref="member">solver::SolveStatus::initial_state_rejected</ref>,<sp/>std::string_view{</highlight><highlight class="stringliteral">&quot;initial_state_rejected&quot;</highlight><highlight class="normal">}},</highlight></codeline>
<codeline lineno="27"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::pair{<ref refid="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64ae5352def1775383427334d4671099caf" kindref="member">solver::SolveStatus::invalid_metric</ref>,<sp/>std::string_view{</highlight><highlight class="stringliteral">&quot;invalid_metric&quot;</highlight><highlight class="normal">}},</highlight></codeline>
<codeline lineno="28"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::pair{<ref refid="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64ae9f49c7af9b0c06e5e2481ec84cdf9aa" kindref="member">solver::SolveStatus::preparation_failure</ref>,<sp/>std::string_view{</highlight><highlight class="stringliteral">&quot;preparation_failure&quot;</highlight><highlight class="normal">}},</highlight></codeline>
<codeline lineno="29"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::pair{<ref refid="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64a4913a35a7eab87ca909c1d360ab82adb" kindref="member">solver::SolveStatus::linear_solve_failure</ref>,<sp/>std::string_view{</highlight><highlight class="stringliteral">&quot;linear_solve_failure&quot;</highlight><highlight class="normal">}},</highlight></codeline>
<codeline lineno="30"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::pair{<ref refid="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64a8286355a7892894a1c3cc40354da9999" kindref="member">solver::SolveStatus::globalization_failure</ref>,<sp/>std::string_view{</highlight><highlight class="stringliteral">&quot;globalization_failure&quot;</highlight><highlight class="normal">}},</highlight></codeline>
<codeline lineno="31"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::pair{<ref refid="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64af9cc715fb6ecde5fea080ac57ad0dfaf" kindref="member">solver::SolveStatus::maximum_iterations</ref>,<sp/>std::string_view{</highlight><highlight class="stringliteral">&quot;maximum_iterations&quot;</highlight><highlight class="normal">}},</highlight></codeline>
<codeline lineno="32"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::pair{<ref refid="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64af0a0bfe6bc7d2c58d2989034f83183e0" kindref="member">solver::SolveStatus::stopped</ref>,<sp/>std::string_view{</highlight><highlight class="stringliteral">&quot;stopped&quot;</highlight><highlight class="normal">}}};</highlight></codeline>
<codeline lineno="33"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="34"><highlight class="normal"></highlight></codeline>
<codeline lineno="36"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;&gt;</highlight></codeline>
<codeline lineno="37" refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_metric_evaluation_01_4" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer" kindref="compound">Serializer</ref>&lt;<ref refid="namespaceserif_1_1solver" kindref="compound">solver</ref>::MetricEvaluation&gt;<sp/>:<sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_struct_serializer" kindref="compound">StructSerializer</ref>&lt;solver::MetricEvaluation&gt;<sp/>{</highlight></codeline>
<codeline lineno="38"><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_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_metric_evaluation_01_4_1ad7bd0f3a7e29d717399582f43b946d20" kindref="member">T</ref><sp/>=<sp/><ref refid="structserif_1_1solver_1_1_metric_evaluation" kindref="compound">solver::MetricEvaluation</ref>;</highlight></codeline>
<codeline lineno="39"><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_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_metric_evaluation_01_4_1a94b3d60db35cd5142b33774cd2a0f54a" kindref="member">key</ref><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;newton_metric&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="40"><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/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_metric_evaluation_01_4_1a395d55b30b20ea229411f8e1fb631498" kindref="member">members</ref><sp/>=<sp/>std::tuple{</highlight></codeline>
<codeline lineno="41"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;residual_norm&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_metric_evaluation_1a9ee79bf7923368d43f98567ba369aa36" kindref="member">T::residual_norm</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;merit&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_metric_evaluation_1a0adc88f53770cc86150c7e741dbdd2b1" kindref="member">T::merit</ref>)};</highlight></codeline>
<codeline lineno="42"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="43"><highlight class="normal"></highlight></codeline>
<codeline lineno="45"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;&gt;</highlight></codeline>
<codeline lineno="46" refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1linear_1_1_report_01_4" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer" kindref="compound">Serializer</ref>&lt;<ref refid="namespaceserif_1_1solver" kindref="compound">solver</ref>::linear::Report&gt;<sp/>:<sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_struct_serializer" kindref="compound">StructSerializer</ref>&lt;solver::linear::Report&gt;<sp/>{</highlight></codeline>
<codeline lineno="47"><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_1utils_1_1serialize_1_1_serializer_3_01solver_1_1linear_1_1_report_01_4_1ae46526a7c7890b37d9739d26fdf5e1aa" kindref="member">T</ref><sp/>=<sp/><ref refid="structserif_1_1solver_1_1linear_1_1_report" kindref="compound">solver::linear::Report</ref>;</highlight></codeline>
<codeline lineno="48"><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_1utils_1_1serialize_1_1_serializer_3_01solver_1_1linear_1_1_report_01_4_1a6354832cc394007ceb384ee05d16bef6" kindref="member">key</ref><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;linear_report&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="49"><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/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1linear_1_1_report_01_4_1a789f97b2a21a5fa43ae013d0d7fc0e3f" kindref="member">members</ref><sp/>=<sp/>std::tuple{</highlight></codeline>
<codeline lineno="50"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;status&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1linear_1_1_report_1a87d0a4ff499085331bf8bf2606b454da" kindref="member">T::status</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;control&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1linear_1_1_report_1af323b2ccf9a950c5204495cdd8ebb881" kindref="member">T::control</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;iterations&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1linear_1_1_report_1a70711580973e5fecfbce735bb985c358" kindref="member">T::iterations</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;restarts&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1linear_1_1_report_1a29677eb3f1d22a39725a1df74a4f65f8" kindref="member">T::restarts</ref>),</highlight></codeline>
<codeline lineno="51"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;right_hand_side_norm&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1linear_1_1_report_1aa7113fc3dc18a04ec3b73332663560d8" kindref="member">T::right_hand_side_norm</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;initial_residual_norm&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1linear_1_1_report_1a43e11e594aa968076664c82ef293aa32" kindref="member">T::initial_residual_norm</ref>),</highlight></codeline>
<codeline lineno="52"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;reported_residual_norm&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1linear_1_1_report_1a58cc0de84540b61431fafd94931cf885" kindref="member">T::reported_residual_norm</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;true_residual_norm&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1linear_1_1_report_1abf0a2e2bf1a30d9b8e67d8ea658a9597" kindref="member">T::true_residual_norm</ref>),</highlight></codeline>
<codeline lineno="53"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;relative_true_residual_norm&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1linear_1_1_report_1abe6c33bd144b775acab13748e9bf040c" kindref="member">T::relative_true_residual_norm</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;operator_applications&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1linear_1_1_report_1a006540b8a83be8769ba450140f3a214f" kindref="member">T::operator_applications</ref>),</highlight></codeline>
<codeline lineno="54"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;preconditioner_applications&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1linear_1_1_report_1aa2d1cd0282df1d44901ae7c828125791" kindref="member">T::preconditioner_applications</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;solve_seconds&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1linear_1_1_report_1a20c530f5fc5cb5b27f1d383054c9beb2" kindref="member">T::solve_seconds</ref>),</highlight></codeline>
<codeline lineno="55"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;operator_seconds&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1linear_1_1_report_1ab9456327a69e3084aeec3c99d96781ab" kindref="member">T::operator_seconds</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;preconditioner_seconds&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1linear_1_1_report_1a115184a5288bd073fcdfa3a2a9f5aaa4" kindref="member">T::preconditioner_seconds</ref>)};</highlight></codeline>
<codeline lineno="56"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="57"><highlight class="normal"></highlight></codeline>
<codeline lineno="59"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;&gt;</highlight></codeline>
<codeline lineno="60" refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01geometry_1_1deformation_1_1_geometry_step_limit_01_4" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer" kindref="compound">Serializer</ref>&lt;<ref refid="namespaceserif_1_1geometry" kindref="compound">geometry</ref>::deformation::GeometryStepLimit&gt;<sp/>:<sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_struct_serializer" kindref="compound">StructSerializer</ref>&lt;geometry::deformation::GeometryStepLimit&gt;<sp/>{</highlight></codeline>
<codeline lineno="61"><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_1utils_1_1serialize_1_1_serializer_3_01geometry_1_1deformation_1_1_geometry_step_limit_01_4_1a04c6aef0ab1778ee9296be91972c224d" kindref="member">T</ref><sp/>=<sp/><ref refid="structserif_1_1geometry_1_1deformation_1_1_geometry_step_limit" kindref="compound">geometry::deformation::GeometryStepLimit</ref>;</highlight></codeline>
<codeline lineno="62"><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_1utils_1_1serialize_1_1_serializer_3_01geometry_1_1deformation_1_1_geometry_step_limit_01_4_1a9c229555aa810aceb638046a087bed87" kindref="member">key</ref><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;geometry_step_limit&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="63"><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/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01geometry_1_1deformation_1_1_geometry_step_limit_01_4_1a0865e5b77643418351d043e072ce4f4a" kindref="member">members</ref><sp/>=<sp/>std::tuple{</highlight></codeline>
<codeline lineno="64"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;step&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1geometry_1_1deformation_1_1_geometry_step_limit_1a26b5daed319b65d9dd90a085b666937a" kindref="member">T::step</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;boundary_step&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1geometry_1_1deformation_1_1_geometry_step_limit_1aae1342e233987df5d9f99b8be092ab2e" kindref="member">T::boundary_step</ref>),</highlight></codeline>
<codeline lineno="65"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;minimum_determinant_at_accepted&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1geometry_1_1deformation_1_1_geometry_step_limit_1a7737acf0a9c6e9ff1d818db456f9aecc" kindref="member">T::minimum_determinant_at_accepted</ref>),</highlight></codeline>
<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;minimum_determinant_at_maximum&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1geometry_1_1deformation_1_1_geometry_step_limit_1a701df11c5382d68835479f50640aff75" kindref="member">T::minimum_determinant_at_maximum</ref>),</highlight></codeline>
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;limiting_point_determinant_at_step&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1geometry_1_1deformation_1_1_geometry_step_limit_1a5477039985fc4b30f4b318018e27cbc8" kindref="member">T::limiting_point_determinant_at_step</ref>),</highlight></codeline>
<codeline lineno="68"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;sampled_point_count&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1geometry_1_1deformation_1_1_geometry_step_limit_1a28e0a03312f56b0c38aa9eb1543111b6" kindref="member">T::sampled_point_count</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;limited_by_geometry&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1geometry_1_1deformation_1_1_geometry_step_limit_1aa6ab08f046c683516ea91baf3ed0bb8c" kindref="member">T::limited_by_geometry</ref>),</highlight></codeline>
<codeline lineno="69"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;limiting_element&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1geometry_1_1deformation_1_1_geometry_step_limit_1a4f50240da844b48e009d1d0a0a4bedf4" kindref="member">T::limiting_element</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;limiting_rule&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1geometry_1_1deformation_1_1_geometry_step_limit_1ae4243166af0e6f2fe3cee51c4a0d14cc" kindref="member">T::limiting_rule</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;limiting_point&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1geometry_1_1deformation_1_1_geometry_step_limit_1ade8155d7e416a50492433146044605b1" kindref="member">T::limiting_point</ref>)};</highlight></codeline>
<codeline lineno="70"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="71"><highlight class="normal"></highlight></codeline>
<codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;&gt;</highlight></codeline>
<codeline lineno="74" refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_solve_diagnostics_01_4" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer" kindref="compound">Serializer</ref>&lt;<ref refid="namespaceserif_1_1solver" kindref="compound">solver</ref>::SolveDiagnostics&gt;<sp/>:<sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_struct_serializer" kindref="compound">StructSerializer</ref>&lt;solver::SolveDiagnostics&gt;<sp/>{</highlight></codeline>
<codeline lineno="75"><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_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_solve_diagnostics_01_4_1a29a3946529f9719cc39a3b612a8a48a0" kindref="member">T</ref><sp/>=<sp/><ref refid="structserif_1_1solver_1_1_solve_diagnostics" kindref="compound">solver::SolveDiagnostics</ref>;</highlight></codeline>
<codeline lineno="76"><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_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_solve_diagnostics_01_4_1a3e8eb7337b199116155f8cfd88ff0fba" kindref="member">key</ref><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;solve_diagnostics&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="77"><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/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_solve_diagnostics_01_4_1a11dc67d00fc2512f1e726f894a9c58b4" kindref="member">members</ref><sp/>=<sp/>std::tuple{</highlight></codeline>
<codeline lineno="78"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;attempted_iterations&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_solve_diagnostics_1a97fea022621b1636c6d98d44e4acf17c" kindref="member">T::attempted_iterations</ref>),</highlight></codeline>
<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;accepted_iterations&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_solve_diagnostics_1a54ba495e8544da884ae1cd183b00b02e" kindref="member">T::accepted_iterations</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;line_search_trials&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_solve_diagnostics_1aa03e8e71623874a7e7dd29b3def718bc" kindref="member">T::line_search_trials</ref>),</highlight></codeline>
<codeline lineno="80"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;rejected_trials&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_solve_diagnostics_1aa9987f7be887e8b8427e42e7eee02f3c" kindref="member">T::rejected_trials</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;geometry_limited_iterations&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_solve_diagnostics_1a60376f39e17f7ac5a59a23e3ae49491a" kindref="member">T::geometry_limited_iterations</ref>),</highlight></codeline>
<codeline lineno="81"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;total_linear_iterations&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_solve_diagnostics_1a8bdb43e05a71be4ceffa01b07ba6196c" kindref="member">T::total_linear_iterations</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;initial_residual_norm&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_solve_diagnostics_1adcc287179655cd76509dff10a46a13c6" kindref="member">T::initial_residual_norm</ref>),</highlight></codeline>
<codeline lineno="82"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;final_residual_norm&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_solve_diagnostics_1abd33d959132ccbd0c0119e0bbfc3c6a2" kindref="member">T::final_residual_norm</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;convergence_threshold&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_solve_diagnostics_1afdc11a73dadf6aed3581326eeca980b6" kindref="member">T::convergence_threshold</ref>),</highlight></codeline>
<codeline lineno="83"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;last_linear_solve&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_solve_diagnostics_1a29a40a19af6373b5dec882a7a39185e4" kindref="member">T::last_linear_solve</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;last_geometry_preflight&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_solve_diagnostics_1af2b81a8376e93e57f2389615531dbad0" kindref="member">T::last_geometry_preflight</ref>),</highlight></codeline>
<codeline lineno="84"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;last_accepted_step&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_solve_diagnostics_1a962bf9dff1931e4adb65a4ed992cd6b7" kindref="member">T::last_accepted_step</ref>)};</highlight></codeline>
<codeline lineno="85"><highlight class="normal"></highlight></codeline>
<codeline lineno="91"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_node" kindref="compound">Node</ref><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_solve_diagnostics_01_4_1a49207bed5452799b124f0721f6703a6b" kindref="member">save</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_solve_diagnostics_01_4_1a29a3946529f9719cc39a3b612a8a48a0" kindref="member">T</ref>&amp;<sp/>diagnostics)<sp/>{</highlight></codeline>
<codeline lineno="92"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_node" kindref="compound">Node</ref><sp/>result<sp/>=<sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_struct_serializer_1a038ff86a82c26afe692b6c3724b0bcff" kindref="member">StructSerializer&lt;T&gt;::save</ref>(diagnostics);</highlight></codeline>
<codeline lineno="93"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>result.<ref refid="structserif_1_1utils_1_1serialize_1_1_node_1ac511083838516727510ce4edc0ab52ca" kindref="member">children</ref>.emplace(</highlight><highlight class="stringliteral">&quot;solve_seconds&quot;</highlight><highlight class="normal">,<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a4ea480fabb9d06528d01b26691fa80ec" kindref="member">encode</ref>(0.0));</highlight></codeline>
<codeline lineno="94"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>result.<ref refid="structserif_1_1utils_1_1serialize_1_1_node_1ac511083838516727510ce4edc0ab52ca" kindref="member">children</ref>.emplace(</highlight><highlight class="stringliteral">&quot;linear_solve_seconds&quot;</highlight><highlight class="normal">,<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a4ea480fabb9d06528d01b26691fa80ec" kindref="member">encode</ref>(0.0));</highlight></codeline>
<codeline lineno="95"><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/>result;</highlight></codeline>
<codeline lineno="96"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="97"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="98"><highlight class="normal"></highlight></codeline>
<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;&gt;</highlight></codeline>
<codeline lineno="101" refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_newton_progress_01_4" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer" kindref="compound">Serializer</ref>&lt;<ref refid="namespaceserif_1_1solver" kindref="compound">solver</ref>::NewtonProgress&gt;<sp/>:<sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_struct_serializer" kindref="compound">StructSerializer</ref>&lt;solver::NewtonProgress&gt;<sp/>{</highlight></codeline>
<codeline lineno="102"><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_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_newton_progress_01_4_1a08653e518c0ca83713ef1e45b1226694" kindref="member">T</ref><sp/>=<sp/><ref refid="structserif_1_1solver_1_1_newton_progress" kindref="compound">solver::NewtonProgress</ref>;</highlight></codeline>
<codeline lineno="103"><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_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_newton_progress_01_4_1a742731233dfc3b6665bb0682b11664a8" kindref="member">key</ref><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;newton_progress&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="104"><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/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_newton_progress_01_4_1a43199fe6f6d72216dccb14b8666cb88e" kindref="member">members</ref><sp/>=<sp/>std::tuple{</highlight></codeline>
<codeline lineno="105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;accepted_metric&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_newton_progress_1abee0674e613b9d45c0be340421c579be" kindref="member">T::accepted_metric</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;correction&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_newton_progress_1a13b4b6ccbac9fcadc09aac0cd9d6d6dd" kindref="member">T::correction</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;next_step&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_newton_progress_1a52906514f084708692eb085d9104400b" kindref="member">T::next_step</ref>),</highlight></codeline>
<codeline lineno="106"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a57bf01379dd9f09662f2eca940c2287a" kindref="member">member_field</ref>(</highlight><highlight class="stringliteral">&quot;diagnostics&quot;</highlight><highlight class="normal">,<sp/>&amp;<ref refid="structserif_1_1solver_1_1_newton_progress_1aeae077ca13c5a147c8a153a664615daf" kindref="member">T::diagnostics</ref>)};</highlight></codeline>
<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="108"><highlight class="normal"></highlight></codeline>
<codeline lineno="110"><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/>State&gt;</highlight></codeline>
<codeline lineno="111" refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_newton_checkpoint_3_01_state_01_4_01_4" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer" kindref="compound">Serializer</ref>&lt;<ref refid="namespaceserif_1_1solver" kindref="compound">solver</ref>::NewtonCheckpoint&lt;State&gt;&gt;<sp/>{</highlight></codeline>
<codeline lineno="112"><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_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_newton_checkpoint_3_01_state_01_4_01_4_1a271106b79a42a1149d2dd7164cb90287" kindref="member">key</ref><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;checkpoint&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="114"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_node" kindref="compound">Node</ref><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_newton_checkpoint_3_01_state_01_4_01_4_1a13912735129c02301607eb2d4d68487f" kindref="member">save</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1solver_1_1_newton_checkpoint" kindref="compound">solver::NewtonCheckpoint&lt;State&gt;</ref>&amp;<sp/>checkpoint)<sp/>{</highlight></codeline>
<codeline lineno="115"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1accd9d8a1543b90311f64896a155c6e1c" kindref="member">object</ref>(</highlight><highlight class="stringliteral">&quot;newton_checkpoint&quot;</highlight><highlight class="normal">,<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a73c789fd95f83d2f547facf07bc3ea79" kindref="member">field</ref>(</highlight><highlight class="stringliteral">&quot;strategy&quot;</highlight><highlight class="normal">,<sp/>std::string_view{</highlight><highlight class="stringliteral">&quot;standard_newton&quot;</highlight><highlight class="normal">}),</highlight></codeline>
<codeline lineno="116"><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_1serialize_1a73c789fd95f83d2f547facf07bc3ea79" kindref="member">field</ref>(</highlight><highlight class="stringliteral">&quot;state&quot;</highlight><highlight class="normal">,<sp/>checkpoint.<ref refid="structserif_1_1solver_1_1_newton_checkpoint_1a5b01b64c7ac8657ad97d29269d08526f" kindref="member">state</ref>),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a73c789fd95f83d2f547facf07bc3ea79" kindref="member">field</ref>(</highlight><highlight class="stringliteral">&quot;progress&quot;</highlight><highlight class="normal">,<sp/>checkpoint.<ref refid="structserif_1_1solver_1_1_newton_checkpoint_1a0abac0ed6bcc6bd5121d7b10a3e49507" kindref="member">progress</ref>));</highlight></codeline>
<codeline lineno="117"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="119"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1ace9e0af29889a767ef1c95a09a4b7265" kindref="member">Result&lt;solver::NewtonCheckpoint&lt;State&gt;</ref>&gt;<sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_newton_checkpoint_3_01_state_01_4_01_4_1a117f1b0510262454aa3709ed590f207c" kindref="member">load</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_node" kindref="compound">Node</ref>&amp;<sp/>node)<sp/>{</highlight></codeline>
<codeline lineno="120"><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="keyword">auto</highlight><highlight class="normal"><sp/>strategy<sp/>=<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a21172de2e2f37c8797a238eb0bdaea30" kindref="member">read_field&lt;std::string&gt;</ref>(node,<sp/></highlight><highlight class="stringliteral">&quot;strategy&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="121"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!strategy)<sp/>{</highlight></codeline>
<codeline lineno="122"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>std::unexpected(strategy.error());</highlight></codeline>
<codeline lineno="123"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="124"><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/>(*strategy<sp/>!=<sp/></highlight><highlight class="stringliteral">&quot;standard_newton&quot;</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="125"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>std::unexpected(<ref refid="structserif_1_1utils_1_1serialize_1_1_error" kindref="compound">Error</ref>{</highlight><highlight class="stringliteral">&quot;strategy&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;This<sp/>checkpoint<sp/>requires<sp/>unsupported<sp/>numerical<sp/>strategy<sp/>history.&quot;</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></codeline>
<codeline lineno="127"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>result<sp/>=<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1adb5114bee6aa1ea6612b96babf0ae8c2" kindref="member">read_object</ref>(node,<sp/></highlight><highlight class="stringliteral">&quot;newton_checkpoint&quot;</highlight><highlight class="normal">,<sp/>[](State<sp/>state,<sp/><ref refid="structserif_1_1solver_1_1_newton_progress" kindref="compound">solver::NewtonProgress</ref><sp/>progress)<sp/>{</highlight></codeline>
<codeline lineno="128"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1solver_1_1_newton_checkpoint" kindref="compound">solver::NewtonCheckpoint&lt;State&gt;</ref>{.state<sp/>=<sp/>std::move(state),<sp/>.progress<sp/>=<sp/>std::move(progress)};</highlight></codeline>
<codeline lineno="129"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>},<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a019c595419bddb41b7a05042e2f6d611" kindref="member">member&lt;State&gt;</ref>(</highlight><highlight class="stringliteral">&quot;state&quot;</highlight><highlight class="normal">),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a019c595419bddb41b7a05042e2f6d611" kindref="member">member&lt;solver::NewtonProgress&gt;</ref>(</highlight><highlight class="stringliteral">&quot;progress&quot;</highlight><highlight class="normal">));</highlight></codeline>
<codeline lineno="130"><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/>(result)<sp/>{</highlight></codeline>
<codeline lineno="131"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">auto</highlight><highlight class="normal"><sp/>error<sp/>=<sp/><ref refid="namespaceserif_1_1solver_1aba8609bba7520feb62263d06def641e5" kindref="member">solver::validate_newton_progress</ref>(result-&gt;progress,<sp/>result-&gt;state.values().size()))<sp/>{</highlight></codeline>
<codeline lineno="132"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>std::unexpected(<ref refid="structserif_1_1utils_1_1serialize_1_1_error" kindref="compound">Error</ref>{</highlight><highlight class="stringliteral">&quot;progress&quot;</highlight><highlight class="normal">,<sp/>*error});</highlight></codeline>
<codeline lineno="133"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="134"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="135"><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/>result;</highlight></codeline>
<codeline lineno="136"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="137"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="138"><highlight class="normal"></highlight></codeline>
<codeline lineno="140"><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/>State,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>System,<sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/>Model&gt;</highlight></codeline>
<codeline lineno="141" refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_solve_result_3_01_state_00_01_system_00_01_model_01_4_01_4" refkind="compound"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer" kindref="compound">Serializer</ref>&lt;<ref refid="namespaceserif_1_1solver" kindref="compound">solver</ref>::SolveResult&lt;State,<sp/>System,<sp/>Model&gt;&gt;<sp/>{</highlight></codeline>
<codeline lineno="142"><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_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_solve_result_3_01_state_00_01_system_00_01_model_01_4_01_4_1a4aaffc33c0925de6fdadb26265164d6c" kindref="member">key</ref><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;solution&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="144"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_node" kindref="compound">Node</ref><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_solve_result_3_01_state_00_01_system_00_01_model_01_4_01_4_1aebb9e685c47403b531bec1b34795b36f" kindref="member">save</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classserif_1_1solver_1_1_solve_result" kindref="compound">solver::SolveResult&lt;State, System, Model&gt;</ref>&amp;<sp/>result)<sp/>{</highlight></codeline>
<codeline lineno="145"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_node" kindref="compound">Node</ref><sp/>node<sp/>=<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1accd9d8a1543b90311f64896a155c6e1c" kindref="member">object</ref>(</highlight><highlight class="stringliteral">&quot;solve_result&quot;</highlight><highlight class="normal">,<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a73c789fd95f83d2f547facf07bc3ea79" kindref="member">field</ref>(</highlight><highlight class="stringliteral">&quot;status&quot;</highlight><highlight class="normal">,<sp/>result.<ref refid="classserif_1_1solver_1_1_solve_result_1af73bea6544604b010c0887e57393bcaf" kindref="member">status</ref>()),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a73c789fd95f83d2f547facf07bc3ea79" kindref="member">field</ref>(</highlight><highlight class="stringliteral">&quot;message&quot;</highlight><highlight class="normal">,<sp/>result.<ref refid="classserif_1_1solver_1_1_solve_result_1a4701ad23a897afcb2a8f2e28ade56a57" kindref="member">message</ref>()),</highlight></codeline>
<codeline lineno="146"><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_1serialize_1a73c789fd95f83d2f547facf07bc3ea79" kindref="member">field</ref>(</highlight><highlight class="stringliteral">&quot;diagnostics&quot;</highlight><highlight class="normal">,<sp/>result.<ref refid="classserif_1_1solver_1_1_solve_result_1a1e49da26f2a4783af2007811c0293aa0" kindref="member">diagnostics</ref>()),<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a73c789fd95f83d2f547facf07bc3ea79" kindref="member">field</ref>(</highlight><highlight class="stringliteral">&quot;has_state&quot;</highlight><highlight class="normal">,<sp/>result.<ref refid="classserif_1_1solver_1_1_solve_result_1afad01e45c78da89088a3bc31b9e1f8b3" kindref="member">has_state</ref>()));</highlight></codeline>
<codeline lineno="147"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>(!std::same_as&lt;Model,<sp/>solver::NoModel&gt;)<sp/>{</highlight></codeline>
<codeline lineno="148"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>node.<ref refid="structserif_1_1utils_1_1serialize_1_1_node_1ac511083838516727510ce4edc0ab52ca" kindref="member">children</ref>.emplace(</highlight><highlight class="stringliteral">&quot;model&quot;</highlight><highlight class="normal">,<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a4ea480fabb9d06528d01b26691fa80ec" kindref="member">encode</ref>(result.<ref refid="classserif_1_1solver_1_1_solve_result_1a257baac3cc44e9c8baaee2f3198379c7" kindref="member">model</ref>()));</highlight></codeline>
<codeline lineno="149"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="150"><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/>(result.<ref refid="classserif_1_1solver_1_1_solve_result_1afad01e45c78da89088a3bc31b9e1f8b3" kindref="member">has_state</ref>())<sp/>{</highlight></codeline>
<codeline lineno="151"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>node.<ref refid="structserif_1_1utils_1_1serialize_1_1_node_1ac511083838516727510ce4edc0ab52ca" kindref="member">children</ref>.emplace(</highlight><highlight class="stringliteral">&quot;state&quot;</highlight><highlight class="normal">,<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a4ea480fabb9d06528d01b26691fa80ec" kindref="member">encode</ref>(result.<ref refid="classserif_1_1solver_1_1_solve_result_1ac81485d04d69072defdfcca1db9d0bd4" kindref="member">state</ref>()));</highlight></codeline>
<codeline lineno="152"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="153"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(result.<ref refid="classserif_1_1solver_1_1_solve_result_1a91ef8dde02af95afe60ca8426e7abc45" kindref="member">has_checkpoint</ref>())<sp/>{</highlight></codeline>
<codeline lineno="154"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>node.<ref refid="structserif_1_1utils_1_1serialize_1_1_node_1ac511083838516727510ce4edc0ab52ca" kindref="member">children</ref>.emplace(</highlight><highlight class="stringliteral">&quot;checkpoint&quot;</highlight><highlight class="normal">,<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a4ea480fabb9d06528d01b26691fa80ec" kindref="member">encode</ref>(result.<ref refid="classserif_1_1solver_1_1_solve_result_1a4f96d193867f69959b087edc438a1f9e" kindref="member">checkpoint</ref>()));</highlight></codeline>
<codeline lineno="155"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="156"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">constexpr</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keyword">requires</highlight><highlight class="normal"><sp/>{<sp/>result.<ref refid="classserif_1_1solver_1_1_solve_result_1a8c8185166efe56073e69a65e21820086" kindref="member">system</ref>()-&gt;reference_scales();<sp/>result.<ref refid="classserif_1_1solver_1_1_solve_result_1a8c8185166efe56073e69a65e21820086" kindref="member">system</ref>()-&gt;coordinates();<sp/>})<sp/>{</highlight></codeline>
<codeline lineno="157"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(result.<ref refid="classserif_1_1solver_1_1_solve_result_1a8c8185166efe56073e69a65e21820086" kindref="member">system</ref>())<sp/>{</highlight></codeline>
<codeline lineno="158"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>node.<ref refid="structserif_1_1utils_1_1serialize_1_1_node_1ac511083838516727510ce4edc0ab52ca" kindref="member">children</ref>.emplace(</highlight><highlight class="stringliteral">&quot;reference_scales&quot;</highlight><highlight class="normal">,<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a4ea480fabb9d06528d01b26691fa80ec" kindref="member">encode</ref>(result.<ref refid="classserif_1_1solver_1_1_solve_result_1a8c8185166efe56073e69a65e21820086" kindref="member">system</ref>()-&gt;reference_scales()));</highlight></codeline>
<codeline lineno="159"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>node.<ref refid="structserif_1_1utils_1_1serialize_1_1_node_1ac511083838516727510ce4edc0ab52ca" kindref="member">children</ref>.emplace(</highlight><highlight class="stringliteral">&quot;coordinates&quot;</highlight><highlight class="normal">,<sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1a4ea480fabb9d06528d01b26691fa80ec" kindref="member">encode</ref>(result.<ref refid="classserif_1_1solver_1_1_solve_result_1a8c8185166efe56073e69a65e21820086" kindref="member">system</ref>()-&gt;coordinates()));</highlight></codeline>
<codeline lineno="160"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="161"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="162"><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/>node;</highlight></codeline>
<codeline lineno="163"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="165"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/><ref refid="namespaceserif_1_1utils_1_1serialize_1ace9e0af29889a767ef1c95a09a4b7265" kindref="member">Result&lt;solver::SolveResult&lt;State, System, Model&gt;</ref>&gt;<sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_serializer_3_01solver_1_1_solve_result_3_01_state_00_01_system_00_01_model_01_4_01_4_1a75dbc5fd226fbcf571bd9662975e7d07" kindref="member">load</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structserif_1_1utils_1_1serialize_1_1_node" kindref="compound">Node</ref>&amp;)<sp/>{</highlight></codeline>
<codeline lineno="166"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>std::unexpected(<ref refid="structserif_1_1utils_1_1serialize_1_1_error" kindref="compound">Error</ref>{</highlight><highlight class="stringliteral">&quot;&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;A<sp/>saved<sp/>solution<sp/>contains<sp/>scientific<sp/>data,<sp/>not<sp/>executable<sp/>operators.<sp/>Read<sp/>its<sp/>model/state<sp/>or<sp/>checkpoint<sp/>components<sp/>and<sp/>rebuild<sp/>the<sp/>runtime<sp/>system<sp/>with<sp/>resume_equilibrium.&quot;</highlight><highlight class="normal">});</highlight></codeline>
<codeline lineno="167"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="168"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="169"><highlight class="normal">}</highlight></codeline>
</programlisting>
<location file="src/include/serif/utils/serialize/solver.hpp"/>
</compounddef>
</doxygen>