|
Cantera 2.6.0
|
Class ConstPressureReactor is a class for constant-pressure reactors. More...
#include <ConstPressureReactor.h>
Public Member Functions | |
| virtual std::string | typeStr () const |
| String indicating the reactor model implemented. More... | |
| virtual std::string | type () const |
| String indicating the reactor model implemented. More... | |
| virtual void | getState (doublereal *y) |
| Get the the current state of the reactor. More... | |
| virtual void | initialize (doublereal t0=0.0) |
| Initialize the reactor. More... | |
| virtual void | eval (double t, double *LHS, double *RHS) |
| Evaluate the reactor governing equations. More... | |
| virtual void | updateState (doublereal *y) |
| Set the state of the reactor to correspond to the state vector y. More... | |
| virtual size_t | componentIndex (const std::string &nm) const |
| Return the index in the solution vector for this reactor of the component named nm. More... | |
| std::string | componentName (size_t k) |
| Return the name of the solution component with index i. More... | |
Public Member Functions inherited from Reactor | |
| template<class G > | |
| void | insert (G &contents) |
| Insert something into the reactor. More... | |
| void | insert (shared_ptr< Solution > sol) |
| virtual void | setKineticsMgr (Kinetics &kin) |
| Specify chemical kinetics governing the reactor. More... | |
| void | setChemistry (bool cflag=true) |
| Enable or disable changes in reactor composition due to chemical reactions. More... | |
| bool | chemistryEnabled () const |
Returns true if changes in the reactor composition due to chemical reactions are enabled. More... | |
| void | setEnergy (int eflag=1) |
| Set the energy equation on or off. More... | |
| bool | energyEnabled () const |
Returns true if solution of the energy equation is enabled. More... | |
| size_t | neq () |
| Number of equations (state variables) for this reactor. More... | |
| virtual void | evalEqs (double t, double *y, double *ydot, double *params) |
| virtual void | syncState () |
| Set the state of the reactor to correspond to the state of the associated ThermoPhase object. More... | |
| virtual size_t | nSensParams () |
| Number of sensitivity parameters associated with this reactor (including walls) More... | |
| virtual void | addSensitivityReaction (size_t rxn) |
| Add a sensitivity parameter associated with the reaction number rxn (in the homogeneous phase). More... | |
| virtual void | addSensitivitySpeciesEnthalpy (size_t k) |
| Add a sensitivity parameter associated with the enthalpy formation of species k (in the homogeneous phase) More... | |
| void | setAdvanceLimits (const double *limits) |
| Set absolute step size limits during advance. More... | |
| bool | hasAdvanceLimits () |
| Check whether Reactor object uses advance limits. More... | |
| bool | getAdvanceLimits (double *limits) |
| Retrieve absolute step size limits during advance. More... | |
| void | setAdvanceLimit (const std::string &nm, const double limit) |
| Set individual step size limit for component name nm More... | |
| virtual void | applySensitivity (double *params) |
| Set reaction rate multipliers based on the sensitivity variables in params. More... | |
| virtual void | resetSensitivity (double *params) |
| Reset the reaction rate multipliers. More... | |
Public Member Functions inherited from ReactorBase | |
| ReactorBase (const std::string &name="(none)") | |
| ReactorBase (const ReactorBase &)=delete | |
| ReactorBase & | operator= (const ReactorBase &)=delete |
| std::string | name () const |
| Return the name of this reactor. More... | |
| void | setName (const std::string &name) |
| Set the name of this reactor. More... | |
| void | restoreState () |
| Set the state of the Phase object associated with this reactor to the reactor's current state. More... | |
| ThermoPhase & | contents () |
| return a reference to the contents. More... | |
| const ThermoPhase & | contents () const |
| doublereal | residenceTime () |
| Return the residence time (s) of the contents of this reactor, based on the outlet mass flow rates and the mass of the reactor contents. More... | |
| ReactorNet & | network () |
| The ReactorNet that this reactor belongs to. More... | |
| void | setNetwork (ReactorNet *net) |
| Set the ReactorNet that this reactor belongs to. More... | |
| void | setInitialVolume (doublereal vol) |
| Set the initial reactor volume. By default, the volume is 1.0 m^3. More... | |
| virtual void | setThermoMgr (ThermoPhase &thermo) |
| Specify the mixture contained in the reactor. More... | |
| void | addInlet (FlowDevice &inlet) |
| Connect an inlet FlowDevice to this reactor. More... | |
| void | addOutlet (FlowDevice &outlet) |
| Connect an outlet FlowDevice to this reactor. More... | |
| FlowDevice & | inlet (size_t n=0) |
| Return a reference to the n-th inlet FlowDevice connected to this reactor. More... | |
| FlowDevice & | outlet (size_t n=0) |
| Return a reference to the n-th outlet FlowDevice connected to this reactor. More... | |
| size_t | nInlets () |
| Return the number of inlet FlowDevice objects connected to this reactor. More... | |
| size_t | nOutlets () |
| Return the number of outlet FlowDevice objects connected to this reactor. More... | |
| size_t | nWalls () |
| Return the number of Wall objects connected to this reactor. More... | |
| void | addWall (WallBase &w, int lr) |
| Insert a Wall between this reactor and another reactor. More... | |
| WallBase & | wall (size_t n) |
| Return a reference to the n-th Wall connected to this reactor. More... | |
| void | addSurface (ReactorSurface *surf) |
| ReactorSurface * | surface (size_t n) |
| Return a reference to the n-th ReactorSurface connected to this reactor. More... | |
| doublereal | volume () const |
| Returns the current volume (m^3) of the reactor. More... | |
| doublereal | density () const |
| Returns the current density (kg/m^3) of the reactor's contents. More... | |
| doublereal | temperature () const |
| Returns the current temperature (K) of the reactor's contents. More... | |
| doublereal | enthalpy_mass () const |
| Returns the current enthalpy (J/kg) of the reactor's contents. More... | |
| doublereal | intEnergy_mass () const |
| Returns the current internal energy (J/kg) of the reactor's contents. More... | |
| doublereal | pressure () const |
| Returns the current pressure (Pa) of the reactor. More... | |
| doublereal | mass () const |
| Returns the mass (kg) of the reactor's contents. More... | |
| const doublereal * | massFractions () const |
| Return the vector of species mass fractions. More... | |
| doublereal | massFraction (size_t k) const |
| Return the mass fraction of the k-th species. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Reactor | |
| virtual size_t | speciesIndex (const std::string &nm) const |
| Return the index in the solution vector for this reactor of the species named nm, in either the homogeneous phase or a surface phase, relative to the start of the species terms. More... | |
| virtual void | evalWalls (double t) |
| Evaluate terms related to Walls. More... | |
| virtual void | evalSurfaces (double *LHS, double *RHS, double *sdot) |
| Evaluate terms related to surface reactions. More... | |
| virtual void | updateSurfaceState (double *y) |
| Update the state of SurfPhase objects attached to this reactor. More... | |
| virtual void | updateConnected (bool updatePressure) |
| Update the state information needed by connected reactors and flow devices. More... | |
| virtual void | getSurfaceInitialConditions (double *y) |
| Get initial conditions for SurfPhase objects attached to this reactor. More... | |
Protected Attributes inherited from Reactor | |
| Kinetics * | m_kin |
| Pointer to the homogeneous Kinetics object that handles the reactions. More... | |
| doublereal | m_vdot |
| net rate of volume change from moving walls [m^3/s] More... | |
| double | m_Q |
| net heat transfer out of the reactor, through walls [W] More... | |
| double | m_Qdot |
| net heat transfer into the reactor, through walls [W] More... | |
| doublereal | m_mass |
| total mass More... | |
| vector_fp | m_work |
| vector_fp | m_sdot |
| Production rates of gas phase species on surfaces [kmol/s]. More... | |
| vector_fp | m_wdot |
| Species net molar production rates. More... | |
| vector_fp | m_uk |
| Species molar internal energies. More... | |
| bool | m_chem |
| bool | m_energy |
| size_t | m_nv |
| size_t | m_nv_surf |
| vector_fp | m_advancelimits |
| !< Number of variables associated with reactor surfaces More... | |
| std::vector< SensitivityParameter > | m_sensParams |
Protected Attributes inherited from ReactorBase | |
| size_t | m_nsp |
| Number of homogeneous species in the mixture. More... | |
| ThermoPhase * | m_thermo |
| double | m_vol |
| Current volume of the reactor [m^3]. More... | |
| double | m_enthalpy |
| Current specific enthalpy of the reactor [J/kg]. More... | |
| double | m_intEnergy |
| Current internal energy of the reactor [J/kg]. More... | |
| double | m_pressure |
| Current pressure in the reactor [Pa]. More... | |
| vector_fp | m_state |
| std::vector< FlowDevice * > | m_inlet |
| std::vector< FlowDevice * > | m_outlet |
| std::vector< WallBase * > | m_wall |
| std::vector< ReactorSurface * > | m_surfaces |
| vector_int | m_lr |
| Vector of length nWalls(), indicating whether this reactor is on the left (0) or right (1) of each wall. More... | |
| std::string | m_name |
| ReactorNet * | m_net |
| The ReactorNet that this reactor is part of. More... | |
Class ConstPressureReactor is a class for constant-pressure reactors.
The reactor may have an arbitrary number of inlets and outlets, each of which may be connected to a "flow device" such as a mass flow controller, a pressure regulator, etc. Additional reactors may be connected to the other end of the flow device, allowing construction of arbitrary reactor networks.
Definition at line 22 of file ConstPressureReactor.h.
|
inline |
Definition at line 25 of file ConstPressureReactor.h.
|
inlinevirtual |
String indicating the reactor model implemented.
Usually corresponds to the name of the derived class.
Reimplemented from Reactor.
Reimplemented in IdealGasConstPressureReactor.
Definition at line 27 of file ConstPressureReactor.h.
References Cantera::warn_deprecated().
|
inlinevirtual |
String indicating the reactor model implemented.
Usually corresponds to the name of the derived class.
Reimplemented from Reactor.
Reimplemented in IdealGasConstPressureReactor.
Definition at line 33 of file ConstPressureReactor.h.
|
virtual |
Get the the current state of the reactor.
| [out] | y | state vector representing the initial state of the reactor |
Reimplemented from Reactor.
Reimplemented in IdealGasConstPressureReactor.
Definition at line 18 of file ConstPressureReactor.cpp.
References Phase::density(), ThermoPhase::enthalpy_mass(), Phase::getMassFractions(), Reactor::getSurfaceInitialConditions(), ReactorBase::m_nsp, ReactorBase::m_vol, and Phase::restoreState().
|
virtual |
Initialize the reactor.
Called automatically by ReactorNet::initialize.
Reimplemented from Reactor.
Reimplemented in IdealGasConstPressureReactor.
Definition at line 40 of file ConstPressureReactor.cpp.
References Reactor::initialize().
Referenced by IdealGasConstPressureReactor::initialize().
|
virtual |
Evaluate the reactor governing equations.
Called by ReactorNet::eval.
| [in] | t | time. |
| [out] | LHS | pointer to start of vector of left-hand side coefficients for governing equations, length m_nv, default values 1 |
| [out] | RHS | pointer to start of vector of right-hand side coefficients for governing equations, length m_nv, default values 0 |
Reimplemented from Reactor.
Reimplemented in IdealGasConstPressureReactor.
Definition at line 63 of file ConstPressureReactor.cpp.
References Cantera::dot(), FlowDevice::enthalpy_mass(), Reactor::evalSurfaces(), Reactor::evalWalls(), Kinetics::getNetProductionRates(), ReactorBase::inlet(), ReactorBase::m_enthalpy, Reactor::m_kin, Reactor::m_mass, ReactorBase::m_nsp, Reactor::m_Qdot, Reactor::m_sdot, ReactorBase::m_vol, Reactor::m_wdot, FlowDevice::massFlowRate(), Phase::massFractions(), Phase::molecularWeights(), ReactorBase::outlet(), FlowDevice::outletSpeciesMassFlowRate(), and Phase::restoreState().
|
virtual |
Set the state of the reactor to correspond to the state vector y.
Reimplemented from Reactor.
Reimplemented in IdealGasConstPressureReactor.
Definition at line 46 of file ConstPressureReactor.cpp.
References Phase::density(), Reactor::m_mass, ReactorBase::m_nsp, ReactorBase::m_pressure, ReactorBase::m_vol, Phase::setMassFractions_NoNorm(), Phase::setPressure(), ThermoPhase::setState_HP(), Reactor::updateConnected(), and Reactor::updateSurfaceState().
|
virtual |
Return the index in the solution vector for this reactor of the component named nm.
Possible values for nm are "mass", "enthalpy", the name of a homogeneous phase species, or the name of a surface species.
Reimplemented from Reactor.
Reimplemented in IdealGasConstPressureReactor.
Definition at line 122 of file ConstPressureReactor.cpp.
References Cantera::npos, and Reactor::speciesIndex().
|
virtual |
Return the name of the solution component with index i.
Reimplemented from Reactor.
Reimplemented in IdealGasConstPressureReactor.
Definition at line 136 of file ConstPressureReactor.cpp.
References Reactor::neq(), Phase::nSpecies(), and Phase::speciesName().
Referenced by IdealGasConstPressureReactor::componentName().