GridFire 0.0.1a
General Purpose Nuclear Network
|
Abstract base class for a reaction network engine. More...
#include <engine_abstract.h>
Public Member Functions | |
virtual | ~Engine ()=default |
Virtual destructor. | |
virtual const std::vector< fourdst::atomic::Species > & | getNetworkSpecies () const =0 |
Get the list of species in the network. | |
virtual StepDerivatives< double > | calculateRHSAndEnergy (const std::vector< double > &Y, double T9, double rho) const =0 |
Calculate the right-hand side (dY/dt) and energy generation. | |
Abstract base class for a reaction network engine.
This class defines the minimal interface for a reaction network engine, which is responsible for evaluating the right-hand side (dY/dt) and energy generation for a given set of abundances, temperature, and density.
Intended usage: Derive from this class to implement a concrete engine for a specific network or integration method.
Example:
Definition at line 75 of file engine_abstract.h.
|
virtualdefault |
Virtual destructor.
|
nodiscardpure virtual |
Calculate the right-hand side (dY/dt) and energy generation.
Y | Vector of current abundances for all species. |
T9 | Temperature in units of 10^9 K. |
rho | Density in g/cm^3. |
This function must be implemented by derived classes to compute the time derivatives of all species and the specific nuclear energy generation rate for the current state.
Implemented in gridfire::AdaptiveEngineView, gridfire::FileDefinedEngineView, and gridfire::GraphEngine.
|
nodiscardpure virtual |
Get the list of species in the network.
Implemented in gridfire::AdaptiveEngineView, gridfire::FileDefinedEngineView, and gridfire::GraphEngine.