Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
50 lines
5.5 KiB
TeX
50 lines
5.5 KiB
TeX
\doxysection{src/include/serif/solver/nonlinear/steps.hpp File Reference}
|
|
\hypertarget{steps_8hpp}{}\label{steps_8hpp}\index{src/include/serif/solver/nonlinear/steps.hpp@{src/include/serif/solver/nonlinear/steps.hpp}}
|
|
{\ttfamily \#include $<$limits$>$}\newline
|
|
{\ttfamily \#include "{}serif/solver/nonlinear/qualification.\+hpp"{}}\newline
|
|
Include dependency graph for steps.\+hpp\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=350pt]{steps_8hpp__incl}
|
|
\end{center}
|
|
\end{figure}
|
|
This graph shows which files directly or indirectly include this file\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=350pt]{steps_8hpp__dep__incl}
|
|
\end{center}
|
|
\end{figure}
|
|
\doxysubsubsection*{Classes}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1detail_1_1_initial_evaluation}{serif\+::solver\+::detail\+::\+Initial\+Evaluation$<$ System $>$}}
|
|
\begin{DoxyCompactList}\small\item\em Keep a freshly qualified metric beside the exact system from which it was measured. \end{DoxyCompactList}\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1detail_1_1_qualified_step}{serif\+::solver\+::detail\+::\+Qualified\+Step$<$ State, System, Prepared $>$}}
|
|
\begin{DoxyCompactList}\small\item\em Own a qualified trial; a terminal root deliberately has no prepared inverse. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
|
\doxysubsubsection*{Namespaces}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif}{serif}}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1solver}{serif\+::solver}}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1detail}{serif\+::solver\+::detail}}
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsubsection*{Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
void \mbox{\hyperlink{namespaceserif_1_1solver_1_1detail_a07717377a241ffd25e63aa977ff4f554}{serif\+::solver\+::detail\+::validate\+\_\+start}} (const auto \&options, const std\+::optional$<$ \mbox{\hyperlink{structserif_1_1solver_1_1_newton_progress}{Newton\+Progress}} $>$ \&restart, std\+::size\+\_\+t size)
|
|
\begin{DoxyCompactList}\small\item\em Validate controls and restored history before any physical preparation. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename Problem$>$ }\\std\+::expected$<$ \mbox{\hyperlink{structserif_1_1solver_1_1detail_1_1_initial_evaluation}{Initial\+Evaluation}}$<$ typename Problem\+::\+System $>$, \mbox{\hyperlink{structserif_1_1solver_1_1detail_1_1_newton_failure}{Newton\+Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1solver_1_1detail_a6791c39e3a55c271764d9926c97956e0}{serif\+::solver\+::detail\+::evaluate\+\_\+start}} (Problem \&problem, auto \&state, auto \&options, const std\+::optional$<$ \mbox{\hyperlink{structserif_1_1solver_1_1_newton_progress}{Newton\+Progress}} $>$ \&restart, \mbox{\hyperlink{structserif_1_1solver_1_1_solve_diagnostics}{Solve\+Diagnostics}} \&diagnostics)
|
|
\begin{DoxyCompactList}\small\item\em Qualify the initial state and verify a restart against its original convergence reference. \end{DoxyCompactList}\item
|
|
std\+::expected$<$ \mbox{\hyperlink{structserif_1_1solver_1_1_direction_assessment}{Direction\+Assessment}}, \mbox{\hyperlink{structserif_1_1solver_1_1detail_1_1_newton_failure}{Newton\+Failure}} $>$ \mbox{\hyperlink{namespaceserif_1_1solver_1_1detail_a5961bb80a48f170cb4e90a77dcb039ec}{serif\+::solver\+::detail\+::compute\+\_\+direction}} (auto \&problem, const auto \&\mbox{\hyperlink{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a3e4d891a5df3d6d0d7dd9432a1bc6470}{accepted}}, const auto \&prepared, auto \&options, \mbox{\hyperlink{structserif_1_1solver_1_1_solve_diagnostics}{Solve\+Diagnostics}} \&diagnostics, auto \&rhs, auto \&correction, std\+::span$<$ double $>$ physical\+\_\+direction)
|
|
\begin{DoxyCompactList}\small\item\em Solve and qualify a normalized correction before exposing its physical direction to backtracking. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename Problem, typename State, typename System, typename Model$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1solver_1_1detail_ad9c44d75fd77ec596f5d512dc3508bd1}{serif\+::solver\+::detail\+::find\+\_\+acceptable\+\_\+step}} (Problem \&problem, const \mbox{\hyperlink{classserif_1_1solver_1_1_solve_result}{Solve\+Result}}$<$ State, System, Model $>$ \&\mbox{\hyperlink{namespaceserif_1_1solver_a6fa8bbc306fbf990b16ade9fb7771464a3e4d891a5df3d6d0d7dd9432a1bc6470}{accepted}}, \mbox{\hyperlink{structserif_1_1solver_1_1_metric_evaluation}{Metric\+Evaluation}} accepted\+\_\+metric, const auto \&correction, std\+::span$<$ const double $>$ physical\+\_\+direction, const \mbox{\hyperlink{structserif_1_1solver_1_1_direction_assessment}{Direction\+Assessment}} \&direction, double step, auto \&options, \mbox{\hyperlink{structserif_1_1solver_1_1_solve_diagnostics}{Solve\+Diagnostics}} \&diagnostics, auto \&observation)
|
|
\begin{DoxyCompactList}\small\item\em Find a safe, sufficiently decreasing candidate without changing the accepted state. \end{DoxyCompactList}\item
|
|
void \mbox{\hyperlink{namespaceserif_1_1solver_1_1detail_a94057867583afc7737886a2cc9cb27d3}{serif\+::solver\+::detail\+::save\+\_\+progress}} (auto \&result, auto \&options, \mbox{\hyperlink{structserif_1_1solver_1_1_solve_diagnostics}{Solve\+Diagnostics}} \&diagnostics, \mbox{\hyperlink{structserif_1_1solver_1_1_metric_evaluation}{Metric\+Evaluation}} metric, std\+::span$<$ const double $>$ correction, double next\+\_\+step)
|
|
\begin{DoxyCompactList}\small\item\em Snapshot only fully committed numerical history; reporting has no influence on restart. \end{DoxyCompactList}\end{DoxyCompactItemize}
|