Cantera  2.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
Wall Class Reference

Represents a wall between between two ReactorBase objects. More...

#include <Wall.h>

Collaboration diagram for Wall:
[legend]

Public Member Functions

virtual doublereal vdot (doublereal t)
 Rate of volume change (m^3/s) for the adjacent reactors. More...
 
virtual doublereal Q (doublereal t)
 Heat flow rate through the wall (W). More...
 
doublereal area ()
 Area in m^2. More...
 
void setArea (doublereal a)
 Set the area [m^2]. More...
 
double getArea () const
 Get the area [m^2]. More...
 
void setThermalResistance (doublereal Rth)
 
void setHeatTransferCoeff (doublereal U)
 Set the overall heat transfer coefficient [W/m^2/K]. More...
 
double getHeatTransferCoeff () const
 Get the overall heat transfer coefficient [W/m^2/K]. More...
 
void setEmissivity (doublereal epsilon)
 Set the emissivity. More...
 
double getEmissivity () const
 
void setVelocity (Cantera::Func1 *f=0)
 Set the wall velocity to a specified function of time. More...
 
void setExpansionRateCoeff (doublereal k)
 Set the expansion rate coefficient. More...
 
double getExpansionRateCoeff () const
 Get the expansion rate coefficient. More...
 
void setHeatFlux (Cantera::Func1 *q)
 Specify the heat flux function \( q_0(t) \). More...
 
bool install (ReactorBase &leftReactor, ReactorBase &rightReactor)
 Install the wall between two reactors or reservoirs. More...
 
virtual void initialize ()
 Called just before the start of integration. More...
 
virtual bool ready ()
 True if the wall is correctly configured and ready to use. More...
 
ReactorBaseleft () const
 Return a reference to the Reactor or Reservoir to the left of the wall. More...
 
const ReactorBaseright ()
 Return a reference to the Reactor or Reservoir to the right of the wall. More...
 
void setKinetics (Cantera::Kinetics *leftMechanism, Cantera::Kinetics *rightMechanism)
 Specify the heterogeneous reaction mechanisms for each side of the wall. More...
 
Cantera::SurfPhasesurface (int leftright)
 Return a pointer to the surface phase object for the left (leftright=0) or right (leftright=1) wall surface. More...
 
Cantera::Kineticskinetics (int leftright)
 Return a pointer to the surface kinetics object for the left (leftright=0) or right (leftright=1) wall surface. More...
 
void setCoverages (int leftright, const doublereal *cov)
 Set the surface coverages on the left (leftright = 0) or right (leftright = 1) surface to the values in array cov. More...
 
void setCoverages (int leftright, const compositionMap &cov)
 Set the surface coverages on the left (leftright = 0) or right (leftright = 1) surface to the values in array cov. More...
 
void setCoverages (int leftright, const std::string &cov)
 Set the surface coverages on the left (leftright = 0) or right (leftright = 1) surface to the values in array cov. More...
 
void getCoverages (int leftright, doublereal *cov)
 Write the coverages of the left or right surface into array cov. More...
 
void syncCoverages (int leftright)
 Set the coverages in the surface phase object to the values for this wall surface. More...
 
size_t nSensParams (int lr) const
 Number of sensitivity parameters associated with reactions on the left (lr = 0) or right (lr = 1) side of the wall. More...
 
void addSensitivityReaction (int leftright, size_t rxn)
 
void setSensitivityParameters (int lr, double *params)
 
void resetSensitivityParameters (int lr)
 

Protected Attributes

ReactorBasem_left
 
ReactorBasem_right
 
Cantera::Kineticsm_chem [2]
 
Cantera::SurfPhasem_surf [2]
 
size_t m_nsp [2]
 
doublereal m_area
 
doublereal m_k
 
doublereal m_rrth
 
doublereal m_emiss
 
Cantera::Func1m_vf
 
Cantera::Func1m_qf
 
Cantera::vector_fp m_leftcov
 
Cantera::vector_fp m_rightcov
 
std::vector< size_t > m_pleft
 
std::vector< size_t > m_pright
 
Cantera::vector_fp m_leftmult_save
 
Cantera::vector_fp m_rightmult_save
 

Detailed Description

Represents a wall between between two ReactorBase objects.

Walls can move (changing the volume of the adjacent reactors), allow heat transfer between reactors, and provide a location for surface reactions to take place.

Definition at line 27 of file Wall.h.

Member Function Documentation

doublereal vdot ( doublereal  t)
virtual

Rate of volume change (m^3/s) for the adjacent reactors.

The volume rate of change is given by

\[ \dot V = K A (P_{left} - P_{right}) + F(t) \]

where K is the specified expansion rate coefficient, A is the wall area, and F(t) is a specified function of time. Positive values for vdot correspond to increases in the volume of reactor on left, and decreases in the volume of the reactor on the right.

Definition at line 70 of file Wall.cpp.

References Func1::eval(), and ReactorBase::pressure().

