SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::utils::serialize::Serializer< solver::SolveDiagnostics > Struct Reference

Store bounded numerical history as named data, without runtime operators or graph caches. More...

#include <solver.hpp>

Inheritance diagram for serif::utils::serialize::Serializer< solver::SolveDiagnostics >:
[legend]
Collaboration diagram for serif::utils::serialize::Serializer< solver::SolveDiagnostics >:
[legend]

Public Types

using T = solver::SolveDiagnostics
 

Static Public Member Functions

static Node save (const T &diagnostics)
 Keep version-one readers usable without making timing part of numerical history.
 
- Static Public Member Functions inherited from serif::utils::serialize::StructSerializer< solver::SolveDiagnostics >
static Node save (const solver::SolveDiagnostics &value)
 Delegate each named field to its own serializer.
 
static Result< solver::SolveDiagnostics > load (const Node &node)
 Reconstruct only after every named field has decoded successfully.
 

Static Public Attributes

static constexpr std::string_view key = "solve_diagnostics"
 
static constexpr auto members
 

Detailed Description

Store bounded numerical history as named data, without runtime operators or graph caches.

Member Typedef Documentation

◆ T

Member Function Documentation

◆ save()

static Node serif::utils::serialize::Serializer< solver::SolveDiagnostics >::save ( const T & diagnostics)
inlinestatic

Keep version-one readers usable without making timing part of numerical history.

Note
Legacy elapsed fields are emitted as zero (unmeasured). New readers ignore them; applications may archive observer measurements separately as named metadata.

Member Data Documentation

◆ key

std::string_view serif::utils::serialize::Serializer< solver::SolveDiagnostics >::key = "solve_diagnostics"
staticconstexpr

◆ members

Initial value:
= std::tuple{
member_field("attempted_iterations", &T::attempted_iterations),
member_field("accepted_iterations", &T::accepted_iterations), member_field("line_search_trials", &T::line_search_trials),
member_field("rejected_trials", &T::rejected_trials), member_field("geometry_limited_iterations", &T::geometry_limited_iterations),
member_field("total_linear_iterations", &T::total_linear_iterations), member_field("initial_residual_norm", &T::initial_residual_norm),
member_field("final_residual_norm", &T::final_residual_norm), member_field("convergence_threshold", &T::convergence_threshold),
member_field("last_linear_solve", &T::last_linear_solve), member_field("last_geometry_preflight", &T::last_geometry_preflight),
member_field("last_accepted_step", &T::last_accepted_step)}
constexpr auto member_field(std::string_view name, Value Owner::*pointer)
Deduce a member's stored type from its ordinary C++ declaration.
Definition components.hpp:20
std::optional< linear::Report > last_linear_solve
Definition result.hpp:32
int accepted_iterations
Definition result.hpp:24
int geometry_limited_iterations
Definition result.hpp:27
int total_linear_iterations
Definition result.hpp:28
double last_accepted_step
Definition result.hpp:34
int attempted_iterations
Definition result.hpp:23
int line_search_trials
Definition result.hpp:25
int rejected_trials
Definition result.hpp:26
std::optional< double > final_residual_norm
Definition result.hpp:30
std::optional< geometry::deformation::GeometryStepLimit > last_geometry_preflight
Definition result.hpp:33
std::optional< double > convergence_threshold
Definition result.hpp:31
double initial_residual_norm
Definition linear.hpp:42

The documentation for this struct was generated from the following file: