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

DynamicEngine & | m_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

  T | The 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

  engine | The engine used to evaluate the network.
  YFull | Abundances of the dynamic species.
  dynamicSpeciesIndices | Indices of the dynamic species.
  QSESpeciesIndices | Indices of the QSE species.
  T9 | Temperature in units of 10^9 K.
  rho | Density 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_log | Input vector of QSE species abundances (logarithmic).
  J_QSE | Output 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_log | Input vector of QSE species abundances (logarithmic).
  f_QSE | Output 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

template<typename T>

DynamicEngine& gridfire::solver::QSENetworkSolver::EigenFunctor< T >::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:

- src/network/include/gridfire/solver/solver.h