SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
steps.hpp File Reference
#include <limits>
#include "serif/solver/nonlinear/qualification.hpp"
Include dependency graph for steps.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  serif::solver::detail::InitialEvaluation< System >
 Keep a freshly qualified metric beside the exact system from which it was measured. More...
 
struct  serif::solver::detail::QualifiedStep< State, System, Prepared >
 Own a qualified trial; a terminal root deliberately has no prepared inverse. More...
 

Namespaces

namespace  serif
 
namespace  serif::solver
 
namespace  serif::solver::detail
 

Functions

void serif::solver::detail::validate_start (const auto &options, const std::optional< NewtonProgress > &restart, std::size_t size)
 Validate controls and restored history before any physical preparation.
 
template<typename Problem>
std::expected< InitialEvaluation< typename Problem::System >, NewtonFailure > serif::solver::detail::evaluate_start (Problem &problem, auto &state, auto &options, const std::optional< NewtonProgress > &restart, SolveDiagnostics &diagnostics)
 Qualify the initial state and verify a restart against its original convergence reference.
 
std::expected< DirectionAssessment, NewtonFailure > serif::solver::detail::compute_direction (auto &problem, const auto &accepted, const auto &prepared, auto &options, SolveDiagnostics &diagnostics, auto &rhs, auto &correction, std::span< double > physical_direction)
 Solve and qualify a normalized correction before exposing its physical direction to backtracking.
 
template<typename Problem, typename State, typename System, typename Model>
auto serif::solver::detail::find_acceptable_step (Problem &problem, const SolveResult< State, System, Model > &accepted, MetricEvaluation accepted_metric, const auto &correction, std::span< const double > physical_direction, const DirectionAssessment &direction, double step, auto &options, SolveDiagnostics &diagnostics, auto &observation)
 Find a safe, sufficiently decreasing candidate without changing the accepted state.
 
void serif::solver::detail::save_progress (auto &result, auto &options, SolveDiagnostics &diagnostics, MetricEvaluation metric, std::span< const double > correction, double next_step)
 Snapshot only fully committed numerical history; reporting has no influence on restart.