Files
MeanField_SERiF/docs/xml/namespaceserif_1_1solver.xml

896 lines
43 KiB
XML
Raw Permalink 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="namespaceserif_1_1solver" kind="namespace" language="C++">
<compoundname>serif::solver</compoundname>
<innerclass refid="structserif_1_1solver_1_1_backtracking" prot="public">serif::solver::Backtracking</innerclass>
<innerclass refid="structserif_1_1solver_1_1_direction_assessment" prot="public">serif::solver::DirectionAssessment</innerclass>
<innerclass refid="structserif_1_1solver_1_1_metric_evaluation" prot="public">serif::solver::MetricEvaluation</innerclass>
<innerclass refid="structserif_1_1solver_1_1_newton" prot="public">serif::solver::Newton</innerclass>
<innerclass refid="structserif_1_1solver_1_1_newton_checkpoint" prot="public">serif::solver::NewtonCheckpoint</innerclass>
<innerclass refid="structserif_1_1solver_1_1_newton_progress" prot="public">serif::solver::NewtonProgress</innerclass>
<innerclass refid="structserif_1_1solver_1_1_no_model" prot="public">serif::solver::NoModel</innerclass>
<innerclass refid="structserif_1_1solver_1_1_no_observer" prot="public">serif::solver::NoObserver</innerclass>
<innerclass refid="structserif_1_1solver_1_1_normalized_residual_metric" prot="public">serif::solver::NormalizedResidualMetric</innerclass>
<innerclass refid="structserif_1_1solver_1_1_solve_diagnostics" prot="public">serif::solver::SolveDiagnostics</innerclass>
<innerclass refid="structserif_1_1solver_1_1_solve_event" prot="public">serif::solver::SolveEvent</innerclass>
<innerclass refid="classserif_1_1solver_1_1_solve_result" prot="public">serif::solver::SolveResult</innerclass>
<innerclass refid="structserif_1_1solver_1_1_solver_options" prot="public">serif::solver::SolverOptions</innerclass>
<innerclass refid="structserif_1_1solver_1_1_solve_timing" prot="public">serif::solver::SolveTiming</innerclass>
<innerclass refid="structserif_1_1solver_1_1_standard_newton" prot="public">serif::solver::StandardNewton</innerclass>
<innerclass refid="classserif_1_1solver_1_1_timed_observer" prot="public">serif::solver::TimedObserver</innerclass>
<innerclass refid="structserif_1_1solver_1_1_trial_assessment" prot="public">serif::solver::TrialAssessment</innerclass>
<innernamespace refid="namespaceserif_1_1solver_1_1admissibility">serif::solver::admissibility</innernamespace>
<innernamespace refid="namespaceserif_1_1solver_1_1backend">serif::solver::backend</innernamespace>
<innernamespace refid="namespaceserif_1_1solver_1_1continuation">serif::solver::continuation</innernamespace>
<innernamespace refid="namespaceserif_1_1solver_1_1detail">serif::solver::detail</innernamespace>
<innernamespace refid="namespaceserif_1_1solver_1_1linear">serif::solver::linear</innernamespace>
<innernamespace refid="namespaceserif_1_1solver_1_1normalization">serif::solver::normalization</innernamespace>
<innernamespace refid="namespaceserif_1_1solver_1_1preconditioner">serif::solver::preconditioner</innernamespace>
<innernamespace refid="namespaceserif_1_1solver_1_1seed">serif::solver::seed</innernamespace>
<sectiondef kind="enum">
<memberdef kind="enum" id="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64" prot="public" static="no" strong="yes">
<type></type>
<name>SolveStatus</name>
<qualifiedname>serif::solver::SolveStatus</qualifiedname>
<enumvalue id="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64a7de33615d7fbc1cb7bc608d12f1993d2" prot="public">
<name>converged</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64a00284e15e20ba8bd246e70c06567efbd" prot="public">
<name>initial_state_rejected</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64ae5352def1775383427334d4671099caf" prot="public">
<name>invalid_metric</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64ae9f49c7af9b0c06e5e2481ec84cdf9aa" prot="public">
<name>preparation_failure</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64a4913a35a7eab87ca909c1d360ab82adb" prot="public">
<name>linear_solve_failure</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64a8286355a7892894a1c3cc40354da9999" prot="public">
<name>globalization_failure</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64af9cc715fb6ecde5fea080ac57ad0dfaf" prot="public">
<name>maximum_iterations</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1solver_1a0c5b4c0a272429c1c5807ebb757aad64af0a0bfe6bc7d2c58d2989034f83183e0" prot="public">
<name>stopped</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<briefdescription>
<para>Numerical termination; invalid configuration and user callback errors remain exceptions. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/nonlinear/result.hpp" line="18" column="5" bodyfile="src/include/serif/solver/nonlinear/result.hpp" bodystart="18" bodyend="19"/>
</memberdef>
<memberdef kind="enum" id="namespaceserif_1_1solver_1a6fa8bbc306fbf990b16ade9fb7771464" prot="public" static="no" strong="yes">
<type></type>
<name>EventKind</name>
<qualifiedname>serif::solver::EventKind</qualifiedname>
<enumvalue id="namespaceserif_1_1solver_1a6fa8bbc306fbf990b16ade9fb7771464acc51b81974287ab79cef9e94fe778cc9" prot="public">
<name>initial</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1solver_1a6fa8bbc306fbf990b16ade9fb7771464a57054ff3283d5f50b905c8d1a492c8a3" prot="public">
<name>before_iteration</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1solver_1a6fa8bbc306fbf990b16ade9fb7771464a8746f4ec6db7fdda6018d314e8c3ae02" prot="public">
<name>trial_rejected</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1solver_1a6fa8bbc306fbf990b16ade9fb7771464a6e563563af598fa7575b0944e785a7d5" prot="public">
<name>before_accept</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1solver_1a6fa8bbc306fbf990b16ade9fb7771464a3e4d891a5df3d6d0d7dd9432a1bc6470" prot="public">
<name>accepted</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1solver_1a6fa8bbc306fbf990b16ade9fb7771464aa5d7ceb2c59b8cee46c2953fec9abc19" prot="public">
<name>finished</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1solver_1a6fa8bbc306fbf990b16ade9fb7771464a121ad2eb76415d284215a4c9deddf79c" prot="public">
<name>resumed</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<briefdescription>
<para>Events expose immutable accepted/trial snapshots; callbacks never decide acceptance. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/nonlinear/result.hpp" line="92" column="5" bodyfile="src/include/serif/solver/nonlinear/result.hpp" bodystart="92" bodyend="92"/>
</memberdef>
<memberdef kind="enum" id="namespaceserif_1_1solver_1af4b1a8caa8d8f54f51fc013688c7b21c" prot="public" static="no" strong="yes">
<type></type>
<name>SolveControl</name>
<qualifiedname>serif::solver::SolveControl</qualifiedname>
<enumvalue id="namespaceserif_1_1solver_1af4b1a8caa8d8f54f51fc013688c7b21ca1c2afff196eca9b02ad6a8dcc4aee0e0" prot="public">
<name>continue_solve</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<enumvalue id="namespaceserif_1_1solver_1af4b1a8caa8d8f54f51fc013688c7b21caef399b2d446bb37b7c32ad2cc1b6045b" prot="public">
<name>stop</name>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
</enumvalue>
<briefdescription>
<para>A stop request is remembered until the next initial, resumed or accepted <ref refid="structserif_1_1solver_1_1_newton" kindref="compound">Newton</ref> boundary. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/nonlinear/result.hpp" line="95" column="5" bodyfile="src/include/serif/solver/nonlinear/result.hpp" bodystart="95" bodyend="95"/>
</memberdef>
</sectiondef>
<sectiondef kind="typedef">
<memberdef kind="typedef" id="namespaceserif_1_1solver_1aaee71b0914bfa77aeb37e494eab911bb" prot="public" static="no">
<type><ref refid="structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options" kindref="compound">operators::backend::mfem::VolumeOptions</ref></type>
<definition>using serif::solver::VolumeOptions = operators::backend::mfem::VolumeOptions</definition>
<argsstring></argsstring>
<name>VolumeOptions</name>
<qualifiedname>serif::solver::VolumeOptions</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/equilibrium.hpp" line="8" column="5" bodyfile="src/include/serif/solver/equilibrium.hpp" bodystart="8" bodyend="-1"/>
</memberdef>
</sectiondef>
<sectiondef kind="func">
<memberdef kind="function" id="namespaceserif_1_1solver_1a795ce8d9efdc979d67d91cb56839fd1e" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Family</type>
</param>
<param>
<type>typename Factory</type>
</param>
<param>
<type>typename State</type>
</param>
<param>
<type>typename Options</type>
<defval>SolverOptions&lt;&gt;</defval>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::solver::continue_equilibrium</definition>
<argsstring>(const Family &amp;family, Factory configure, const State &amp;initial_state, continuation::Options&lt; Family &gt; continuation_options, Options solver_options=continuation::default_solver_options())</argsstring>
<name>continue_equilibrium</name>
<qualifiedname>serif::solver::continue_equilibrium</qualifiedname>
<param>
<type>const Family &amp;</type>
<declname>family</declname>
</param>
<param>
<type>Factory</type>
<declname>configure</declname>
</param>
<param>
<type>const State &amp;</type>
<declname>initial_state</declname>
</param>
<param>
<type><ref refid="structserif_1_1solver_1_1continuation_1_1_options" kindref="compound">continuation::Options</ref>&lt; Family &gt;</type>
<declname>continuation_options</declname>
</param>
<param>
<type>Options</type>
<declname>solver_options</declname>
<defval><ref refid="namespaceserif_1_1solver_1_1continuation_1a284b5f1f64852170370630726f9fd9e6" kindref="member">continuation::default_solver_options</ref>()</defval>
</param>
<requiresclause>std::copy_constructible&lt;Options&gt; </requiresclause>
<briefdescription>
<para>Continue moving-star equilibria through an explicitly declared physical family. </para>
</briefdescription>
<detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>configure</parametername>
</parameternamelist>
<parameterdescription>
<para>Own or borrow a callable that returns a configured discretization for its supplied model. It must preserve the physical coordinate layout and finite-element reference of transferred states; fresh evaluators are implicit. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="note"><para>The explicit factory supports move-only resource policies without inventing a mutable clone/context hierarchy. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/continuation/equilibrium.hpp" line="56" column="11" bodyfile="src/include/serif/solver/continuation/equilibrium.hpp" bodystart="56" bodyend="63"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1aae73f87737f0d06a65fdf60a267717d7" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Family</type>
</param>
<param>
<type>typename Factory</type>
</param>
<param>
<type>typename State</type>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::solver::continue_equilibrium</definition>
<argsstring>(const Family &amp;family, Factory configure, const State &amp;initial_state)</argsstring>
<name>continue_equilibrium</name>
<qualifiedname>serif::solver::continue_equilibrium</qualifiedname>
<param>
<type>const Family &amp;</type>
<declname>family</declname>
</param>
<param>
<type>Factory</type>
<declname>configure</declname>
</param>
<param>
<type>const State &amp;</type>
<declname>initial_state</declname>
</param>
<briefdescription>
<para>Start with the family&apos;s physics-owned default coordinates and bounded fallback route. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/continuation/equilibrium.hpp" line="67" column="11" bodyfile="src/include/serif/solver/continuation/equilibrium.hpp" bodystart="67" bodyend="69"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1abb8b187f7bbc1ffbe64842176278d16f" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Family</type>
</param>
<param>
<type>typename Factory</type>
</param>
<param>
<type>typename State</type>
</param>
<param>
<type>typename Options</type>
<defval>SolverOptions&lt;&gt;</defval>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::solver::continue_equilibrium</definition>
<argsstring>(const Family &amp;family, Factory configure, const State &amp;initial_state, const Vector &amp;displacement, continuation::Options&lt; Family &gt; continuation_options, Options solver_options=continuation::default_solver_options())</argsstring>
<name>continue_equilibrium</name>
<qualifiedname>serif::solver::continue_equilibrium</qualifiedname>
<param>
<type>const Family &amp;</type>
<declname>family</declname>
</param>
<param>
<type>Factory</type>
<declname>configure</declname>
</param>
<param>
<type>const State &amp;</type>
<declname>initial_state</declname>
</param>
<param>
<type>const <ref refid="namespaceserif_1ab7690da8665e9d9bd2fa8e8534cd6e57" kindref="member">Vector</ref> &amp;</type>
<declname>displacement</declname>
</param>
<param>
<type><ref refid="structserif_1_1solver_1_1continuation_1_1_options" kindref="compound">continuation::Options</ref>&lt; Family &gt;</type>
<declname>continuation_options</declname>
</param>
<param>
<type>Options</type>
<declname>solver_options</declname>
<defval><ref refid="namespaceserif_1_1solver_1_1continuation_1a284b5f1f64852170370630726f9fd9e6" kindref="member">continuation::default_solver_options</ref>()</defval>
</param>
<requiresclause>std::copy_constructible&lt;Options&gt; </requiresclause>
<briefdescription>
<para>Continue a fixed-geometry model while preserving its prescribed displacement. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/continuation/equilibrium.hpp" line="74" column="11" bodyfile="src/include/serif/solver/continuation/equilibrium.hpp" bodystart="74" bodyend="81"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1ada5a2ebd458d64ac776bede196e81002" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Family</type>
</param>
<param>
<type>typename Factory</type>
</param>
<param>
<type>typename State</type>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::solver::continue_equilibrium</definition>
<argsstring>(const Family &amp;family, Factory configure, const State &amp;initial_state, const Vector &amp;displacement)</argsstring>
<name>continue_equilibrium</name>
<qualifiedname>serif::solver::continue_equilibrium</qualifiedname>
<param>
<type>const Family &amp;</type>
<declname>family</declname>
</param>
<param>
<type>Factory</type>
<declname>configure</declname>
</param>
<param>
<type>const State &amp;</type>
<declname>initial_state</declname>
</param>
<param>
<type>const <ref refid="namespaceserif_1ab7690da8665e9d9bd2fa8e8534cd6e57" kindref="member">Vector</ref> &amp;</type>
<declname>displacement</declname>
</param>
<briefdescription>
<para>Use the same default route and absolute qualification tolerance for fixed geometry. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/continuation/equilibrium.hpp" line="85" column="11" bodyfile="src/include/serif/solver/continuation/equilibrium.hpp" bodystart="85" bodyend="87"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1a2e9de7691387f8b6f7ee258e6516da7d" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Configuration</type>
</param>
<param>
<type>typename Layout</type>
</param>
<param>
<type>typename Options</type>
<defval>SolverOptions&lt;&gt;</defval>
</param>
<param>
<type>typename Observer</type>
<defval>NoObserver</defval>
</param>
<param>
<type>utils::dependencies::IsDependencyContext</type>
<declname>Inputs</declname>
<defname>Inputs</defname>
<defval>utils::dependencies::DependencyContext&lt;&gt;</defval>
</param>
<param>
<type>typename ObserverFactory</type>
<defval>utils::dependencies::NoGraphObservers</defval>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::solver::solve_equilibrium</definition>
<argsstring>(Configuration configuration, model::StellarState&lt; Layout &gt; initial_state, Options options={}, Observer observer={}, VolumeOptions volume_options={}, Inputs prescribed=Inputs{}, ObserverFactory observer_factory={})</argsstring>
<name>solve_equilibrium</name>
<qualifiedname>serif::solver::solve_equilibrium</qualifiedname>
<param>
<type>Configuration</type>
<declname>configuration</declname>
</param>
<param>
<type><ref refid="structserif_1_1model_1_1_stellar_state" kindref="compound">model::StellarState</ref>&lt; Layout &gt;</type>
<declname>initial_state</declname>
</param>
<param>
<type>Options</type>
<declname>options</declname>
<defval>{}</defval>
</param>
<param>
<type>Observer</type>
<declname>observer</declname>
<defval>{}</defval>
</param>
<param>
<type><ref refid="namespaceserif_1_1solver_1aaee71b0914bfa77aeb37e494eab911bb" kindref="member">VolumeOptions</ref></type>
<declname>volume_options</declname>
<defval>{}</defval>
</param>
<param>
<type>Inputs</type>
<declname>prescribed</declname>
<defval>Inputs{}</defval>
</param>
<param>
<type>ObserverFactory</type>
<declname>observer_factory</declname>
<defval>{}</defval>
</param>
<requiresclause>utils::dependencies::ContainsKey&lt;discretization::blocks::surface_deformation::coefficients, typename Layout::Values&gt; </requiresclause>
<briefdescription>
<para>Solve a moving star from an owning physical initial state. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="note"><para>The model defines equilibrium; its evaluator and reusable cache are constructed internally. The returned result owns the last accepted physical star even when the solve does not converge. Initialize the backend&apos;s MPI runtime before using a recipe containing Hypre AMG. The optional final observer factory measures graph work separately from physics and solver history. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/equilibrium.hpp" line="20" column="11" bodyfile="src/include/serif/solver/equilibrium.hpp" bodystart="20" bodyend="32"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1aabb49f9d871887898b5f5001ff33b4bf" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Configuration</type>
</param>
<param>
<type>typename Layout</type>
</param>
<param>
<type>typename Options</type>
<defval>SolverOptions&lt;&gt;</defval>
</param>
<param>
<type>typename Observer</type>
<defval>NoObserver</defval>
</param>
<param>
<type>utils::dependencies::IsDependencyContext</type>
<declname>Inputs</declname>
<defname>Inputs</defname>
<defval>utils::dependencies::DependencyContext&lt;&gt;</defval>
</param>
<param>
<type>typename ObserverFactory</type>
<defval>utils::dependencies::NoGraphObservers</defval>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::solver::solve_equilibrium</definition>
<argsstring>(Configuration configuration, model::StellarState&lt; Layout &gt; initial_state, const Vector &amp;displacement, Options options={}, Observer observer={}, VolumeOptions volume_options={}, Inputs prescribed=Inputs{}, ObserverFactory observer_factory={})</argsstring>
<name>solve_equilibrium</name>
<qualifiedname>serif::solver::solve_equilibrium</qualifiedname>
<param>
<type>Configuration</type>
<declname>configuration</declname>
</param>
<param>
<type><ref refid="structserif_1_1model_1_1_stellar_state" kindref="compound">model::StellarState</ref>&lt; Layout &gt;</type>
<declname>initial_state</declname>
</param>
<param>
<type>const <ref refid="namespaceserif_1ab7690da8665e9d9bd2fa8e8534cd6e57" kindref="member">Vector</ref> &amp;</type>
<declname>displacement</declname>
</param>
<param>
<type>Options</type>
<declname>options</declname>
<defval>{}</defval>
</param>
<param>
<type>Observer</type>
<declname>observer</declname>
<defval>{}</defval>
</param>
<param>
<type><ref refid="namespaceserif_1_1solver_1aaee71b0914bfa77aeb37e494eab911bb" kindref="member">VolumeOptions</ref></type>
<declname>volume_options</declname>
<defval>{}</defval>
</param>
<param>
<type>Inputs</type>
<declname>prescribed</declname>
<defval>Inputs{}</defval>
</param>
<param>
<type>ObserverFactory</type>
<declname>observer_factory</declname>
<defval>{}</defval>
</param>
<requiresclause>(!utils::dependencies::ContainsKey&lt;discretization::blocks::surface_deformation::coefficients, typename Layout::Values&gt;) </requiresclause>
<briefdescription>
<para>Solve a fixed-geometry model with prescribed displacement outside its unknown vector. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="note"><para>The optional final observer factory measures graph work separately from physics and solver history. It is rebuilt for this solve and is not stored in the checkpoint. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/equilibrium.hpp" line="43" column="11" bodyfile="src/include/serif/solver/equilibrium.hpp" bodystart="43" bodyend="49"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1a2698b5ef612716179bbd0f1498cc4cec" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Configuration</type>
</param>
<param>
<type>typename Layout</type>
</param>
<param>
<type>typename Options</type>
<defval>SolverOptions&lt;&gt;</defval>
</param>
<param>
<type>typename Observer</type>
<defval>NoObserver</defval>
</param>
<param>
<type>utils::dependencies::IsDependencyContext</type>
<declname>Inputs</declname>
<defname>Inputs</defname>
<defval>utils::dependencies::DependencyContext&lt;&gt;</defval>
</param>
<param>
<type>typename ObserverFactory</type>
<defval>utils::dependencies::NoGraphObservers</defval>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::solver::resume_equilibrium</definition>
<argsstring>(Configuration configuration, NewtonCheckpoint&lt; model::StellarState&lt; Layout &gt; &gt; checkpoint, Options options={}, Observer observer={}, VolumeOptions volume_options={}, Inputs prescribed=Inputs{}, ObserverFactory observer_factory={})</argsstring>
<name>resume_equilibrium</name>
<qualifiedname>serif::solver::resume_equilibrium</qualifiedname>
<param>
<type>Configuration</type>
<declname>configuration</declname>
</param>
<param>
<type><ref refid="structserif_1_1solver_1_1_newton_checkpoint" kindref="compound">NewtonCheckpoint</ref>&lt; <ref refid="structserif_1_1model_1_1_stellar_state" kindref="compound">model::StellarState</ref>&lt; Layout &gt; &gt;</type>
<declname>checkpoint</declname>
</param>
<param>
<type>Options</type>
<declname>options</declname>
<defval>{}</defval>
</param>
<param>
<type>Observer</type>
<declname>observer</declname>
<defval>{}</defval>
</param>
<param>
<type><ref refid="namespaceserif_1_1solver_1aaee71b0914bfa77aeb37e494eab911bb" kindref="member">VolumeOptions</ref></type>
<declname>volume_options</declname>
<defval>{}</defval>
</param>
<param>
<type>Inputs</type>
<declname>prescribed</declname>
<defval>Inputs{}</defval>
</param>
<param>
<type>ObserverFactory</type>
<declname>observer_factory</declname>
<defval>{}</defval>
</param>
<requiresclause>utils::dependencies::ContainsKey&lt;discretization::blocks::surface_deformation::coefficients, typename Layout::Values&gt; </requiresclause>
<briefdescription>
<para>Continue a moving-star checkpoint using reconstructed physical and numerical configuration. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="note"><para>The optional final observer factory measures graph work separately from physics and solver history. It is rebuilt for this solve and is not stored in the checkpoint. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/equilibrium.hpp" line="61" column="11" bodyfile="src/include/serif/solver/equilibrium.hpp" bodystart="61" bodyend="66"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1ad1fa5c83c70e1b37311b7cf0ed4b88bd" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Configuration</type>
</param>
<param>
<type>typename Layout</type>
</param>
<param>
<type>typename Options</type>
<defval>SolverOptions&lt;&gt;</defval>
</param>
<param>
<type>typename Observer</type>
<defval>NoObserver</defval>
</param>
<param>
<type>utils::dependencies::IsDependencyContext</type>
<declname>Inputs</declname>
<defname>Inputs</defname>
<defval>utils::dependencies::DependencyContext&lt;&gt;</defval>
</param>
<param>
<type>typename ObserverFactory</type>
<defval>utils::dependencies::NoGraphObservers</defval>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::solver::resume_equilibrium</definition>
<argsstring>(Configuration configuration, NewtonCheckpoint&lt; model::StellarState&lt; Layout &gt; &gt; checkpoint, const Vector &amp;displacement, Options options={}, Observer observer={}, VolumeOptions volume_options={}, Inputs prescribed=Inputs{}, ObserverFactory observer_factory={})</argsstring>
<name>resume_equilibrium</name>
<qualifiedname>serif::solver::resume_equilibrium</qualifiedname>
<param>
<type>Configuration</type>
<declname>configuration</declname>
</param>
<param>
<type><ref refid="structserif_1_1solver_1_1_newton_checkpoint" kindref="compound">NewtonCheckpoint</ref>&lt; <ref refid="structserif_1_1model_1_1_stellar_state" kindref="compound">model::StellarState</ref>&lt; Layout &gt; &gt;</type>
<declname>checkpoint</declname>
</param>
<param>
<type>const <ref refid="namespaceserif_1ab7690da8665e9d9bd2fa8e8534cd6e57" kindref="member">Vector</ref> &amp;</type>
<declname>displacement</declname>
</param>
<param>
<type>Options</type>
<declname>options</declname>
<defval>{}</defval>
</param>
<param>
<type>Observer</type>
<declname>observer</declname>
<defval>{}</defval>
</param>
<param>
<type><ref refid="namespaceserif_1_1solver_1aaee71b0914bfa77aeb37e494eab911bb" kindref="member">VolumeOptions</ref></type>
<declname>volume_options</declname>
<defval>{}</defval>
</param>
<param>
<type>Inputs</type>
<declname>prescribed</declname>
<defval>Inputs{}</defval>
</param>
<param>
<type>ObserverFactory</type>
<declname>observer_factory</declname>
<defval>{}</defval>
</param>
<requiresclause>(!utils::dependencies::ContainsKey&lt;discretization::blocks::surface_deformation::coefficients, typename Layout::Values&gt;) </requiresclause>
<briefdescription>
<para>Continue a fixed-geometry checkpoint with its separately restored prescribed displacement. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="note"><para>The optional final observer factory measures graph work separately from physics and solver history. It is rebuilt for this solve and is not stored in the checkpoint. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/equilibrium.hpp" line="77" column="11" bodyfile="src/include/serif/solver/equilibrium.hpp" bodystart="77" bodyend="83"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1a50d481ced4213cc6414d163eff898df9" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Problem</type>
</param>
<param>
<type>typename State</type>
</param>
<param>
<type>typename Options</type>
<defval>SolverOptions&lt;&gt;</defval>
</param>
<param>
<type>typename Observer</type>
<defval>NoObserver</defval>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::solver::solve_newton</definition>
<argsstring>(Problem &amp;problem, State initial_state, Options options={}, Observer observer={})</argsstring>
<name>solve_newton</name>
<qualifiedname>serif::solver::solve_newton</qualifiedname>
<param>
<type>Problem &amp;</type>
<declname>problem</declname>
</param>
<param>
<type>State</type>
<declname>initial_state</declname>
</param>
<param>
<type>Options</type>
<declname>options</declname>
<defval>{}</defval>
</param>
<param>
<type>Observer</type>
<declname>observer</declname>
<defval>{}</defval>
</param>
<requiresclause>detail::NewtonStrategyFor&lt;Problem, State, Options&gt; </requiresclause>
<briefdescription>
<para>Solve a custom numerical problem using its native <ref refid="namespaceserif_1ab7690da8665e9d9bd2fa8e8534cd6e57" kindref="member">Vector</ref>, evaluate, prepare and solve_linear operations. </para>
</briefdescription>
<detaileddescription>
<para><simplesect kind="note"><para>Strategies here are executable numerical methods; solve_equilibrium uses the same strategies. </para>
</simplesect>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/nonlinear/newton.hpp" line="109" column="11" bodyfile="src/include/serif/solver/nonlinear/newton.hpp" bodystart="109" bodyend="111"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1aa3cdbadff61a171e313e316fdf26909d" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" virt="non-virtual">
<templateparamlist>
<param>
<type>typename Problem</type>
</param>
<param>
<type>typename State</type>
</param>
<param>
<type>typename Options</type>
<defval>SolverOptions&lt;&gt;</defval>
</param>
<param>
<type>typename Observer</type>
<defval>NoObserver</defval>
</param>
</templateparamlist>
<type>auto</type>
<definition>auto serif::solver::resume_newton</definition>
<argsstring>(Problem &amp;problem, NewtonCheckpoint&lt; State &gt; checkpoint, Options options={}, Observer observer={})</argsstring>
<name>resume_newton</name>
<qualifiedname>serif::solver::resume_newton</qualifiedname>
<param>
<type>Problem &amp;</type>
<declname>problem</declname>
</param>
<param>
<type><ref refid="structserif_1_1solver_1_1_newton_checkpoint" kindref="compound">NewtonCheckpoint</ref>&lt; State &gt;</type>
<declname>checkpoint</declname>
</param>
<param>
<type>Options</type>
<declname>options</declname>
<defval>{}</defval>
</param>
<param>
<type>Observer</type>
<declname>observer</declname>
<defval>{}</defval>
</param>
<requiresclause>detail::NewtonStrategyFor&lt;Problem, State, Options&gt; </requiresclause>
<briefdescription>
<para>Resume the original convergence reference, correction reuse, and cumulative work budget. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/nonlinear/newton.hpp" line="116" column="11" bodyfile="src/include/serif/solver/nonlinear/newton.hpp" bodystart="116" bodyend="118"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1a4ae15221b9aded0dc3ec787898984462" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="no" noexcept="yes" virt="non-virtual">
<type>double</type>
<definition>double serif::solver::next_backtracking_step</definition>
<argsstring>(double rejected_step, double accepted_determinant, double rejected_determinant, bool inverted, const Backtracking &amp;options) noexcept</argsstring>
<name>next_backtracking_step</name>
<qualifiedname>serif::solver::next_backtracking_step</qualifiedname>
<param>
<type>double</type>
<declname>rejected_step</declname>
</param>
<param>
<type>double</type>
<declname>accepted_determinant</declname>
</param>
<param>
<type>double</type>
<declname>rejected_determinant</declname>
</param>
<param>
<type>bool</type>
<declname>inverted</declname>
</param>
<param>
<type>const <ref refid="structserif_1_1solver_1_1_backtracking" kindref="compound">Backtracking</ref> &amp;</type>
<declname>options</declname>
</param>
<briefdescription>
<para>Skip only existing backtracking rungs when an inverted trial gives a finite boundary estimate. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/lib/serif/solver/nonlinear/options.cpp" line="42" column="12" bodyfile="src/lib/serif/solver/nonlinear/options.cpp" bodystart="42" bodyend="66" declfile="src/include/serif/solver/nonlinear/options.hpp" declline="104" declcolumn="13"/>
</memberdef>
<memberdef kind="function" id="namespaceserif_1_1solver_1aba8609bba7520feb62263d06def641e5" prot="public" static="no" nodiscard="yes" const="no" explicit="no" inline="yes" virt="non-virtual">
<type>std::optional&lt; std::string &gt;</type>
<definition>std::optional&lt; std::string &gt; serif::solver::validate_newton_progress</definition>
<argsstring>(const NewtonProgress &amp;progress, const std::size_t state_size)</argsstring>
<name>validate_newton_progress</name>
<qualifiedname>serif::solver::validate_newton_progress</qualifiedname>
<param>
<type>const <ref refid="structserif_1_1solver_1_1_newton_progress" kindref="compound">NewtonProgress</ref> &amp;</type>
<declname>progress</declname>
</param>
<param>
<type>const std::size_t</type>
<declname>state_size</declname>
</param>
<briefdescription>
<para>Reject incomplete or inconsistent imported history before preparing any runtime operators. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="src/include/serif/solver/nonlinear/result.hpp" line="60" column="27" bodyfile="src/include/serif/solver/nonlinear/result.hpp" bodystart="60" bodyend="82"/>
</memberdef>
</sectiondef>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<location file="src/compile_time_checks/serif/solver/normalization/dimensionless.cpp" line="5" column="1"/>
</compounddef>
</doxygen>