6#ifndef CT_IDEALGASMOLE_REACTOR_H
7#define CT_IDEALGASMOLE_REACTOR_H
23 using MoleReactor::MoleReactor;
25 string type()
const override {
26 return "IdealGasMoleReactor";
37 void eval(
double t,
double* LHS,
double* RHS)
override;
46 Eigen::SparseMatrix<double>
jacobian()
override;
IdealGasMoleReactor is a class for ideal gas constant-volume reactors which use a state of moles.
bool preconditionerSupported() const override
Return a false if preconditioning is not supported or true otherwise.
void eval(double t, double *LHS, double *RHS) override
Evaluate the reactor governing equations.
string type() const override
String indicating the reactor model implemented.
size_t componentIndex(const string &nm) const override
Return the index in the solution vector for this reactor of the component named nm.
Eigen::SparseMatrix< double > jacobian() override
Calculate an approximate Jacobian to accelerate preconditioned solvers.
vector< double > m_uk
Species molar internal energies.
void getState(double *y) override
Get the the current state of the reactor.
string componentName(size_t k) override
Return the name of the solution component with index i.
void setThermo(ThermoPhase &thermo) override
Specify the mixture contained in the reactor.
void updateState(double *y) override
Set the state of the reactor to correspond to the state vector y.
void initialize(double t0=0.0) override
Initialize the reactor.
MoleReactor is meant to serve the same purpose as the reactor class but with a state vector composed ...
Base class for a phase with thermodynamic properties.
Namespace for the Cantera kernel.