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 > sol, 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 | syncState () override |
Set the coverages and temperature in the surface phase object to the values for this surface. | |
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 (const ReactorBase &)=delete | |
![]() | |
ReactorBase (const string &name="(none)") | |
ReactorBase (shared_ptr< Solution > sol, 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. | |
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 |
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 |
ReactorBase * | m_reactor = nullptr |
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 > | sol, |
const string & | name = "(none)" |
||
) |
Definition at line 16 of file ReactorSurface.cpp.
|
inlineoverridevirtual |
String indicating the wall model implemented.
Reimplemented from ReactorBase.
Definition at line 26 of file ReactorSurface.h.
double area | ( | ) | const |
Returns the surface area [m^2].
Definition at line 39 of file ReactorSurface.cpp.
void setArea | ( | double | a | ) |
Set the surface area [m^2].
Definition at line 44 of file ReactorSurface.cpp.
|
inline |
Accessor for the SurfPhase object.
Definition at line 37 of file ReactorSurface.h.
|
inline |
Accessor for the InterfaceKinetics object.
Definition at line 42 of file ReactorSurface.h.
void setKinetics | ( | Kinetics * | kin | ) |
Set the InterfaceKinetics object for this surface.
Definition at line 49 of file ReactorSurface.cpp.
|
inlineoverridevirtual |
Connect an inlet FlowDevice to this reactor.
Reimplemented from ReactorBase.
Definition at line 51 of file ReactorSurface.h.
|
inlineoverridevirtual |
Connect an outlet FlowDevice to this reactor.
Reimplemented from ReactorBase.
Definition at line 56 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 61 of file ReactorSurface.h.
|
inlineoverridevirtual |
Add a ReactorSurface object to a Reactor object.
Reimplemented from ReactorBase.
Definition at line 65 of file ReactorSurface.h.
void setReactor | ( | ReactorBase * | reactor | ) |
Set the reactor that this Surface interacts with.
Definition at line 74 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 79 of file ReactorSurface.cpp.
void setCoverages | ( | const Composition & | cov | ) |
Set the surface coverages by name.
Definition at line 84 of file ReactorSurface.cpp.
void setCoverages | ( | const string & | cov | ) |
Set the surface coverages by name.
Definition at line 90 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 96 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 101 of file ReactorSurface.cpp.
|
overridevirtual |
Add a sensitivity parameter associated with the reaction number rxn
Reimplemented from ReactorBase.
Definition at line 107 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 119 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 127 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 104 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 69 of file ReactorSurface.cpp.
|
explicit |
Definition at line 51 of file ReactorBase.cpp.
ReactorBase | ( | shared_ptr< Solution > | sol, |
const string & | name = "(none)" |
||
) |
Instantiate a ReactorBase object with Solution contents.
sol | Solution object to be set. |
name | Name of the reactor. |
Definition at line 56 of file ReactorBase.cpp.
|
protected |
Definition at line 114 of file ReactorSurface.h.
|
protected |
Definition at line 116 of file ReactorSurface.h.
|
protected |
Definition at line 117 of file ReactorSurface.h.
|
protected |
Definition at line 118 of file ReactorSurface.h.
|
protected |
Definition at line 119 of file ReactorSurface.h.