6 #ifndef CT_REACTORBASE_H
7 #define CT_REACTORBASE_H
18 const int ReservoirType = 1;
19 const int ReactorType = 2;
20 const int FlowReactorType = 3;
21 const int ConstPressureReactorType = 4;
22 const int IdealGasReactorType = 5;
23 const int IdealGasConstPressureReactorType = 6;
86 return m_inlet.size();
92 return m_outlet.size();
124 throw CanteraError(
"ReactorBase::restoreState",
"No phase defined.");
138 "Reactor contents not defined.");
146 "Reactor contents not defined.");
221 doublereal m_enthalpy;
222 doublereal m_intEnergy;
223 doublereal m_pressure;
225 std::vector<FlowDevice*> m_inlet, m_outlet;
226 std::vector<Wall*> m_wall;
A class representing a network of connected reactors.
virtual void initialize(doublereal t0=0.0)
Initialize the reactor.
void restoreState(const vector_fp &state)
Restore a state saved on a previous call to saveState.
doublereal enthalpy_mass() const
Returns the current enthalpy (J/kg) of the reactor's contents.
doublereal pressure() const
Returns the current pressure (Pa) of the reactor.
Base class for 'flow devices' (valves, pressure regulators, etc.) connecting reactors.
An error indicating that an unimplemented function has been called.
ReactorNet * m_net
The ReactorNet that this reactor is part of.
doublereal density() const
Returns the current density (kg/m^3) of the reactor's contents.
ReactorNet & network()
The ReactorNet that this reactor belongs to.
size_t nInlets()
Return the number of inlet FlowDevice objects connected to this reactor.
void addOutlet(FlowDevice &outlet)
Connect an outlet FlowDevice to this reactor.
void addInlet(FlowDevice &inlet)
Connect an inlet FlowDevice to this reactor.
Base class for a phase with thermodynamic properties.
std::vector< int > vector_int
Vector of ints.
const doublereal * massFractions() const
Return the vector of species mass fractions.
size_t nWalls()
Return the number of Wall objects connected to this reactor.
Wall & wall(size_t n)
Return a reference to the n-th Wall connected to this reactor.
Represents a wall between between two ReactorBase objects.
virtual void syncState()
Set the state of the reactor to correspond to the state of the associated ThermoPhase object...
void setInitialVolume(doublereal vol)
Set the initial reactor volume.
doublereal intEnergy_mass() const
Returns the current internal energy (J/kg) of the reactor's contents.
Base class for exceptions thrown by Cantera classes.
Base class for stirred reactors.
void restoreState()
Set the state of the Phase object associated with this reactor to the reactor's current state...
void addWall(Wall &w, int lr)
Insert a Wall between this reactor and another reactor.
virtual void setThermoMgr(thermo_t &thermo)
Specify the mixture contained in the reactor.
thermo_t & contents()
return a reference to the contents.
std::string name() const
Return the name of this reactor.
FlowDevice & inlet(size_t n=0)
Return a reference to the n-th inlet FlowDevice connected to this reactor.
void setNetwork(ReactorNet *net)
Set the ReactorNet that this reactor belongs to.
doublereal residenceTime()
Return the residence time (s) of the contents of this reactor, based on the outlet mass flow rates an...
virtual int type() const
Return a constant indicating the type of this Reactor.
doublereal mass() const
Returns the mass (kg) of the reactor's contents.
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
doublereal massFraction(size_t k) const
Return the mass fraction of the k-th species.
#define DATA_PTR(vec)
Creates a pointer to the start of the raw data for a vector.
size_t m_nsp
Number of homogeneous species in the mixture.
size_t nOutlets()
Return the number of outlet FlowDevice objects connected to this reactor.
FlowDevice & outlet(size_t n=0)
Return a reference to the n-th outlet FlowDevice connected to this reactor.
Header file for class ThermoPhase, the base class for phases with thermodynamic properties, and the text for the Module thermoprops (see Thermodynamic Properties and class ThermoPhase).
void setName(const std::string &name)
Set the name of this reactor.
doublereal temperature() const
Returns the current temperature (K) of the reactor's contents.
doublereal volume() const
Returns the current volume (m^3) of the reactor.