#include <PointSolver.h>
|
| | PointSolverTimestepContext (double t, const N_Vector &state, double dt, double last_step_time, double t9, double rho, size_t num_steps, const engine::DynamicEngine &engine, const std::vector< fourdst::atomic::Species > &networkSpecies, size_t currentConvergenceFailure, size_t currentNonlinearIterations, const std::map< fourdst::atomic::Species, std::unordered_map< std::string, double > > &reactionContributionMap, engine::scratch::StateBlob &state_ctx) |
| |
| std::vector< std::tuple< std::string, std::string > > | describe () const override |
| | Describe the context for callback functions.
|
| |
| fourdst::composition::Composition | getPhysicalComposition () const |
| |
| std::span< const double > | rawState () const |
| | Zero-copy view of the raw solver state vector.
|
| |
| double | abundance (size_t species_index) const |
| | Abundance of the species at species_index (solver state indexing).
|
| |
| std::optional< double > | abundance (const fourdst::atomic::Species &sp) const |
| | Abundance of sp, or std::nullopt if it is not in the active network.
|
| |
| double | accumulatedSpecificEnergy () const |
| | Accumulated specific energy [erg/g] (the trailing state entry).
|
| |
| virtual | ~TimestepContextBase ()=default |
| |
◆ PointSolverTimestepContext()
| gridfire::solver::PointSolverTimestepContext::PointSolverTimestepContext |
( |
double | t, |
|
|
const N_Vector & | state, |
|
|
double | dt, |
|
|
double | last_step_time, |
|
|
double | t9, |
|
|
double | rho, |
|
|
size_t | num_steps, |
|
|
const engine::DynamicEngine & | engine, |
|
|
const std::vector< fourdst::atomic::Species > & | networkSpecies, |
|
|
size_t | currentConvergenceFailure, |
|
|
size_t | currentNonlinearIterations, |
|
|
const std::map< fourdst::atomic::Species, std::unordered_map< std::string, double > > & | reactionContributionMap, |
|
|
engine::scratch::StateBlob & | state_ctx ) |
◆ abundance() [1/2]
| std::optional< double > gridfire::solver::PointSolverTimestepContext::abundance |
( |
const fourdst::atomic::Species & | sp | ) |
const |
|
nodiscard |
Abundance of sp, or std::nullopt if it is not in the active network.
◆ abundance() [2/2]
| double gridfire::solver::PointSolverTimestepContext::abundance |
( |
size_t | species_index | ) |
const |
|
nodiscard |
Abundance of the species at species_index (solver state indexing).
◆ accumulatedSpecificEnergy()
| double gridfire::solver::PointSolverTimestepContext::accumulatedSpecificEnergy |
( |
| ) |
const |
|
nodiscard |
Accumulated specific energy [erg/g] (the trailing state entry).
◆ describe()
| std::vector< std::tuple< std::string, std::string > > gridfire::solver::PointSolverTimestepContext::describe |
( |
| ) |
const |
|
nodiscardoverridevirtual |
Describe the context for callback functions.
- Returns
- A vector of tuples, each containing a string for the parameters name and a string for its type.
This method should be overridden by derived classes to provide a description of the context that will be passed to the callback function. The intent of this method is that an end user can investigate the context that will be passed to the callback function, and use this information to craft their own callback function.
Implements gridfire::solver::TimestepContextBase.
◆ getPhysicalComposition()
| fourdst::composition::Composition gridfire::solver::PointSolverTimestepContext::getPhysicalComposition |
( |
| ) |
const |
|
nodiscard |
◆ rawState()
| std::span< const double > gridfire::solver::PointSolverTimestepContext::rawState |
( |
| ) |
const |
|
nodiscard |
Zero-copy view of the raw solver state vector.
Layout: [y_0, ..., y_{N-1}, eps] where y_i are molar abundances in networkSpecies order and eps is the accumulated specific energy. The view is only valid for the duration of the callback.
◆ current_neutrino_energy_loss_rate
| double gridfire::solver::PointSolverTimestepContext::current_neutrino_energy_loss_rate = 0.0 |
Current neutrino energy loss rate [erg/g/s].
◆ current_total_energy
| double gridfire::solver::PointSolverTimestepContext::current_total_energy = 0.0 |
Current energy generation rate [erg/g/s].
◆ currentConvergenceFailures
| const size_t gridfire::solver::PointSolverTimestepContext::currentConvergenceFailures |
Total number of convergence failures.
◆ currentNonlinearIterations
| const size_t gridfire::solver::PointSolverTimestepContext::currentNonlinearIterations |
Total number of non-linear iterations.
◆ dt
| const double gridfire::solver::PointSolverTimestepContext::dt |
◆ engine
◆ last_step_time
| const double gridfire::solver::PointSolverTimestepContext::last_step_time |
Time at last callback [s].
◆ networkSpecies
| const std::vector<fourdst::atomic::Species>& gridfire::solver::PointSolverTimestepContext::networkSpecies |
◆ num_steps
| const size_t gridfire::solver::PointSolverTimestepContext::num_steps |
Number of CVODE steps taken so far.
◆ reactionContributionMap
| const std::map<fourdst::atomic::Species, std::unordered_map<std::string, double> >& gridfire::solver::PointSolverTimestepContext::reactionContributionMap |
Map of reaction contributions for the current step.
◆ rho
| const double gridfire::solver::PointSolverTimestepContext::rho |
◆ state
| const N_Vector& gridfire::solver::PointSolverTimestepContext::state |
Current CVODE state vector (N_Vector).
◆ state_ctx
Reference to the engine scratch state blob.
| const double gridfire::solver::PointSolverTimestepContext::t |
Current integration time [s].
◆ T9
| const double gridfire::solver::PointSolverTimestepContext::T9 |
The documentation for this struct was generated from the following files: