Cantera  3.2.0a2
Loading...
Searching...
No Matches
ReactorSurface Class Reference

A surface where reactions can occur that is in contact with the bulk fluid of a Reactor. More...

#include <ReactorSurface.h>

Inheritance diagram for ReactorSurface:
[legend]

Detailed Description

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].
 
SurfPhasethermo ()
 Accessor for the SurfPhase object.
 
Kineticskinetics ()
 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
 
- Public Member Functions inherited from ReactorBase
 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
 
ReactorBaseoperator= (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.
 
ThermoPhasecontents ()
 return a reference to the contents.
 
const ThermoPhasecontents () 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.
 
ReactorNetnetwork ()
 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.
 
FlowDeviceinlet (size_t n=0)
 Return a reference to the n-th inlet FlowDevice connected to this reactor.
 
FlowDeviceoutlet (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.
 
WallBasewall (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.
 
ReactorSurfacesurface (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
 
SurfPhasem_surf = nullptr
 
Kineticsm_kinetics = nullptr
 
ReactorBasem_reactor = nullptr
 
vector< double > m_cov
 
- Protected Attributes inherited from ReactorBase
size_t m_nsp = 0
 Number of homogeneous species in the mixture.
 
ThermoPhasem_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.
 
ReactorNetm_net = nullptr
 The ReactorNet that this reactor is part of.
 
shared_ptr< Solutionm_solution
 Composite thermo/kinetics/transport handler.
 
vector< SensitivityParameterm_sensParams
 

Constructor & Destructor Documentation

◆ ReactorSurface()

ReactorSurface ( shared_ptr< Solution sol,
const string &  name = "(none)" 
)

Definition at line 16 of file ReactorSurface.cpp.

Member Function Documentation

◆ type()

string type ( ) const
inlineoverridevirtual

String indicating the wall model implemented.

Reimplemented from ReactorBase.

Definition at line 26 of file ReactorSurface.h.

◆ area()

double area ( ) const

Returns the surface area [m^2].

Definition at line 39 of file ReactorSurface.cpp.

◆ setArea()

void setArea ( double  a)

Set the surface area [m^2].

Definition at line 44 of file ReactorSurface.cpp.

◆ thermo()

SurfPhase * thermo ( )
inline

Accessor for the SurfPhase object.

Definition at line 37 of file ReactorSurface.h.

◆ kinetics()

Kinetics * kinetics ( )
inline

Accessor for the InterfaceKinetics object.

Definition at line 42 of file ReactorSurface.h.

◆ setKinetics() [1/2]

void setKinetics ( Kinetics kin)

Set the InterfaceKinetics object for this surface.

Deprecated:
To be removed after Cantera 3.2. Use constructor with Solution object instead.

Definition at line 49 of file ReactorSurface.cpp.

◆ addInlet()

void addInlet ( FlowDevice inlet)
inlineoverridevirtual

Connect an inlet FlowDevice to this reactor.

Reimplemented from ReactorBase.

Definition at line 51 of file ReactorSurface.h.

◆ addOutlet()

void addOutlet ( FlowDevice outlet)
inlineoverridevirtual

Connect an outlet FlowDevice to this reactor.

Reimplemented from ReactorBase.

Definition at line 56 of file ReactorSurface.h.

◆ addWall()

void addWall ( WallBase w,
int  lr 
)
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.

◆ addSurface()

void addSurface ( ReactorSurface surf)
inlineoverridevirtual

Add a ReactorSurface object to a Reactor object.

Reimplemented from ReactorBase.

Definition at line 65 of file ReactorSurface.h.

◆ setReactor()

void setReactor ( ReactorBase reactor)

Set the reactor that this Surface interacts with.

Definition at line 74 of file ReactorSurface.cpp.

◆ setCoverages() [1/3]

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.

◆ setCoverages() [2/3]

void setCoverages ( const Composition cov)

Set the surface coverages by name.

Definition at line 84 of file ReactorSurface.cpp.

◆ setCoverages() [3/3]

void setCoverages ( const string &  cov)

Set the surface coverages by name.

Definition at line 90 of file ReactorSurface.cpp.

◆ getCoverages()

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.

◆ syncState()

void syncState ( )
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.

◆ addSensitivityReaction()

void addSensitivityReaction ( size_t  rxn)
overridevirtual

Add a sensitivity parameter associated with the reaction number rxn

Reimplemented from ReactorBase.

Definition at line 107 of file ReactorSurface.cpp.

◆ setSensitivityParameters()

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.

◆ resetSensitivityParameters()

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.

◆ setThermo()

void setThermo ( ThermoPhase thermo)
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.

Since
New in Cantera 3.1.

Reimplemented from ReactorBase.

Definition at line 104 of file ReactorSurface.h.

◆ setKinetics() [2/2]

void setKinetics ( Kinetics kin)
overrideprotectedvirtual

Set the InterfaceKinetics object for this surface.

Method is needed to prevent compiler warnings by disambiguating from the non-protected variant.

Since
New in Cantera 3.2.
Deprecated:
To be removed after Cantera 3.2. Use constructor with Solution object instead.

Reimplemented from ReactorBase.

Definition at line 69 of file ReactorSurface.cpp.

◆ ReactorBase() [1/2]

ReactorBase ( const string &  name = "(none)")
explicit

Definition at line 51 of file ReactorBase.cpp.

◆ ReactorBase() [2/2]

ReactorBase ( shared_ptr< Solution sol,
const string &  name = "(none)" 
)

Instantiate a ReactorBase object with Solution contents.

Parameters
solSolution object to be set.
nameName of the reactor.
Since
New in Cantera 3.1.

Definition at line 56 of file ReactorBase.cpp.

Member Data Documentation

◆ m_area

double m_area = 1.0
protected

Definition at line 114 of file ReactorSurface.h.

◆ m_surf

SurfPhase* m_surf = nullptr
protected

Definition at line 116 of file ReactorSurface.h.

◆ m_kinetics

Kinetics* m_kinetics = nullptr
protected

Definition at line 117 of file ReactorSurface.h.

◆ m_reactor

ReactorBase* m_reactor = nullptr
protected

Definition at line 118 of file ReactorSurface.h.

◆ m_cov

vector<double> m_cov
protected

Definition at line 119 of file ReactorSurface.h.


The documentation for this class was generated from the following files: