|
GridFire 0.6.0
General Purpose Nuclear Network
|
Functor for calculating the right-hand side of the ODEs. More...
Public Member Functions | |
| RHSManager (DynamicEngine &engine, const double T9, const double rho, TimestepCallback &callback, const std::vector< fourdst::atomic::Species > &networkSpecies) | |
| Constructor for the RHSFunctor. | |
| void | operator() (const boost::numeric::ublas::vector< double > &Y, boost::numeric::ublas::vector< double > &dYdt, double t) const |
| Calculates the time derivatives of the species abundances. | |
| void | observe (const boost::numeric::ublas::vector< double > &state, double t) const |
| void | compute_and_cache (const boost::numeric::ublas::vector< double > &state, double t) const |
Public Attributes | |
| DynamicEngine & | m_engine |
| The engine used to evaluate the network. | |
| const double | m_T9 |
| Temperature in units of 10^9 K. | |
| const double | m_rho |
| Density in g/cm^3. | |
| double | m_cached_time |
| std::optional< StepDerivatives< double > > | m_cached_result |
| double | m_last_observed_time = 0.0 |
| Last time the state was observed. | |
| quill::Logger * | m_logger = LogManager::getInstance().newFileLogger("integration.log", "GridFire") |
| Logger instance. | |
| int | m_num_steps = 0 |
| double | m_last_step_time = 1e-20 |
| TimestepCallback & | m_callback |
| const std::vector< fourdst::atomic::Species > & | m_networkSpecies |
Functor for calculating the right-hand side of the ODEs.
This functor is used by the ODE solver to calculate the time derivatives of the species abundances. It takes the current abundances as input and returns the time derivatives.
|
inline |
Constructor for the RHSFunctor.
| engine | The engine used to evaluate the network. |
| T9 | Temperature in units of 10^9 K. |
| rho | Density in g/cm^3. |
| callback | callback function to be called at the end of each timestep. |
| networkSpecies | vector of species in the network in the correct order. |
| void gridfire::solver::DirectNetworkSolver::RHSManager::compute_and_cache | ( | const boost::numeric::ublas::vector< double > & | state, |
| double | t ) const |
| void gridfire::solver::DirectNetworkSolver::RHSManager::observe | ( | const boost::numeric::ublas::vector< double > & | state, |
| double | t ) const |
| void gridfire::solver::DirectNetworkSolver::RHSManager::operator() | ( | const boost::numeric::ublas::vector< double > & | Y, |
| boost::numeric::ublas::vector< double > & | dYdt, | ||
| double | t ) const |
Calculates the time derivatives of the species abundances.
| Y | Vector of current abundances. |
| dYdt | Vector to store the time derivatives. |
| t | Current time. |
|
mutable |
|
mutable |
| TimestepCallback& gridfire::solver::DirectNetworkSolver::RHSManager::m_callback |
| DynamicEngine& gridfire::solver::DirectNetworkSolver::RHSManager::m_engine |
The engine used to evaluate the network.
|
mutable |
Last time the state was observed.
|
mutable |
| quill::Logger* gridfire::solver::DirectNetworkSolver::RHSManager::m_logger = LogManager::getInstance().newFileLogger("integration.log", "GridFire") |
Logger instance.
| const std::vector<fourdst::atomic::Species>& gridfire::solver::DirectNetworkSolver::RHSManager::m_networkSpecies |
|
mutable |
| const double gridfire::solver::DirectNetworkSolver::RHSManager::m_rho |
Density in g/cm^3.
| const double gridfire::solver::DirectNetworkSolver::RHSManager::m_T9 |
Temperature in units of 10^9 K.