Cantera  4.0.0a1
Loading...
Searching...
No Matches
IdealGasReactor.h
Go to the documentation of this file.
1//! @file IdealGasReactor.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_IDEALGASREACTOR_H
7#define CT_IDEALGASREACTOR_H
8
9#include "Reactor.h"
10
11namespace Cantera
12{
13
14/**
15 * Class IdealGasReactor is a class for stirred reactors that is specifically
16 * optimized for ideal gases. In this formulation, temperature replaces the
17 * total internal energy as a state variable.
18 * @ingroup reactorGroup
19 */
21{
22public:
23 using Reactor::Reactor; // inherit constructors
24
25 string type() const override {
26 return "IdealGasReactor";
27 }
28
29 void getState(double* y) override;
30
31 void initialize(double t0=0.0) override;
32
33 void eval(double t, double* LHS, double* RHS) override;
34 void evalSteady(double t, double* LHS, double* RHS) override;
35 vector<size_t> initializeSteady() override;
36 void updateState(double* y) override;
37
38 //! Return the index in the solution vector for this reactor of the
39 //! component named *nm*. Possible values for *nm* are "mass",
40 //! "volume", "temperature", the name of a homogeneous phase species, or the
41 //! name of a surface species.
42 size_t componentIndex(const string& nm) const override;
43 string componentName(size_t k) override;
44 double upperBound(size_t k) const override;
45 double lowerBound(size_t k) const override;
46
47protected:
48 vector<double> m_uk; //!< Species molar internal energies
49
50 //! Initial volume [m³]; used for steady-state calculations
52
53 //! Initial temperature [K]; used for steady-state calculations
55};
56
57}
58
59#endif
Class IdealGasReactor is a class for stirred reactors that is specifically optimized for ideal gases.
double upperBound(size_t k) const override
Get the upper bound on the k-th component of the local state vector.
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.
void evalSteady(double t, double *LHS, double *RHS) override
Evaluate the governing equations with modifications for the steady-state solver.
vector< double > m_uk
Species molar internal energies.
void getState(double *y) override
Get the current state of the reactor.
vector< size_t > initializeSteady() override
Initialize the reactor before solving a steady-state problem.
double lowerBound(size_t k) const override
Get the lower bound on the k-th component of the local state vector.
string componentName(size_t k) override
Return the name of the solution component with index i.
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.
double m_initialTemperature
Initial temperature [K]; used for steady-state calculations.
double m_initialVolume
Initial volume [m³]; used for steady-state calculations.
Class Reactor is a general-purpose class for stirred reactors.
Definition Reactor.h:47
Namespace for the Cantera kernel.
Definition AnyMap.cpp:595