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 PointSolver * | solver_instance {}
PointSolverContext * | sctx
engine::scratch::StateBlob & | ctx
const engine::DynamicEngine * | engine {}
double | T9 {}
double | rho {}
double | energy {}
const std::vector< fourdst::atomic::Species > * | networkSpecies {}
std::unique_ptr< exceptions::EngineError > | captured_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:

- src/include/gridfire/solver/strategies/PointSolver.h