GridFire v0.7.1_rc2
General Purpose Nuclear Network
Loading...
Searching...
No Matches
gridfire::solver::CVODESolverStrategy::CVODEUserData Struct Reference

A helper struct to pass C++ context to C-style CVODE callbacks. More...

Collaboration diagram for gridfire::solver::CVODESolverStrategy::CVODEUserData:
[legend]

Public Attributes

CVODESolverStrategysolver_instance {}
 
engine::DynamicEngineengine {}
 
double T9 {}
 
double rho {}
 
double energy {}
 
const std::vector< fourdst::atomic::Species > * networkSpecies {}
 
std::unique_ptr< exceptions::EngineErrorcaptured_exception = nullptr
 
std::optional< std::map< fourdst::atomic::Species, std::unordered_map< std::string, double > > > reaction_contribution_map
 
double neutrino_energy_loss_rate = 0.0
 
double total_neutrino_flux = 0.0
 

Detailed Description

A helper struct to pass C++ context to C-style CVODE callbacks.

Carries pointers back to the solver instance and engine, the current thermodynamic state, energy accumulator, and a slot to capture a copy of exceptions::StaleEngineTrigger from RHS evaluation. The RHS wrapper treats this as a recoverable failure and returns 1 to CVODE, then the driver loop inspects and rethrows.

Member Data Documentation

◆ captured_exception

std::unique_ptr<exceptions::EngineError> gridfire::solver::CVODESolverStrategy::CVODEUserData::captured_exception = nullptr

◆ energy

double gridfire::solver::CVODESolverStrategy::CVODEUserData::energy {}

◆ engine

engine::DynamicEngine* gridfire::solver::CVODESolverStrategy::CVODEUserData::engine {}

◆ networkSpecies

const std::vector<fourdst::atomic::Species>* gridfire::solver::CVODESolverStrategy::CVODEUserData::networkSpecies {}

◆ neutrino_energy_loss_rate

double gridfire::solver::CVODESolverStrategy::CVODEUserData::neutrino_energy_loss_rate = 0.0

◆ reaction_contribution_map

std::optional<std::map<fourdst::atomic::Species, std::unordered_map<std::string, double> > > gridfire::solver::CVODESolverStrategy::CVODEUserData::reaction_contribution_map

◆ rho

double gridfire::solver::CVODESolverStrategy::CVODEUserData::rho {}

◆ solver_instance

CVODESolverStrategy* gridfire::solver::CVODESolverStrategy::CVODEUserData::solver_instance {}

◆ T9

double gridfire::solver::CVODESolverStrategy::CVODEUserData::T9 {}

◆ total_neutrino_flux

double gridfire::solver::CVODESolverStrategy::CVODEUserData::total_neutrino_flux = 0.0

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