GridFire 0.0.1a
General Purpose Nuclear Network
Loading...
Searching...
No Matches
gridfire::solver::QSENetworkSolver::EigenFunctor< T > Struct Template Reference

Functor for calculating the residual and Jacobian for the QSE species using Eigen. More...

Public Types

enum  { InputsAtCompileTime = Eigen::Dynamic , ValuesAtCompileTime = Eigen::Dynamic }
 
using InputType = Eigen::Matrix<T, Eigen::Dynamic, 1>
 
using OutputType = Eigen::Matrix<T, Eigen::Dynamic, 1>
 
using JacobianType = Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>
 

Public Member Functions

 EigenFunctor (DynamicEngine &engine, const std::vector< double > &YFull, const std::vector< size_t > &dynamicSpeciesIndices, const std::vector< size_t > &QSESpeciesIndices, const double T9, const double rho)
 Constructor for the EigenFunctor.
 
int values () const
 
int inputs () const
 
int operator() (const InputType &v_QSE_log, OutputType &f_QSE) const
 Calculates the residual vector for the QSE species.
 
int df (const InputType &v_QSE_log, JacobianType &J_QSE) const
 Calculates the Jacobian matrix for the QSE species.
 

Public Attributes

DynamicEnginem_engine
 The engine used to evaluate the network.
 
const std::vector< double > & m_YFull
 The full, initial abundance vector.
 
const std::vector< size_t > & m_dynamicSpeciesIndices
 Indices of the dynamic species.
 
const std::vector< size_t > & m_QSESpeciesIndices
 Indices of the QSE species.
 
const double m_T9
 Temperature in units of 10^9 K.
 
const double m_rho
 Density in g/cm^3.
 

Detailed Description

template<typename T>
struct gridfire::solver::QSENetworkSolver::EigenFunctor< T >

Functor for calculating the residual and Jacobian for the QSE species using Eigen.

Template Parameters
TThe numeric type to use for the calculation (double or ADDouble).

Definition at line 309 of file solver.h.

Member Typedef Documentation

◆ InputType

template<typename T>
using gridfire::solver::QSENetworkSolver::EigenFunctor< T >::InputType = Eigen::Matrix<T, Eigen::Dynamic, 1>

Definition at line 310 of file solver.h.

◆ JacobianType

template<typename T>
using gridfire::solver::QSENetworkSolver::EigenFunctor< T >::JacobianType = Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>

Definition at line 312 of file solver.h.

◆ OutputType

template<typename T>
using gridfire::solver::QSENetworkSolver::EigenFunctor< T >::OutputType = Eigen::Matrix<T, Eigen::Dynamic, 1>

Definition at line 311 of file solver.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename T>
anonymous enum
Enumerator
InputsAtCompileTime 
ValuesAtCompileTime 

Definition at line 313 of file solver.h.

Constructor & Destructor Documentation

◆ EigenFunctor()

template<typename T>
gridfire::solver::QSENetworkSolver::EigenFunctor< T >::EigenFunctor ( DynamicEngine & engine,
const std::vector< double > & YFull,
const std::vector< size_t > & dynamicSpeciesIndices,
const std::vector< size_t > & QSESpeciesIndices,
const double T9,
const double rho )
inline

Constructor for the EigenFunctor.

Parameters
engineThe engine used to evaluate the network.
YFullAbundances of the dynamic species.
dynamicSpeciesIndicesIndices of the dynamic species.
QSESpeciesIndicesIndices of the QSE species.
T9Temperature in units of 10^9 K.
rhoDensity in g/cm^3.

Definition at line 334 of file solver.h.

Member Function Documentation

◆ df()

template<typename T>
int gridfire::solver::QSENetworkSolver::EigenFunctor< T >::df ( const InputType & v_QSE_log,
JacobianType & J_QSE ) const

Calculates the Jacobian matrix for the QSE species.

Parameters
v_QSE_logInput vector of QSE species abundances (logarithmic).
J_QSEOutput Jacobian matrix.
Returns
0 for success.

Definition at line 514 of file solver.h.

◆ inputs()

template<typename T>
int gridfire::solver::QSENetworkSolver::EigenFunctor< T >::inputs ( ) const
inline

Definition at line 350 of file solver.h.

◆ operator()()

template<typename T>
int gridfire::solver::QSENetworkSolver::EigenFunctor< T >::operator() ( const InputType & v_QSE_log,
OutputType & f_QSE ) const

Calculates the residual vector for the QSE species.

Parameters
v_QSE_logInput vector of QSE species abundances (logarithmic).
f_QSEOutput vector of residuals.
Returns
0 for success.

Definition at line 496 of file solver.h.

◆ values()

template<typename T>
int gridfire::solver::QSENetworkSolver::EigenFunctor< T >::values ( ) const
inline

Definition at line 349 of file solver.h.

Member Data Documentation

◆ m_dynamicSpeciesIndices

template<typename T>
const std::vector<size_t>& gridfire::solver::QSENetworkSolver::EigenFunctor< T >::m_dynamicSpeciesIndices

Indices of the dynamic species.

Definition at line 320 of file solver.h.

◆ m_engine

The engine used to evaluate the network.

Definition at line 318 of file solver.h.

◆ m_QSESpeciesIndices

template<typename T>
const std::vector<size_t>& gridfire::solver::QSENetworkSolver::EigenFunctor< T >::m_QSESpeciesIndices

Indices of the QSE species.

Definition at line 321 of file solver.h.

◆ m_rho

template<typename T>
const double gridfire::solver::QSENetworkSolver::EigenFunctor< T >::m_rho

Density in g/cm^3.

Definition at line 323 of file solver.h.

◆ m_T9

template<typename T>
const double gridfire::solver::QSENetworkSolver::EigenFunctor< T >::m_T9

Temperature in units of 10^9 K.

Definition at line 322 of file solver.h.

◆ m_YFull

template<typename T>
const std::vector<double>& gridfire::solver::QSENetworkSolver::EigenFunctor< T >::m_YFull

The full, initial abundance vector.

Definition at line 319 of file solver.h.


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