\doxysection{serif\+::solver Namespace Reference} \hypertarget{namespaceserif_1_1solver}{}\label{namespaceserif_1_1solver}\index{serif::solver@{serif::solver}} \doxysubsubsection*{Namespaces} \begin{DoxyCompactItemize} \item namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1admissibility}{admissibility}} \item namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1backend}{backend}} \item namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1continuation}{continuation}} \item namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1detail}{detail}} \item namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1linear}{linear}} \item namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization}{normalization}} \item namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1preconditioner}{preconditioner}} \item namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1seed}{seed}} \end{DoxyCompactItemize} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structserif_1_1solver_1_1_backtracking}{Backtracking}} \begin{DoxyCompactList}\small\item\em Shorten a \doxylink{structserif_1_1solver_1_1_newton}{Newton} step until the complete residual merit decreases sufficiently. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1solver_1_1_direction_assessment}{Direction\+Assessment}} \begin{DoxyCompactList}\small\item\em A modified direction must report whether it is usable and any measured merit slope. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1solver_1_1_metric_evaluation}{Metric\+Evaluation}} \begin{DoxyCompactList}\small\item\em Separate the convergence norm from the line-\/search merit for custom metrics. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1solver_1_1_newton}{Newton}} \begin{DoxyCompactList}\small\item\em Accuracy and work limits for finding one equilibrium star. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1solver_1_1_newton_checkpoint}{Newton\+Checkpoint}} \begin{DoxyCompactList}\small\item\em Own the accepted physical star and the small amount of \doxylink{structserif_1_1solver_1_1_newton}{Newton} history needed to continue it. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1solver_1_1_newton_progress}{Newton\+Progress}} \begin{DoxyCompactList}\small\item\em Numerical continuation data at one accepted \doxylink{structserif_1_1solver_1_1_newton}{Newton} boundary. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1solver_1_1_no_model}{No\+Model}} \begin{DoxyCompactList}\small\item\em Marker for algebraic tests and custom problems without a stellar description. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1solver_1_1_no_observer}{No\+Observer}} \begin{DoxyCompactList}\small\item\em Disable observation without introducing runtime callback allocation. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1solver_1_1_normalized_residual_metric}{Normalized\+Residual\+Metric}} \begin{DoxyCompactList}\small\item\em Use the Euclidean norm of SERiF\textquotesingle{}s normalized residual and half its square. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1solver_1_1_solve_diagnostics}{Solve\+Diagnostics}} \begin{DoxyCompactList}\small\item\em Bounded work totals; accepted physical snapshots are stored separately from diagnostics. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1solver_1_1_solve_event}{Solve\+Event}} \begin{DoxyCompactList}\small\item\em Small event record suitable for logging without retaining every iterate. \end{DoxyCompactList}\item class \mbox{\hyperlink{classserif_1_1solver_1_1_solve_result}{Solve\+Result}} \begin{DoxyCompactList}\small\item\em Own the last accepted physical state, matching frozen system, and descriptive model. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1solver_1_1_solver_options}{Solver\+Options}} \begin{DoxyCompactList}\small\item\em Select numerical policies while keeping equilibrium physics in the model. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1solver_1_1_solve_timing}{Solve\+Timing}} \begin{DoxyCompactList}\small\item\em Optional elapsed wall time, kept separately from numerical restart history. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1solver_1_1_standard_newton}{Standard\+Newton}} \begin{DoxyCompactList}\small\item\em Ordinary \doxylink{structserif_1_1solver_1_1_newton}{Newton} supplies every strategy phase; custom policies may replace individual phases explicitly. \end{DoxyCompactList}\item class \mbox{\hyperlink{classserif_1_1solver_1_1_timed_observer}{Timed\+Observer}} \begin{DoxyCompactList}\small\item\em Measure solves explicitly while retaining an ordinary progress or stop callback. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1solver_1_1_trial_assessment}{Trial\+Assessment}} \begin{DoxyCompactList}\small\item\em A numerical policy explicitly accepts its work or explains why this candidate must be rejected. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Typedefs} \begin{DoxyCompactItemize} \item using \mbox{\hyperlink{namespaceserif_1_1solver_aaee71b0914bfa77aeb37e494eab911bb}{Volume\+Options}} = \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options}{operators\+::backend\+::mfem\+::\+Volume\+Options}} \end{DoxyCompactItemize} \doxysubsubsection*{Enumerations} \begin{DoxyCompactItemize} \item enum class \mbox{\hyperlink{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64}{Solve\+Status}} \{ \newline \mbox{\hyperlink{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64a7de33615d7fbc1cb7bc608d12f1993d2}{converged}} , \mbox{\hyperlink{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64a00284e15e20ba8bd246e70c06567efbd}{initial\+\_\+state\+\_\+rejected}} , \mbox{\hyperlink{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64ae5352def1775383427334d4671099caf}{invalid\+\_\+metric}} , \mbox{\hyperlink{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64ae9f49c7af9b0c06e5e2481ec84cdf9aa}{preparation\+\_\+failure}} , \newline \mbox{\hyperlink{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64a4913a35a7eab87ca909c1d360ab82adb}{linear\+\_\+solve\+\_\+failure}} , \mbox{\hyperlink{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64a8286355a7892894a1c3cc40354da9999}{globalization\+\_\+failure}} , \mbox{\hyperlink{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64af9cc715fb6ecde5fea080ac57ad0dfaf}{maximum\+\_\+iterations}} , \mbox{\hyperlink{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64af0a0bfe6bc7d2c58d2989034f83183e0}{stopped}} \} \begin{DoxyCompactList}\small\item\em Numerical termination; invalid configuration and user callback errors remain exceptions. \end{DoxyCompactList}\item enum class \mbox{\hyperlink{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464}{Event\+Kind}} \{ \newline \mbox{\hyperlink{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464acc51b81974287ab79cef9e94fe778cc9}{initial}} , \mbox{\hyperlink{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a57054ff3283d5f50b905c8d1a492c8a3}{before\+\_\+iteration}} , \mbox{\hyperlink{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a8746f4ec6db7fdda6018d314e8c3ae02}{trial\+\_\+rejected}} , \mbox{\hyperlink{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a6e563563af598fa7575b0944e785a7d5}{before\+\_\+accept}} , \newline \mbox{\hyperlink{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a3e4d891a5df3d6d0d7dd9432a1bc6470}{accepted}} , \mbox{\hyperlink{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464aa5d7ceb2c59b8cee46c2953fec9abc19}{finished}} , \mbox{\hyperlink{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a121ad2eb76415d284215a4c9deddf79c}{resumed}} \} \begin{DoxyCompactList}\small\item\em Events expose immutable accepted/trial snapshots; callbacks never decide acceptance. \end{DoxyCompactList}\item enum class \mbox{\hyperlink{namespaceserif_1_1solver_af4b1a8caa8d8f54f51fc013688c7b21c}{Solve\+Control}} \{ \mbox{\hyperlink{namespaceserif_1_1solver_af4b1a8caa8d8f54f51fc013688c7b21ca1c2afff196eca9b02ad6a8dcc4aee0e0}{continue\+\_\+solve}} , \mbox{\hyperlink{namespaceserif_1_1solver_af4b1a8caa8d8f54f51fc013688c7b21caef399b2d446bb37b7c32ad2cc1b6045b}{stop}} \} \begin{DoxyCompactList}\small\item\em A stop request is remembered until the next initial, resumed or accepted Newton boundary. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename Family, typename Factory, typename State, typename Options = Solver\+Options$<$$>$$>$ \newline requires std\+::copy\+\_\+constructible$<$Options$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1solver_a795ce8d9efdc979d67d91cb56839fd1e}{continue\+\_\+equilibrium}} (const Family \&family, Factory configure, const State \&initial\+\_\+state, \mbox{\hyperlink{structserif_1_1solver_1_1continuation_1_1_options}{continuation\+::\+Options}}$<$ Family $>$ continuation\+\_\+options, Options solver\+\_\+options=\mbox{\hyperlink{namespaceserif_1_1solver_1_1continuation_a284b5f1f64852170370630726f9fd9e6}{continuation\+::default\+\_\+solver\+\_\+options}}()) \begin{DoxyCompactList}\small\item\em Continue moving-\/star equilibria through an explicitly declared physical family. \end{DoxyCompactList}\item {\footnotesize template$<$typename Family, typename Factory, typename State$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1solver_aae73f87737f0d06a65fdf60a267717d7}{continue\+\_\+equilibrium}} (const Family \&family, Factory configure, const State \&initial\+\_\+state) \begin{DoxyCompactList}\small\item\em Start with the family\textquotesingle{}s physics-\/owned default coordinates and bounded fallback route. \end{DoxyCompactList}\item {\footnotesize template$<$typename Family, typename Factory, typename State, typename Options = Solver\+Options$<$$>$$>$ \newline requires std\+::copy\+\_\+constructible$<$Options$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1solver_abb8b187f7bbc1ffbe64842176278d16f}{continue\+\_\+equilibrium}} (const Family \&family, Factory configure, const State \&initial\+\_\+state, const \mbox{\hyperlink{namespaceserif_ab7690da8665e9d9bd2fa8e8534cd6e57}{Vector}} \&displacement, \mbox{\hyperlink{structserif_1_1solver_1_1continuation_1_1_options}{continuation\+::\+Options}}$<$ Family $>$ continuation\+\_\+options, Options solver\+\_\+options=\mbox{\hyperlink{namespaceserif_1_1solver_1_1continuation_a284b5f1f64852170370630726f9fd9e6}{continuation\+::default\+\_\+solver\+\_\+options}}()) \begin{DoxyCompactList}\small\item\em Continue a fixed-\/geometry model while preserving its prescribed displacement. \end{DoxyCompactList}\item {\footnotesize template$<$typename Family, typename Factory, typename State$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1solver_ada5a2ebd458d64ac776bede196e81002}{continue\+\_\+equilibrium}} (const Family \&family, Factory configure, const State \&initial\+\_\+state, const \mbox{\hyperlink{namespaceserif_ab7690da8665e9d9bd2fa8e8534cd6e57}{Vector}} \&displacement) \begin{DoxyCompactList}\small\item\em Use the same default route and absolute qualification tolerance for fixed geometry. \end{DoxyCompactList}\item {\footnotesize template$<$typename Configuration, typename Layout, typename Options = Solver\+Options$<$$>$, typename Observer = No\+Observer, utils\+::dependencies\+::\+Is\+Dependency\+Context Inputs = utils\+::dependencies\+::\+Dependency\+Context$<$$>$, typename Observer\+Factory = utils\+::dependencies\+::\+No\+Graph\+Observers$>$ \newline requires utils\+::dependencies\+::\+Contains\+Key$<$\mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients}{discretization\+::blocks\+::surface\+\_\+deformation\+::coefficients}}, typename Layout\+::\+Values$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1solver_a2e9de7691387f8b6f7ee258e6516da7d}{solve\+\_\+equilibrium}} (Configuration configuration, \mbox{\hyperlink{structserif_1_1model_1_1_stellar_state}{model\+::\+Stellar\+State}}$<$ Layout $>$ initial\+\_\+state, Options options=\{\}, Observer observer=\{\}, \mbox{\hyperlink{namespaceserif_1_1solver_aaee71b0914bfa77aeb37e494eab911bb}{Volume\+Options}} volume\+\_\+options=\{\}, Inputs prescribed=Inputs\{\}, Observer\+Factory observer\+\_\+factory=\{\}) \begin{DoxyCompactList}\small\item\em Solve a moving star from an owning physical initial state. \end{DoxyCompactList}\item {\footnotesize template$<$typename Configuration, typename Layout, typename Options = Solver\+Options$<$$>$, typename Observer = No\+Observer, utils\+::dependencies\+::\+Is\+Dependency\+Context Inputs = utils\+::dependencies\+::\+Dependency\+Context$<$$>$, typename Observer\+Factory = utils\+::dependencies\+::\+No\+Graph\+Observers$>$ \newline requires (!utils\+::dependencies\+::\+Contains\+Key$<$\mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients}{discretization\+::blocks\+::surface\+\_\+deformation\+::coefficients}}, typename Layout\+::\+Values$>$)}\\auto \mbox{\hyperlink{namespaceserif_1_1solver_aabb49f9d871887898b5f5001ff33b4bf}{solve\+\_\+equilibrium}} (Configuration configuration, \mbox{\hyperlink{structserif_1_1model_1_1_stellar_state}{model\+::\+Stellar\+State}}$<$ Layout $>$ initial\+\_\+state, const \mbox{\hyperlink{namespaceserif_ab7690da8665e9d9bd2fa8e8534cd6e57}{Vector}} \&displacement, Options options=\{\}, Observer observer=\{\}, \mbox{\hyperlink{namespaceserif_1_1solver_aaee71b0914bfa77aeb37e494eab911bb}{Volume\+Options}} volume\+\_\+options=\{\}, Inputs prescribed=Inputs\{\}, Observer\+Factory observer\+\_\+factory=\{\}) \begin{DoxyCompactList}\small\item\em Solve a fixed-\/geometry model with prescribed displacement outside its unknown vector. \end{DoxyCompactList}\item {\footnotesize template$<$typename Configuration, typename Layout, typename Options = Solver\+Options$<$$>$, typename Observer = No\+Observer, utils\+::dependencies\+::\+Is\+Dependency\+Context Inputs = utils\+::dependencies\+::\+Dependency\+Context$<$$>$, typename Observer\+Factory = utils\+::dependencies\+::\+No\+Graph\+Observers$>$ \newline requires utils\+::dependencies\+::\+Contains\+Key$<$\mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients}{discretization\+::blocks\+::surface\+\_\+deformation\+::coefficients}}, typename Layout\+::\+Values$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1solver_a2698b5ef612716179bbd0f1498cc4cec}{resume\+\_\+equilibrium}} (Configuration configuration, \mbox{\hyperlink{structserif_1_1solver_1_1_newton_checkpoint}{Newton\+Checkpoint}}$<$ \mbox{\hyperlink{structserif_1_1model_1_1_stellar_state}{model\+::\+Stellar\+State}}$<$ Layout $>$ $>$ checkpoint, Options options=\{\}, Observer observer=\{\}, \mbox{\hyperlink{namespaceserif_1_1solver_aaee71b0914bfa77aeb37e494eab911bb}{Volume\+Options}} volume\+\_\+options=\{\}, Inputs prescribed=Inputs\{\}, Observer\+Factory observer\+\_\+factory=\{\}) \begin{DoxyCompactList}\small\item\em Continue a moving-\/star checkpoint using reconstructed physical and numerical configuration. \end{DoxyCompactList}\item {\footnotesize template$<$typename Configuration, typename Layout, typename Options = Solver\+Options$<$$>$, typename Observer = No\+Observer, utils\+::dependencies\+::\+Is\+Dependency\+Context Inputs = utils\+::dependencies\+::\+Dependency\+Context$<$$>$, typename Observer\+Factory = utils\+::dependencies\+::\+No\+Graph\+Observers$>$ \newline requires (!utils\+::dependencies\+::\+Contains\+Key$<$\mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients}{discretization\+::blocks\+::surface\+\_\+deformation\+::coefficients}}, typename Layout\+::\+Values$>$)}\\auto \mbox{\hyperlink{namespaceserif_1_1solver_ad1fa5c83c70e1b37311b7cf0ed4b88bd}{resume\+\_\+equilibrium}} (Configuration configuration, \mbox{\hyperlink{structserif_1_1solver_1_1_newton_checkpoint}{Newton\+Checkpoint}}$<$ \mbox{\hyperlink{structserif_1_1model_1_1_stellar_state}{model\+::\+Stellar\+State}}$<$ Layout $>$ $>$ checkpoint, const \mbox{\hyperlink{namespaceserif_ab7690da8665e9d9bd2fa8e8534cd6e57}{Vector}} \&displacement, Options options=\{\}, Observer observer=\{\}, \mbox{\hyperlink{namespaceserif_1_1solver_aaee71b0914bfa77aeb37e494eab911bb}{Volume\+Options}} volume\+\_\+options=\{\}, Inputs prescribed=Inputs\{\}, Observer\+Factory observer\+\_\+factory=\{\}) \begin{DoxyCompactList}\small\item\em Continue a fixed-\/geometry checkpoint with its separately restored prescribed displacement. \end{DoxyCompactList}\item {\footnotesize template$<$typename Problem, typename State, typename Options = Solver\+Options$<$$>$, typename Observer = No\+Observer$>$ \newline requires detail\+::\+Newton\+Strategy\+For$<$Problem, State, Options$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1solver_a50d481ced4213cc6414d163eff898df9}{solve\+\_\+newton}} (Problem \&problem, State initial\+\_\+state, Options options=\{\}, Observer observer=\{\}) \begin{DoxyCompactList}\small\item\em Solve a custom numerical problem using its native \doxylink{namespaceserif_ab7690da8665e9d9bd2fa8e8534cd6e57}{Vector}, evaluate, prepare and solve\+\_\+linear operations. \end{DoxyCompactList}\item {\footnotesize template$<$typename Problem, typename State, typename Options = Solver\+Options$<$$>$, typename Observer = No\+Observer$>$ \newline requires detail\+::\+Newton\+Strategy\+For$<$Problem, State, Options$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1solver_aa3cdbadff61a171e313e316fdf26909d}{resume\+\_\+newton}} (Problem \&problem, \mbox{\hyperlink{structserif_1_1solver_1_1_newton_checkpoint}{Newton\+Checkpoint}}$<$ State $>$ checkpoint, Options options=\{\}, Observer observer=\{\}) \begin{DoxyCompactList}\small\item\em Resume the original convergence reference, correction reuse, and cumulative work budget. \end{DoxyCompactList}\item double \mbox{\hyperlink{namespaceserif_1_1solver_a4ae15221b9aded0dc3ec787898984462}{next\+\_\+backtracking\+\_\+step}} (double rejected\+\_\+step, double accepted\+\_\+determinant, double rejected\+\_\+determinant, bool inverted, const \mbox{\hyperlink{structserif_1_1solver_1_1_backtracking}{Backtracking}} \&options) noexcept \begin{DoxyCompactList}\small\item\em Skip only existing backtracking rungs when an inverted trial gives a finite boundary estimate. \end{DoxyCompactList}\item std\+::optional$<$ std\+::string $>$ \mbox{\hyperlink{namespaceserif_1_1solver_aba8609bba7520feb62263d06def641e5}{validate\+\_\+newton\+\_\+progress}} (const \mbox{\hyperlink{structserif_1_1solver_1_1_newton_progress}{Newton\+Progress}} \&progress, const std\+::size\+\_\+t state\+\_\+size) \begin{DoxyCompactList}\small\item\em Reject incomplete or inconsistent imported history before preparing any runtime operators. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Typedef Documentation} \Hypertarget{namespaceserif_1_1solver_aaee71b0914bfa77aeb37e494eab911bb}\index{serif::solver@{serif::solver}!VolumeOptions@{VolumeOptions}} \index{VolumeOptions@{VolumeOptions}!serif::solver@{serif::solver}} \doxysubsubsection{\texorpdfstring{VolumeOptions}{VolumeOptions}} {\footnotesize\ttfamily \label{namespaceserif_1_1solver_aaee71b0914bfa77aeb37e494eab911bb} using \mbox{\hyperlink{namespaceserif_1_1solver_aaee71b0914bfa77aeb37e494eab911bb}{serif\+::solver\+::\+Volume\+Options}} = \mbox{\hyperlink{structserif_1_1operators_1_1backend_1_1mfem_1_1_volume_options}{operators\+::backend\+::mfem\+::\+Volume\+Options}}} \doxysubsection{Enumeration Type Documentation} \Hypertarget{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464}\index{serif::solver@{serif::solver}!EventKind@{EventKind}} \index{EventKind@{EventKind}!serif::solver@{serif::solver}} \doxysubsubsection{\texorpdfstring{EventKind}{EventKind}} {\footnotesize\ttfamily \label{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464} enum class \mbox{\hyperlink{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464}{serif\+::solver\+::\+Event\+Kind}}\hspace{0.3cm}{\ttfamily [strong]}} Events expose immutable accepted/trial snapshots; callbacks never decide acceptance. \begin{DoxyEnumFields}[2]{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{initial@{initial}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!initial@{initial}}}\Hypertarget{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464acc51b81974287ab79cef9e94fe778cc9}\label{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464acc51b81974287ab79cef9e94fe778cc9} initial&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{before\_iteration@{before\_iteration}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!before\_iteration@{before\_iteration}}}\Hypertarget{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a57054ff3283d5f50b905c8d1a492c8a3}\label{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a57054ff3283d5f50b905c8d1a492c8a3} before\+\_\+iteration&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{trial\_rejected@{trial\_rejected}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!trial\_rejected@{trial\_rejected}}}\Hypertarget{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a8746f4ec6db7fdda6018d314e8c3ae02}\label{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a8746f4ec6db7fdda6018d314e8c3ae02} trial\+\_\+rejected&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{before\_accept@{before\_accept}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!before\_accept@{before\_accept}}}\Hypertarget{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a6e563563af598fa7575b0944e785a7d5}\label{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a6e563563af598fa7575b0944e785a7d5} before\+\_\+accept&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{accepted@{accepted}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!accepted@{accepted}}}\Hypertarget{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a3e4d891a5df3d6d0d7dd9432a1bc6470}\label{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a3e4d891a5df3d6d0d7dd9432a1bc6470} accepted&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{finished@{finished}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!finished@{finished}}}\Hypertarget{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464aa5d7ceb2c59b8cee46c2953fec9abc19}\label{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464aa5d7ceb2c59b8cee46c2953fec9abc19} finished&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{resumed@{resumed}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!resumed@{resumed}}}\Hypertarget{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a121ad2eb76415d284215a4c9deddf79c}\label{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a121ad2eb76415d284215a4c9deddf79c} resumed&\\ \hline \end{DoxyEnumFields} \Hypertarget{namespaceserif_1_1solver_af4b1a8caa8d8f54f51fc013688c7b21c}\index{serif::solver@{serif::solver}!SolveControl@{SolveControl}} \index{SolveControl@{SolveControl}!serif::solver@{serif::solver}} \doxysubsubsection{\texorpdfstring{SolveControl}{SolveControl}} {\footnotesize\ttfamily \label{namespaceserif_1_1solver_af4b1a8caa8d8f54f51fc013688c7b21c} enum class \mbox{\hyperlink{namespaceserif_1_1solver_af4b1a8caa8d8f54f51fc013688c7b21c}{serif\+::solver\+::\+Solve\+Control}}\hspace{0.3cm}{\ttfamily [strong]}} A stop request is remembered until the next initial, resumed or accepted \doxylink{structserif_1_1solver_1_1_newton}{Newton} boundary. \begin{DoxyEnumFields}[2]{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{continue\_solve@{continue\_solve}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!continue\_solve@{continue\_solve}}}\Hypertarget{namespaceserif_1_1solver_af4b1a8caa8d8f54f51fc013688c7b21ca1c2afff196eca9b02ad6a8dcc4aee0e0}\label{namespaceserif_1_1solver_af4b1a8caa8d8f54f51fc013688c7b21ca1c2afff196eca9b02ad6a8dcc4aee0e0} continue\+\_\+solve&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{stop@{stop}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!stop@{stop}}}\Hypertarget{namespaceserif_1_1solver_af4b1a8caa8d8f54f51fc013688c7b21caef399b2d446bb37b7c32ad2cc1b6045b}\label{namespaceserif_1_1solver_af4b1a8caa8d8f54f51fc013688c7b21caef399b2d446bb37b7c32ad2cc1b6045b} stop&\\ \hline \end{DoxyEnumFields} \Hypertarget{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64}\index{serif::solver@{serif::solver}!SolveStatus@{SolveStatus}} \index{SolveStatus@{SolveStatus}!serif::solver@{serif::solver}} \doxysubsubsection{\texorpdfstring{SolveStatus}{SolveStatus}} {\footnotesize\ttfamily \label{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64} enum class \mbox{\hyperlink{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64}{serif\+::solver\+::\+Solve\+Status}}\hspace{0.3cm}{\ttfamily [strong]}} Numerical termination; invalid configuration and user callback errors remain exceptions. \begin{DoxyEnumFields}[2]{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{converged@{converged}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!converged@{converged}}}\Hypertarget{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64a7de33615d7fbc1cb7bc608d12f1993d2}\label{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64a7de33615d7fbc1cb7bc608d12f1993d2} converged&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{initial\_state\_rejected@{initial\_state\_rejected}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!initial\_state\_rejected@{initial\_state\_rejected}}}\Hypertarget{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64a00284e15e20ba8bd246e70c06567efbd}\label{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64a00284e15e20ba8bd246e70c06567efbd} initial\+\_\+state\+\_\+rejected&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{invalid\_metric@{invalid\_metric}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!invalid\_metric@{invalid\_metric}}}\Hypertarget{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64ae5352def1775383427334d4671099caf}\label{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64ae5352def1775383427334d4671099caf} invalid\+\_\+metric&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{preparation\_failure@{preparation\_failure}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!preparation\_failure@{preparation\_failure}}}\Hypertarget{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64ae9f49c7af9b0c06e5e2481ec84cdf9aa}\label{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64ae9f49c7af9b0c06e5e2481ec84cdf9aa} preparation\+\_\+failure&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{linear\_solve\_failure@{linear\_solve\_failure}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!linear\_solve\_failure@{linear\_solve\_failure}}}\Hypertarget{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64a4913a35a7eab87ca909c1d360ab82adb}\label{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64a4913a35a7eab87ca909c1d360ab82adb} linear\+\_\+solve\+\_\+failure&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{globalization\_failure@{globalization\_failure}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!globalization\_failure@{globalization\_failure}}}\Hypertarget{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64a8286355a7892894a1c3cc40354da9999}\label{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64a8286355a7892894a1c3cc40354da9999} globalization\+\_\+failure&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{maximum\_iterations@{maximum\_iterations}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!maximum\_iterations@{maximum\_iterations}}}\Hypertarget{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64af9cc715fb6ecde5fea080ac57ad0dfaf}\label{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64af9cc715fb6ecde5fea080ac57ad0dfaf} maximum\+\_\+iterations&\\ \hline \raisebox{\heightof{T}}[0pt][0pt]{\index{stopped@{stopped}!serif::solver@{serif::solver}}\index{serif::solver@{serif::solver}!stopped@{stopped}}}\Hypertarget{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64af0a0bfe6bc7d2c58d2989034f83183e0}\label{namespaceserif_1_1solver_a0c5b4c0a272429c1c5807ebb757aad64af0a0bfe6bc7d2c58d2989034f83183e0} stopped&\\ \hline \end{DoxyEnumFields} \doxysubsection{Function Documentation} \Hypertarget{namespaceserif_1_1solver_aae73f87737f0d06a65fdf60a267717d7}\index{serif::solver@{serif::solver}!continue\_equilibrium@{continue\_equilibrium}} \index{continue\_equilibrium@{continue\_equilibrium}!serif::solver@{serif::solver}} \doxysubsubsection{\texorpdfstring{continue\_equilibrium()}{continue\_equilibrium()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}} {\footnotesize\ttfamily \label{namespaceserif_1_1solver_aae73f87737f0d06a65fdf60a267717d7} template$<$typename Family, typename Factory, typename State$>$ \\ auto serif\+::solver\+::continue\+\_\+equilibrium (\begin{DoxyParamCaption}\item[{const Family \&}]{family}{, }\item[{Factory}]{configure}{, }\item[{const State \&}]{initial\+\_\+state}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}} Start with the family\textquotesingle{}s physics-\/owned default coordinates and bounded fallback route. \Hypertarget{namespaceserif_1_1solver_ada5a2ebd458d64ac776bede196e81002}\index{serif::solver@{serif::solver}!continue\_equilibrium@{continue\_equilibrium}} \index{continue\_equilibrium@{continue\_equilibrium}!serif::solver@{serif::solver}} \doxysubsubsection{\texorpdfstring{continue\_equilibrium()}{continue\_equilibrium()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}} {\footnotesize\ttfamily \label{namespaceserif_1_1solver_ada5a2ebd458d64ac776bede196e81002} template$<$typename Family, typename Factory, typename State$>$ \\ auto serif\+::solver\+::continue\+\_\+equilibrium (\begin{DoxyParamCaption}\item[{const Family \&}]{family}{, }\item[{Factory}]{configure}{, }\item[{const State \&}]{initial\+\_\+state}{, }\item[{const \mbox{\hyperlink{namespaceserif_ab7690da8665e9d9bd2fa8e8534cd6e57}{Vector}} \&}]{displacement}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}} Use the same default route and absolute qualification tolerance for fixed geometry. \Hypertarget{namespaceserif_1_1solver_abb8b187f7bbc1ffbe64842176278d16f}\index{serif::solver@{serif::solver}!continue\_equilibrium@{continue\_equilibrium}} \index{continue\_equilibrium@{continue\_equilibrium}!serif::solver@{serif::solver}} \doxysubsubsection{\texorpdfstring{continue\_equilibrium()}{continue\_equilibrium()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}} {\footnotesize\ttfamily \label{namespaceserif_1_1solver_abb8b187f7bbc1ffbe64842176278d16f} template$<$typename Family, typename Factory, typename State, typename Options = Solver\+Options$<$$>$$>$ \newline requires std\+::copy\+\_\+constructible$<$Options$>$\\ auto serif\+::solver\+::continue\+\_\+equilibrium (\begin{DoxyParamCaption}\item[{const Family \&}]{family}{, }\item[{Factory}]{configure}{, }\item[{const State \&}]{initial\+\_\+state}{, }\item[{const \mbox{\hyperlink{namespaceserif_ab7690da8665e9d9bd2fa8e8534cd6e57}{Vector}} \&}]{displacement}{, }\item[{\mbox{\hyperlink{structserif_1_1solver_1_1continuation_1_1_options}{continuation\+::\+Options}}$<$ Family $>$}]{continuation\+\_\+options}{, }\item[{Options}]{solver\+\_\+options}{ = {\ttfamily \mbox{\hyperlink{namespaceserif_1_1solver_1_1continuation_a284b5f1f64852170370630726f9fd9e6}{continuation\+::default\+\_\+solver\+\_\+options}}()}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}} Continue a fixed-\/geometry model while preserving its prescribed displacement. \Hypertarget{namespaceserif_1_1solver_a795ce8d9efdc979d67d91cb56839fd1e}\index{serif::solver@{serif::solver}!continue\_equilibrium@{continue\_equilibrium}} \index{continue\_equilibrium@{continue\_equilibrium}!serif::solver@{serif::solver}} \doxysubsubsection{\texorpdfstring{continue\_equilibrium()}{continue\_equilibrium()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}} {\footnotesize\ttfamily \label{namespaceserif_1_1solver_a795ce8d9efdc979d67d91cb56839fd1e} template$<$typename Family, typename Factory, typename State, typename Options = Solver\+Options$<$$>$$>$ \newline requires std\+::copy\+\_\+constructible$<$Options$>$\\ auto serif\+::solver\+::continue\+\_\+equilibrium (\begin{DoxyParamCaption}\item[{const Family \&}]{family}{, }\item[{Factory}]{configure}{, }\item[{const State \&}]{initial\+\_\+state}{, }\item[{\mbox{\hyperlink{structserif_1_1solver_1_1continuation_1_1_options}{continuation\+::\+Options}}$<$ Family $>$}]{continuation\+\_\+options}{, }\item[{Options}]{solver\+\_\+options}{ = {\ttfamily \mbox{\hyperlink{namespaceserif_1_1solver_1_1continuation_a284b5f1f64852170370630726f9fd9e6}{continuation\+::default\+\_\+solver\+\_\+options}}()}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}} Continue moving-\/star equilibria through an explicitly declared physical family. \begin{DoxyParams}{Parameters} {\em configure} & 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. \\ \hline \end{DoxyParams} \begin{DoxyNote}{Note} The explicit factory supports move-\/only resource policies without inventing a mutable clone/context hierarchy. \end{DoxyNote} \Hypertarget{namespaceserif_1_1solver_a4ae15221b9aded0dc3ec787898984462}\index{serif::solver@{serif::solver}!next\_backtracking\_step@{next\_backtracking\_step}} \index{next\_backtracking\_step@{next\_backtracking\_step}!serif::solver@{serif::solver}} \doxysubsubsection{\texorpdfstring{next\_backtracking\_step()}{next\_backtracking\_step()}} {\footnotesize\ttfamily \label{namespaceserif_1_1solver_a4ae15221b9aded0dc3ec787898984462} double serif\+::solver\+::next\+\_\+backtracking\+\_\+step (\begin{DoxyParamCaption}\item[{double}]{rejected\+\_\+step}{, }\item[{double}]{accepted\+\_\+determinant}{, }\item[{double}]{rejected\+\_\+determinant}{, }\item[{bool}]{inverted}{, }\item[{const \mbox{\hyperlink{structserif_1_1solver_1_1_backtracking}{Backtracking}} \&}]{options}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}, {\ttfamily [noexcept]}} Skip only existing backtracking rungs when an inverted trial gives a finite boundary estimate. \Hypertarget{namespaceserif_1_1solver_ad1fa5c83c70e1b37311b7cf0ed4b88bd}\index{serif::solver@{serif::solver}!resume\_equilibrium@{resume\_equilibrium}} \index{resume\_equilibrium@{resume\_equilibrium}!serif::solver@{serif::solver}} \doxysubsubsection{\texorpdfstring{resume\_equilibrium()}{resume\_equilibrium()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily \label{namespaceserif_1_1solver_ad1fa5c83c70e1b37311b7cf0ed4b88bd} template$<$typename Configuration, typename Layout, typename Options = Solver\+Options$<$$>$, typename Observer = No\+Observer, utils\+::dependencies\+::\+Is\+Dependency\+Context Inputs = utils\+::dependencies\+::\+Dependency\+Context$<$$>$, typename Observer\+Factory = utils\+::dependencies\+::\+No\+Graph\+Observers$>$ \newline requires (!utils\+::dependencies\+::\+Contains\+Key$<$\mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients}{discretization\+::blocks\+::surface\+\_\+deformation\+::coefficients}}, typename Layout\+::\+Values$>$)\\ auto serif\+::solver\+::resume\+\_\+equilibrium (\begin{DoxyParamCaption}\item[{Configuration}]{configuration}{, }\item[{\mbox{\hyperlink{structserif_1_1solver_1_1_newton_checkpoint}{Newton\+Checkpoint}}$<$ \mbox{\hyperlink{structserif_1_1model_1_1_stellar_state}{model\+::\+Stellar\+State}}$<$ Layout $>$ $>$}]{checkpoint}{, }\item[{const \mbox{\hyperlink{namespaceserif_ab7690da8665e9d9bd2fa8e8534cd6e57}{Vector}} \&}]{displacement}{, }\item[{Options}]{options}{ = {\ttfamily \{\}}, }\item[{Observer}]{observer}{ = {\ttfamily \{\}}, }\item[{\mbox{\hyperlink{namespaceserif_1_1solver_aaee71b0914bfa77aeb37e494eab911bb}{Volume\+Options}}}]{volume\+\_\+options}{ = {\ttfamily \{\}}, }\item[{Inputs}]{prescribed}{ = {\ttfamily Inputs\{\}}, }\item[{Observer\+Factory}]{observer\+\_\+factory}{ = {\ttfamily \{\}}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}} Continue a fixed-\/geometry checkpoint with its separately restored prescribed displacement. \begin{DoxyNote}{Note} 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. \end{DoxyNote} \Hypertarget{namespaceserif_1_1solver_a2698b5ef612716179bbd0f1498cc4cec}\index{serif::solver@{serif::solver}!resume\_equilibrium@{resume\_equilibrium}} \index{resume\_equilibrium@{resume\_equilibrium}!serif::solver@{serif::solver}} \doxysubsubsection{\texorpdfstring{resume\_equilibrium()}{resume\_equilibrium()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily \label{namespaceserif_1_1solver_a2698b5ef612716179bbd0f1498cc4cec} template$<$typename Configuration, typename Layout, typename Options = Solver\+Options$<$$>$, typename Observer = No\+Observer, utils\+::dependencies\+::\+Is\+Dependency\+Context Inputs = utils\+::dependencies\+::\+Dependency\+Context$<$$>$, typename Observer\+Factory = utils\+::dependencies\+::\+No\+Graph\+Observers$>$ \newline requires utils\+::dependencies\+::\+Contains\+Key$<$\mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients}{discretization\+::blocks\+::surface\+\_\+deformation\+::coefficients}}, typename Layout\+::\+Values$>$\\ auto serif\+::solver\+::resume\+\_\+equilibrium (\begin{DoxyParamCaption}\item[{Configuration}]{configuration}{, }\item[{\mbox{\hyperlink{structserif_1_1solver_1_1_newton_checkpoint}{Newton\+Checkpoint}}$<$ \mbox{\hyperlink{structserif_1_1model_1_1_stellar_state}{model\+::\+Stellar\+State}}$<$ Layout $>$ $>$}]{checkpoint}{, }\item[{Options}]{options}{ = {\ttfamily \{\}}, }\item[{Observer}]{observer}{ = {\ttfamily \{\}}, }\item[{\mbox{\hyperlink{namespaceserif_1_1solver_aaee71b0914bfa77aeb37e494eab911bb}{Volume\+Options}}}]{volume\+\_\+options}{ = {\ttfamily \{\}}, }\item[{Inputs}]{prescribed}{ = {\ttfamily Inputs\{\}}, }\item[{Observer\+Factory}]{observer\+\_\+factory}{ = {\ttfamily \{\}}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}} Continue a moving-\/star checkpoint using reconstructed physical and numerical configuration. \begin{DoxyNote}{Note} 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. \end{DoxyNote} \Hypertarget{namespaceserif_1_1solver_aa3cdbadff61a171e313e316fdf26909d}\index{serif::solver@{serif::solver}!resume\_newton@{resume\_newton}} \index{resume\_newton@{resume\_newton}!serif::solver@{serif::solver}} \doxysubsubsection{\texorpdfstring{resume\_newton()}{resume\_newton()}} {\footnotesize\ttfamily \label{namespaceserif_1_1solver_aa3cdbadff61a171e313e316fdf26909d} template$<$typename Problem, typename State, typename Options = Solver\+Options$<$$>$, typename Observer = No\+Observer$>$ \newline requires detail\+::\+Newton\+Strategy\+For$<$Problem, State, Options$>$\\ auto serif\+::solver\+::resume\+\_\+newton (\begin{DoxyParamCaption}\item[{Problem \&}]{problem}{, }\item[{\mbox{\hyperlink{structserif_1_1solver_1_1_newton_checkpoint}{Newton\+Checkpoint}}$<$ State $>$}]{checkpoint}{, }\item[{Options}]{options}{ = {\ttfamily \{\}}, }\item[{Observer}]{observer}{ = {\ttfamily \{\}}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}} Resume the original convergence reference, correction reuse, and cumulative work budget. \Hypertarget{namespaceserif_1_1solver_aabb49f9d871887898b5f5001ff33b4bf}\index{serif::solver@{serif::solver}!solve\_equilibrium@{solve\_equilibrium}} \index{solve\_equilibrium@{solve\_equilibrium}!serif::solver@{serif::solver}} \doxysubsubsection{\texorpdfstring{solve\_equilibrium()}{solve\_equilibrium()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily \label{namespaceserif_1_1solver_aabb49f9d871887898b5f5001ff33b4bf} template$<$typename Configuration, typename Layout, typename Options = Solver\+Options$<$$>$, typename Observer = No\+Observer, utils\+::dependencies\+::\+Is\+Dependency\+Context Inputs = utils\+::dependencies\+::\+Dependency\+Context$<$$>$, typename Observer\+Factory = utils\+::dependencies\+::\+No\+Graph\+Observers$>$ \newline requires (!utils\+::dependencies\+::\+Contains\+Key$<$\mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients}{discretization\+::blocks\+::surface\+\_\+deformation\+::coefficients}}, typename Layout\+::\+Values$>$)\\ auto serif\+::solver\+::solve\+\_\+equilibrium (\begin{DoxyParamCaption}\item[{Configuration}]{configuration}{, }\item[{\mbox{\hyperlink{structserif_1_1model_1_1_stellar_state}{model\+::\+Stellar\+State}}$<$ Layout $>$}]{initial\+\_\+state}{, }\item[{const \mbox{\hyperlink{namespaceserif_ab7690da8665e9d9bd2fa8e8534cd6e57}{Vector}} \&}]{displacement}{, }\item[{Options}]{options}{ = {\ttfamily \{\}}, }\item[{Observer}]{observer}{ = {\ttfamily \{\}}, }\item[{\mbox{\hyperlink{namespaceserif_1_1solver_aaee71b0914bfa77aeb37e494eab911bb}{Volume\+Options}}}]{volume\+\_\+options}{ = {\ttfamily \{\}}, }\item[{Inputs}]{prescribed}{ = {\ttfamily Inputs\{\}}, }\item[{Observer\+Factory}]{observer\+\_\+factory}{ = {\ttfamily \{\}}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}} Solve a fixed-\/geometry model with prescribed displacement outside its unknown vector. \begin{DoxyNote}{Note} 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. \end{DoxyNote} \Hypertarget{namespaceserif_1_1solver_a2e9de7691387f8b6f7ee258e6516da7d}\index{serif::solver@{serif::solver}!solve\_equilibrium@{solve\_equilibrium}} \index{solve\_equilibrium@{solve\_equilibrium}!serif::solver@{serif::solver}} \doxysubsubsection{\texorpdfstring{solve\_equilibrium()}{solve\_equilibrium()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily \label{namespaceserif_1_1solver_a2e9de7691387f8b6f7ee258e6516da7d} template$<$typename Configuration, typename Layout, typename Options = Solver\+Options$<$$>$, typename Observer = No\+Observer, utils\+::dependencies\+::\+Is\+Dependency\+Context Inputs = utils\+::dependencies\+::\+Dependency\+Context$<$$>$, typename Observer\+Factory = utils\+::dependencies\+::\+No\+Graph\+Observers$>$ \newline requires utils\+::dependencies\+::\+Contains\+Key$<$\mbox{\hyperlink{structserif_1_1discretization_1_1blocks_1_1surface__deformation_1_1coefficients}{discretization\+::blocks\+::surface\+\_\+deformation\+::coefficients}}, typename Layout\+::\+Values$>$\\ auto serif\+::solver\+::solve\+\_\+equilibrium (\begin{DoxyParamCaption}\item[{Configuration}]{configuration}{, }\item[{\mbox{\hyperlink{structserif_1_1model_1_1_stellar_state}{model\+::\+Stellar\+State}}$<$ Layout $>$}]{initial\+\_\+state}{, }\item[{Options}]{options}{ = {\ttfamily \{\}}, }\item[{Observer}]{observer}{ = {\ttfamily \{\}}, }\item[{\mbox{\hyperlink{namespaceserif_1_1solver_aaee71b0914bfa77aeb37e494eab911bb}{Volume\+Options}}}]{volume\+\_\+options}{ = {\ttfamily \{\}}, }\item[{Inputs}]{prescribed}{ = {\ttfamily Inputs\{\}}, }\item[{Observer\+Factory}]{observer\+\_\+factory}{ = {\ttfamily \{\}}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}} Solve a moving star from an owning physical initial state. \begin{DoxyNote}{Note} 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\textquotesingle{}s MPI runtime before using a recipe containing Hypre AMG. The optional final observer factory measures graph work separately from physics and solver history. \end{DoxyNote} \Hypertarget{namespaceserif_1_1solver_a50d481ced4213cc6414d163eff898df9}\index{serif::solver@{serif::solver}!solve\_newton@{solve\_newton}} \index{solve\_newton@{solve\_newton}!serif::solver@{serif::solver}} \doxysubsubsection{\texorpdfstring{solve\_newton()}{solve\_newton()}} {\footnotesize\ttfamily \label{namespaceserif_1_1solver_a50d481ced4213cc6414d163eff898df9} template$<$typename Problem, typename State, typename Options = Solver\+Options$<$$>$, typename Observer = No\+Observer$>$ \newline requires detail\+::\+Newton\+Strategy\+For$<$Problem, State, Options$>$\\ auto serif\+::solver\+::solve\+\_\+newton (\begin{DoxyParamCaption}\item[{Problem \&}]{problem}{, }\item[{State}]{initial\+\_\+state}{, }\item[{Options}]{options}{ = {\ttfamily \{\}}, }\item[{Observer}]{observer}{ = {\ttfamily \{\}}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}} Solve a custom numerical problem using its native \doxylink{namespaceserif_ab7690da8665e9d9bd2fa8e8534cd6e57}{Vector}, evaluate, prepare and solve\+\_\+linear operations. \begin{DoxyNote}{Note} Strategies here are executable numerical methods; solve\+\_\+equilibrium uses the same strategies. \end{DoxyNote} \Hypertarget{namespaceserif_1_1solver_aba8609bba7520feb62263d06def641e5}\index{serif::solver@{serif::solver}!validate\_newton\_progress@{validate\_newton\_progress}} \index{validate\_newton\_progress@{validate\_newton\_progress}!serif::solver@{serif::solver}} \doxysubsubsection{\texorpdfstring{validate\_newton\_progress()}{validate\_newton\_progress()}} {\footnotesize\ttfamily \label{namespaceserif_1_1solver_aba8609bba7520feb62263d06def641e5} std\+::optional$<$ std\+::string $>$ serif\+::solver\+::validate\+\_\+newton\+\_\+progress (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structserif_1_1solver_1_1_newton_progress}{Newton\+Progress}} \&}]{progress}{, }\item[{const std\+::size\+\_\+t}]{state\+\_\+size}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [nodiscard]}} Reject incomplete or inconsistent imported history before preparing any runtime operators.