doublereal Q ( doublereal  t)
virtual

Heat flow rate through the wall (W).

The heat flux is given by

\[ Q = h A (T_{left} - T_{right}) + A G(t) \]

where h is the heat transfer coefficient, A is the wall area, and G(t) is a specified function of time. Positive values denote a flux from left to right.

Definition at line 80 of file Wall.cpp.

References Func1::eval(), Cantera::StefanBoltz, and ReactorBase::temperature().

doublereal area ( )
inline

Area in m^2.

Definition at line 55 of file Wall.h.

void setArea ( doublereal  a)
inline

Set the area [m^2].

Definition at line 60 of file Wall.h.

double getArea ( ) const
inline

Get the area [m^2].

Definition at line 65 of file Wall.h.

void setHeatTransferCoeff ( doublereal  U)
inline

Set the overall heat transfer coefficient [W/m^2/K].

Definition at line 74 of file Wall.h.

double getHeatTransferCoeff ( ) const
inline

Get the overall heat transfer coefficient [W/m^2/K].

Definition at line 79 of file Wall.h.

void setEmissivity ( doublereal  epsilon)
inline

Set the emissivity.

Definition at line 84 of file Wall.h.

void setVelocity ( Cantera::Func1 f = 0)
inline

Set the wall velocity to a specified function of time.

Definition at line 96 of file Wall.h.

void setExpansionRateCoeff ( doublereal  k)
inline

Set the expansion rate coefficient.

Definition at line 103 of file Wall.h.

double getExpansionRateCoeff ( ) const
inline

Get the expansion rate coefficient.

Definition at line 108 of file Wall.h.

void setHeatFlux ( Cantera::Func1 q)
inline

Specify the heat flux function \( q_0(t) \).

Definition at line 113 of file Wall.h.

bool install ( ReactorBase leftReactor,
ReactorBase rightReactor 
)

Install the wall between two reactors or reservoirs.

Definition at line 21 of file Wall.cpp.

References ReactorBase::addWall().

void initialize ( )
virtual

Called just before the start of integration.

Definition at line 34 of file Wall.cpp.

virtual bool ready ( )
inlinevirtual

True if the wall is correctly configured and ready to use.

Definition at line 124 of file Wall.h.

ReactorBase& left ( ) const
inline

Return a reference to the Reactor or Reservoir to the left of the wall.

Definition at line 130 of file Wall.h.

Referenced by Wall::setKinetics().

const ReactorBase& right ( )
inline

Return a reference to the Reactor or Reservoir to the right of the wall.

Definition at line 136 of file Wall.h.

Referenced by Wall::setKinetics().

void setKinetics ( Cantera::Kinetics leftMechanism,
Cantera::Kinetics rightMechanism 
)

Specify the heterogeneous reaction mechanisms for each side of the wall.

Passing a null pointer indicates that there is no reaction mechanism for the corresponding wall surface.

Definition at line 40 of file Wall.cpp.

References DATA_PTR, SurfPhase::getCoverages(), Wall::left(), Cantera::npos, Phase::nSpecies(), Wall::right(), Kinetics::surfacePhaseIndex(), and Kinetics::thermo().

Cantera::SurfPhase* surface ( int  leftright)
inline

Return a pointer to the surface phase object for the left (leftright=0) or right (leftright=1) wall surface.

Definition at line 148 of file Wall.h.

Cantera::Kinetics* kinetics ( int  leftright)
inline

Return a pointer to the surface kinetics object for the left (leftright=0) or right (leftright=1) wall surface.

Definition at line 154 of file Wall.h.

void setCoverages ( int  leftright,
const doublereal *  cov 
)

Set the surface coverages on the left (leftright = 0) or right (leftright = 1) surface to the values in array cov.

Definition at line 95 of file Wall.cpp.

void setCoverages ( int  leftright,
const compositionMap cov 
)

Set the surface coverages on the left (leftright = 0) or right (leftright = 1) surface to the values in array cov.

Definition at line 104 of file Wall.cpp.

References SurfPhase::getCoverages(), and SurfPhase::setCoveragesByName().

void setCoverages ( int  leftright,
const std::string &  cov 
)

Set the surface coverages on the left (leftright = 0) or right (leftright = 1) surface to the values in array cov.

Definition at line 114 of file Wall.cpp.

References SurfPhase::getCoverages(), and SurfPhase::setCoveragesByName().

void getCoverages ( int  leftright,
doublereal *  cov 
)

Write the coverages of the left or right surface into array cov.

Definition at line 124 of file Wall.cpp.

void syncCoverages ( int  leftright)

Set the coverages in the surface phase object to the values for this wall surface.

Definition at line 133 of file Wall.cpp.

References DATA_PTR, and SurfPhase::setCoverages().

size_t nSensParams ( int  lr) const
inline

Number of sensitivity parameters associated with reactions on the left (lr = 0) or right (lr = 1) side of the wall.

Definition at line 179 of file Wall.h.


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