A surface where reactions can occur that is in contact with the bulk fluid of a Reactor. More...
#include <ReactorSurface.h>
A surface where reactions can occur that is in contact with the bulk fluid of a Reactor.
Definition at line 19 of file ReactorSurface.h.
Public Member Functions | |
ReactorSurface (shared_ptr< Solution > soln, const vector< shared_ptr< ReactorBase > > &reactors, bool clone, const string &name="(none)") | |
Create a new ReactorSurface. | |
ReactorSurface (shared_ptr< Solution > sol, const string &name="(none)") | |
ReactorSurface (shared_ptr< Solution > sol, bool clone, const string &name="(none)") | |
string | type () const override |
String indicating the wall model implemented. | |
double | area () const |
Returns the surface area [m^2]. | |
void | setArea (double a) |
Set the surface area [m^2]. | |
SurfPhase * | thermo () |
Accessor for the SurfPhase object. | |
Kinetics * | kinetics () |
Accessor for the InterfaceKinetics object. | |
void | setKinetics (Kinetics *kin) |
Set the InterfaceKinetics object for this surface. | |
void | addInlet (FlowDevice &inlet) override |
Connect an inlet FlowDevice to this reactor. | |
void | addOutlet (FlowDevice &outlet) override |
Connect an outlet FlowDevice to this reactor. | |
void | addWall (WallBase &w, int lr) override |
Insert a Wall between this reactor and another reactor. | |
void | addSurface (ReactorSurface *surf) override |
Add a ReactorSurface object to a Reactor object. | |
void | setReactor (ReactorBase *reactor) |
Set the reactor that this Surface interacts with. | |
void | setCoverages (const double *cov) |
Set the surface coverages. | |
void | setCoverages (const Composition &cov) |
Set the surface coverages by name. | |
void | setCoverages (const string &cov) |
Set the surface coverages by name. | |
void | getCoverages (double *cov) const |
Get the surface coverages. | |
void | restoreState () override |
Set the coverages and temperature in the surface phase object to the values for this surface. | |
void | syncState () override |
Set the coverages for this ReactorSurface based on the attached SurfPhase. | |
void | addSensitivityReaction (size_t rxn) override |
Add a sensitivity parameter associated with the reaction number rxn | |
void | setSensitivityParameters (const double *params) |
Set reaction rate multipliers. | |
void | resetSensitivityParameters () |
Set reaction rate multipliers back to their initial values. | |
![]() | |
ReactorBase (const string &name="(none)") | |
ReactorBase (shared_ptr< Solution > sol, const string &name="(none)") | |
Instantiate a ReactorBase object with Solution contents. | |
ReactorBase (shared_ptr< Solution > sol, bool clone, const string &name="(none)") | |
Instantiate a ReactorBase object with Solution contents. | |
ReactorBase (const ReactorBase &)=delete | |
ReactorBase & | operator= (const ReactorBase &)=delete |
virtual string | type () const |
String indicating the reactor model implemented. | |
string | name () const |
Return the name of this reactor. | |
void | setName (const string &name) |
Set the name of this reactor. | |
bool | setDefaultName (map< string, int > &counts) |
Set the default name of a reactor. Returns false if it was previously set. | |
void | setSolution (shared_ptr< Solution > sol) |
Set the Solution specifying the ReactorBase content. | |
shared_ptr< Solution > | contents4 () |
Access the Solution object used to represent the contents of this reactor. | |
shared_ptr< const Solution > | contents4 () const |
Access the Solution object used to represent the contents of this reactor. | |
virtual void | restoreState () |
Set the state of the Phase object associated with this reactor to the reactor's current state. | |
virtual void | syncState () |
Set the state of the reactor to the associated ThermoPhase object. | |
ThermoPhase & | contents () |
return a reference to the contents. | |
const ThermoPhase & | contents () const |
return a reference to the contents. | |
double | 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. | |
ReactorNet & | network () |
The ReactorNet that this reactor belongs to. | |
void | setNetwork (ReactorNet *net) |
Set the ReactorNet that this reactor belongs to. | |
virtual void | addSensitivityReaction (size_t rxn) |
Add a sensitivity parameter associated with the reaction number rxn | |
virtual size_t | nSensParams () const |
Number of sensitivity parameters associated with this reactor. | |
virtual void | setInitialVolume (double vol) |
Set the initial reactor volume. | |
virtual void | setChemistry (bool cflag=true) |
Enable or disable changes in reactor composition due to chemical reactions. | |
virtual void | setEnergy (int eflag=1) |
Set the energy equation on or off. | |
FlowDevice & | inlet (size_t n=0) |
Return a reference to the n-th inlet FlowDevice connected to this reactor. | |
FlowDevice & | outlet (size_t n=0) |
Return a reference to the n-th outlet FlowDevice connected to this reactor. | |
size_t | nInlets () |
Return the number of inlet FlowDevice objects connected to this reactor. | |
size_t | nOutlets () |
Return the number of outlet FlowDevice objects connected to this reactor. | |
size_t | nWalls () |
Return the number of Wall objects connected to this reactor. | |
WallBase & | wall (size_t n) |
Return a reference to the n-th Wall connected to this reactor. | |
void | addSurface (shared_ptr< ReactorBase > surf) |
Add a ReactorSurface object to a Reactor object. | |
ReactorSurface * | surface (size_t n) |
Return a reference to the n-th ReactorSurface connected to this reactor. | |
virtual size_t | nSurfs () const |
Return the number of surfaces in a reactor. | |
virtual void | initialize (double t0=0.0) |
Initialize the reactor. | |
double | volume () const |
Returns the current volume (m^3) of the reactor. | |
double | density () const |
Returns the current density (kg/m^3) of the reactor's contents. | |
double | temperature () const |
Returns the current temperature (K) of the reactor's contents. | |
double | enthalpy_mass () const |
Returns the current enthalpy (J/kg) of the reactor's contents. | |
double | intEnergy_mass () const |
Returns the current internal energy (J/kg) of the reactor's contents. | |
double | pressure () const |
Returns the current pressure (Pa) of the reactor. | |
double | mass () const |
Returns the mass (kg) of the reactor's contents. | |
const double * | massFractions () const |
Return the vector of species mass fractions. | |
double | massFraction (size_t k) const |
Return the mass fraction of the k-th species. | |
Protected Member Functions | |
void | setThermo (ThermoPhase &thermo) override |
Specify the mixture contained in the reactor. | |
void | setKinetics (Kinetics &kin) override |
Set the InterfaceKinetics object for this surface. | |
virtual void | setThermo (ThermoPhase &thermo) |
Specify the mixture contained in the reactor. | |
virtual void | setKinetics (Kinetics &kin) |
Specify the kinetics manager for the reactor. | |
Protected Attributes | |
double | m_area = 1.0 |
SurfPhase * | m_surf = nullptr |
Kinetics * | m_kinetics = nullptr |
vector< ReactorBase * > | m_reactors |
vector< double > | m_cov |
![]() | |
size_t | m_nsp = 0 |
Number of homogeneous species in the mixture. | |
ThermoPhase * | m_thermo = nullptr |
double | m_vol = 0.0 |
Current volume of the reactor [m^3]. | |
double | m_mass = 0.0 |
Current mass of the reactor [kg]. | |
double | m_enthalpy = 0.0 |
Current specific enthalpy of the reactor [J/kg]. | |
double | m_intEnergy = 0.0 |
Current internal energy of the reactor [J/kg]. | |
double | m_pressure = 0.0 |
Current pressure in the reactor [Pa]. | |
vector< double > | m_state |
vector< FlowDevice * > | m_inlet |
vector< FlowDevice * > | m_outlet |
vector< WallBase * > | m_wall |
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. | |
string | m_name |
Reactor name. | |
bool | m_defaultNameSet = false |
true if default name has been previously set. | |
ReactorNet * | m_net = nullptr |
The ReactorNet that this reactor is part of. | |
shared_ptr< Solution > | m_solution |
Composite thermo/kinetics/transport handler. | |
vector< SensitivityParameter > | m_sensParams |
ReactorSurface | ( | shared_ptr< Solution > | soln, |
const vector< shared_ptr< ReactorBase > > & | reactors, | ||
bool | clone, | ||
const string & | name = "(none)" |
||
) |
Create a new ReactorSurface.
soln | Thermodynamic and kinetic model representing species and reactions on the surface |
clone | Determines whether to clone soln so that the internal state of this reactor surface is independent of the original Solution (Interface) object and any Solution objects used by other reactors in the network. |
reactors | One or more reactors whose phases participate in reactions occurring on the surface. For the purpose of rate evaluation, the temperature of the surface is set equal to the temperature of the first reactor specified. |
name | Name used to identify the surface |
reactors
and clone
arguments introduced in Cantera 3.2. Definition at line 16 of file ReactorSurface.cpp.
ReactorSurface | ( | shared_ptr< Solution > | sol, |
const string & | name = "(none)" |
||
) |
Definition at line 56 of file ReactorSurface.cpp.
ReactorSurface | ( | shared_ptr< Solution > | sol, |
bool | clone, | ||
const string & | name = "(none)" |
||
) |
Definition at line 79 of file ReactorSurface.cpp.
|
inlineoverridevirtual |
String indicating the wall model implemented.
Reimplemented from ReactorBase.
Definition at line 49 of file ReactorSurface.h.
double area | ( | ) | const |
Returns the surface area [m^2].
Definition at line 89 of file ReactorSurface.cpp.
void setArea | ( | double | a | ) |
Set the surface area [m^2].
Definition at line 94 of file ReactorSurface.cpp.
|
inline |
Accessor for the SurfPhase object.
Definition at line 60 of file ReactorSurface.h.
|
inline |
Accessor for the InterfaceKinetics object.
Definition at line 65 of file ReactorSurface.h.
void setKinetics | ( | Kinetics * | kin | ) |
Set the InterfaceKinetics object for this surface.
Definition at line 99 of file ReactorSurface.cpp.
|
inlineoverridevirtual |
Connect an inlet FlowDevice to this reactor.
Reimplemented from ReactorBase.
Definition at line 74 of file ReactorSurface.h.
|
inlineoverridevirtual |
Connect an outlet FlowDevice to this reactor.
Reimplemented from ReactorBase.
Definition at line 79 of file ReactorSurface.h.
|
inlineoverridevirtual |
Insert a Wall between this reactor and another reactor.
lr
= 0 if this reactor is to the left of the wall and lr
= 1 if this reactor is to the right of the wall. This method is called automatically for both the left and right reactors by WallBase::install.
Reimplemented from ReactorBase.
Definition at line 84 of file ReactorSurface.h.
|
inlineoverridevirtual |
Add a ReactorSurface object to a Reactor object.
Reimplemented from ReactorBase.
Definition at line 88 of file ReactorSurface.h.
void setReactor | ( | ReactorBase * | reactor | ) |
Set the reactor that this Surface interacts with.
Definition at line 124 of file ReactorSurface.cpp.
void setCoverages | ( | const double * | cov | ) |
Set the surface coverages.
Array cov
has length equal to the number of surface species.
Definition at line 136 of file ReactorSurface.cpp.
void setCoverages | ( | const Composition & | cov | ) |
Set the surface coverages by name.
Definition at line 141 of file ReactorSurface.cpp.
void setCoverages | ( | const string & | cov | ) |
Set the surface coverages by name.
Definition at line 147 of file ReactorSurface.cpp.
void getCoverages | ( | double * | cov | ) | const |
Get the surface coverages.
Array cov
should have length equal to the number of surface species.
Definition at line 153 of file ReactorSurface.cpp.
|
overridevirtual |
Set the coverages and temperature in the surface phase object to the values for this surface.
The temperature is set to match the bulk phase of the attached Reactor.
Reimplemented from ReactorBase.
Definition at line 158 of file ReactorSurface.cpp.
|
overridevirtual |
Set the coverages for this ReactorSurface based on the attached SurfPhase.
Reimplemented from ReactorBase.
Definition at line 171 of file ReactorSurface.cpp.
|
overridevirtual |
Add a sensitivity parameter associated with the reaction number rxn
Reimplemented from ReactorBase.
Definition at line 179 of file ReactorSurface.cpp.
void setSensitivityParameters | ( | const double * | params | ) |
Set reaction rate multipliers.
params
is the global vector of sensitivity parameters. This function is called within ReactorNet::eval() before the reaction rates are evaluated.
Definition at line 191 of file ReactorSurface.cpp.
void resetSensitivityParameters | ( | ) |
Set reaction rate multipliers back to their initial values.
This function is called within ReactorNet::eval() after all rates have been evaluated.
Definition at line 199 of file ReactorSurface.cpp.
|
inlineoverrideprotectedvirtual |
Specify the mixture contained in the reactor.
Note that a pointer to this substance is stored, and as the integration proceeds, the state of the substance is modified.
Reimplemented from ReactorBase.
Definition at line 137 of file ReactorSurface.h.
|
overrideprotectedvirtual |
Set the InterfaceKinetics object for this surface.
Method is needed to prevent compiler warnings by disambiguating from the non-protected variant.
Reimplemented from ReactorBase.
Definition at line 119 of file ReactorSurface.cpp.
|
protected |
Definition at line 147 of file ReactorSurface.h.
|
protected |
Definition at line 149 of file ReactorSurface.h.
|
protected |
Definition at line 150 of file ReactorSurface.h.
|
protected |
Definition at line 151 of file ReactorSurface.h.
|
protected |
Definition at line 152 of file ReactorSurface.h.