GridFire v0.7.6rc4.0
General Purpose Nuclear Network
Loading...
Searching...
No Matches
gridfire::solver::PointSolver::CVODEUserData Struct Reference

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

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

Public Attributes

const PointSolversolver_instance {}
 
PointSolverContextsctx
 
engine::scratch::StateBlobctx
 
const 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::PointSolver::CVODEUserData::captured_exception = nullptr

◆ ctx

engine::scratch::StateBlob& gridfire::solver::PointSolver::CVODEUserData::ctx

◆ energy

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

◆ engine

const engine::DynamicEngine* gridfire::solver::PointSolver::CVODEUserData::engine {}

◆ networkSpecies

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

◆ neutrino_energy_loss_rate

double gridfire::solver::PointSolver::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::PointSolver::CVODEUserData::reaction_contribution_map

◆ rho

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

◆ sctx

PointSolverContext* gridfire::solver::PointSolver::CVODEUserData::sctx

◆ solver_instance

const PointSolver* gridfire::solver::PointSolver::CVODEUserData::solver_instance {}

◆ T9

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

◆ total_neutrino_flux

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

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