GridFire v0.7.6rc4.0
General Purpose Nuclear Network
Loading...
Searching...
No Matches
gridfire::solver::PointSolverContext Struct Referencefinal

#include <PointSolver.h>

Inheritance diagram for gridfire::solver::PointSolverContext:
[legend]
Collaboration diagram for gridfire::solver::PointSolverContext:
[legend]

Public Member Functions

void init () override
 
void set_stdout_logging (bool enable) override
 
void set_detailed_logging (bool enable) override
 
void reset_all ()
 
void reset_user ()
 
void reset_cvode ()
 
void clear_context ()
 
void init_context ()
 
bool has_context () const
 
 PointSolverContext (const engine::scratch::StateBlob &engine_ctx)
 
 ~PointSolverContext () override
 
- Public Member Functions inherited from gridfire::solver::SolverContextBase
virtual ~SolverContextBase ()=default
 

Public Attributes

SUNContext sun_ctx = nullptr
 SUNDIALS context (lifetime of the solver).
 
void * cvode_mem = nullptr
 CVODE memory block.
 
N_Vector Y = nullptr
 CVODE state vector (species + energy accumulator).
 
N_Vector YErr = nullptr
 Estimated local errors.
 
SUNMatrix J = nullptr
 Dense Jacobian matrix.
 
SUNLinearSolver LS = nullptr
 Dense linear solver.
 
std::unique_ptr< engine::scratch::StateBlobengine_ctx
 
std::optional< TimestepCallbackcallback
 Optional per-step callback.
 
int num_steps = 0
 CVODE step counter (used for diagnostics and triggers).
 
bool stdout_logging = true
 If true, print per-step logs and use CV_ONE_STEP.
 
N_Vector constraints = nullptr
 CVODE constraints vector (>= 0 for species entries).
 
std::optional< double > abs_tol
 User-specified absolute tolerance.
 
std::optional< double > rel_tol
 User-specified relative tolerance.
 
bool detailed_step_logging = false
 If true, log detailed step diagnostics (error ratios, Jacobian, species balance).
 
size_t last_size = 0
 
size_t last_composition_hash = 0ULL
 
sunrealtype last_good_time_step = 0ULL
 

Constructor & Destructor Documentation

◆ PointSolverContext()

gridfire::solver::PointSolverContext::PointSolverContext ( const engine::scratch::StateBlob & engine_ctx)
explicit

◆ ~PointSolverContext()

gridfire::solver::PointSolverContext::~PointSolverContext ( )
override

Member Function Documentation

◆ clear_context()

void gridfire::solver::PointSolverContext::clear_context ( )

◆ has_context()

bool gridfire::solver::PointSolverContext::has_context ( ) const
nodiscard

◆ init()

void gridfire::solver::PointSolverContext::init ( )
overridevirtual

◆ init_context()

void gridfire::solver::PointSolverContext::init_context ( )

◆ reset_all()

void gridfire::solver::PointSolverContext::reset_all ( )

◆ reset_cvode()

void gridfire::solver::PointSolverContext::reset_cvode ( )

◆ reset_user()

void gridfire::solver::PointSolverContext::reset_user ( )

◆ set_detailed_logging()

void gridfire::solver::PointSolverContext::set_detailed_logging ( bool enable)
overridevirtual

◆ set_stdout_logging()

void gridfire::solver::PointSolverContext::set_stdout_logging ( bool enable)
overridevirtual

Member Data Documentation

◆ abs_tol

std::optional<double> gridfire::solver::PointSolverContext::abs_tol

User-specified absolute tolerance.

◆ callback

std::optional<TimestepCallback> gridfire::solver::PointSolverContext::callback

Optional per-step callback.

◆ constraints

N_Vector gridfire::solver::PointSolverContext::constraints = nullptr

CVODE constraints vector (>= 0 for species entries).

◆ cvode_mem

void* gridfire::solver::PointSolverContext::cvode_mem = nullptr

CVODE memory block.

◆ detailed_step_logging

bool gridfire::solver::PointSolverContext::detailed_step_logging = false

If true, log detailed step diagnostics (error ratios, Jacobian, species balance).

◆ engine_ctx

std::unique_ptr<engine::scratch::StateBlob> gridfire::solver::PointSolverContext::engine_ctx

◆ J

SUNMatrix gridfire::solver::PointSolverContext::J = nullptr

Dense Jacobian matrix.

◆ last_composition_hash

size_t gridfire::solver::PointSolverContext::last_composition_hash = 0ULL

◆ last_good_time_step

sunrealtype gridfire::solver::PointSolverContext::last_good_time_step = 0ULL

◆ last_size

size_t gridfire::solver::PointSolverContext::last_size = 0

◆ LS

SUNLinearSolver gridfire::solver::PointSolverContext::LS = nullptr

Dense linear solver.

◆ num_steps

int gridfire::solver::PointSolverContext::num_steps = 0

CVODE step counter (used for diagnostics and triggers).

◆ rel_tol

std::optional<double> gridfire::solver::PointSolverContext::rel_tol

User-specified relative tolerance.

◆ stdout_logging

bool gridfire::solver::PointSolverContext::stdout_logging = true

If true, print per-step logs and use CV_ONE_STEP.

◆ sun_ctx

SUNContext gridfire::solver::PointSolverContext::sun_ctx = nullptr

SUNDIALS context (lifetime of the solver).

◆ Y

N_Vector gridfire::solver::PointSolverContext::Y = nullptr

CVODE state vector (species + energy accumulator).

◆ YErr

N_Vector gridfire::solver::PointSolverContext::YErr = nullptr

Estimated local errors.


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