| Cantera 3.0.0

Loading...
Searching...
No Matches
IdealGasMoleReactor.h
Go to the documentation of this file.
1//! @file IdealGasMoleReactor.h
2
3// This file is part of Cantera. See License.txt in the top-level directory or
4// at https://cantera.org/license.txt for license and copyright information.
5
6#ifndef CT_IDEALGASMOLE_REACTOR_H
7#define CT_IDEALGASMOLE_REACTOR_H
8
9#include "cantera/zeroD/MoleReactor.h"
10
11 namespace Cantera
12{
13
14/**
15 * IdealGasMoleReactor is a class for ideal gas constant-volume reactors which use a
16 * state of moles.
17 * @since New in %Cantera 3.0
18 * @ingroup reactorGroup
19 */
20 class IdealGasMoleReactor : public MoleReactor
21{
22 public:
23 IdealGasMoleReactor() {}
24
25 string type() const override {
26 return "IdealGasMoleReactor";
27 }
28
29 size_t componentIndex(const string& nm) const override;
30
31 string componentName(size_t k) override;
32
33 void setThermoMgr(ThermoPhase& thermo) override;
34
35 void getState(double* y) override;
36
37 void initialize(double t0=0.0) override;
38
39 void eval(double t, double* LHS, double* RHS) override;
40
41 void updateState(double* y) override;
42
43 //! Calculate an approximate Jacobian to accelerate preconditioned solvers
44
45 //! Neglects derivatives with respect to mole fractions that would generate a
46 //! fully-dense Jacobian. Currently, also neglects terms related to interactions
47 //! between reactors, for example via inlets and outlets.
48 Eigen::SparseMatrix<double> jacobian() override;
49
50 bool preconditionerSupported() const override {return true;};
51
52 protected:
53 vector<double> m_uk; //!< Species molar internal energies
54};
55
56}
57
58#endif
MoleReactor.h
Cantera::IdealGasMoleReactor
IdealGasMoleReactor is a class for ideal gas constant-volume reactors which use a state of moles.
Definition IdealGasMoleReactor.h:21
Cantera::IdealGasMoleReactor::setThermoMgr
void setThermoMgr(ThermoPhase &thermo) override
Specify the mixture contained in the reactor.
Definition IdealGasMoleReactor.cpp:20
Cantera::IdealGasMoleReactor::preconditionerSupported
bool preconditionerSupported() const override
Return a false if preconditioning is not supported or true otherwise.
Definition IdealGasMoleReactor.h:50
Cantera::IdealGasMoleReactor::eval
void eval(double t, double *LHS, double *RHS) override
Evaluate the reactor governing equations.
Definition IdealGasMoleReactor.cpp:96
Cantera::IdealGasMoleReactor::type
string type() const override
String indicating the reactor model implemented.
Definition IdealGasMoleReactor.h:25
Cantera::IdealGasMoleReactor::componentIndex
size_t componentIndex(const string &nm) const override
Return the index in the solution vector for this reactor of the component named nm.
Definition IdealGasMoleReactor.cpp:53
Cantera::IdealGasMoleReactor::jacobian
Eigen::SparseMatrix< double > jacobian() override
Calculate an approximate Jacobian to accelerate preconditioned solvers.
Definition IdealGasMoleReactor.cpp:156
Cantera::IdealGasMoleReactor::m_uk
vector< double > m_uk
Species molar internal energies.
Definition IdealGasMoleReactor.h:53
Cantera::IdealGasMoleReactor::getState
void getState(double *y) override
Get the the current state of the reactor.
Definition IdealGasMoleReactor.cpp:29
Cantera::IdealGasMoleReactor::componentName
string componentName(size_t k) override
Return the name of the solution component with index i.
Definition IdealGasMoleReactor.cpp:67
Cantera::IdealGasMoleReactor::updateState
void updateState(double *y) override
Set the state of the reactor to correspond to the state vector y.
Definition IdealGasMoleReactor.cpp:82
Cantera::IdealGasMoleReactor::initialize
void initialize(double t0=0.0) override
Initialize the reactor.
Definition IdealGasMoleReactor.cpp:76
Cantera::MoleReactor
MoleReactor is meant to serve the same purpose as the reactor class but with a state vector composed ...
Definition MoleReactor.h:21
Cantera::ThermoPhase
Base class for a phase with thermodynamic properties.
Definition ThermoPhase.h:390
Cantera
Namespace for the Cantera kernel.
Definition AnyMap.cpp:564