Cantera
2.5.1
|
A class for flow controllers where the flow rate is equal to the flow rate of a "master" mass flow controller plus a correction proportional to the pressure difference between the inlet and outlet. More...
#include <flowControllers.h>
Public Member Functions | |
virtual std::string | typeStr () const |
String indicating the flow device implemented. More... | |
virtual bool | ready () |
void | setMaster (FlowDevice *master) |
virtual void | setTimeFunction (Func1 *g) |
Set a function of time that is used in determining the mass flow rate through the device. More... | |
void | setPressureCoeff (double c) |
Set the proportionality constant between pressure drop and mass flow rate. More... | |
double | getPressureCoeff () |
Get the pressure coefficient. More... | |
virtual void | updateMassFlowRate (double time) |
Update the mass flow rate at time 'time'. More... | |
Public Member Functions inherited from FlowDevice | |
FlowDevice (const FlowDevice &)=delete | |
FlowDevice & | operator= (const FlowDevice &)=delete |
virtual int | type () const |
Return an integer indicating the type of flow device. More... | |
double | massFlowRate (double time=-999.0) |
Mass flow rate (kg/s). More... | |
double | outletSpeciesMassFlowRate (size_t k) |
Mass flow rate (kg/s) of outlet species k. More... | |
double | enthalpy_mass () |
specific enthalpy More... | |
bool | install (ReactorBase &in, ReactorBase &out) |
Install a flow device between two reactors. More... | |
ReactorBase & | in () const |
Return a reference to the upstream reactor. More... | |
const ReactorBase & | out () const |
Return a const reference to the downstream reactor. More... | |
virtual void | setParameters (int n, const double *coeffs) |
Set parameters. More... | |
void | setFunction (Func1 *f) |
Set a function of a single variable that is used in determining the mass flow rate through the device. More... | |
virtual void | setPressureFunction (Func1 *f) |
Set a function of pressure that is used in determining the mass flow rate through the device. More... | |
void | setMassFlowRate (double mdot) |
Set the fixed mass flow rate (kg/s) through the flow device. More... | |
Protected Attributes | |
FlowDevice * | m_master |
Protected Attributes inherited from FlowDevice | |
double | m_mdot |
Func1 * | m_pfunc |
Function set by setPressureFunction; used by updateMassFlowRate. More... | |
Func1 * | m_tfunc |
Function set by setTimeFunction; used by updateMassFlowRate. More... | |
double | m_coeff |
Coefficient set by derived classes; used by updateMassFlowRate. More... | |
int | m_type |
A class for flow controllers where the flow rate is equal to the flow rate of a "master" mass flow controller plus a correction proportional to the pressure difference between the inlet and outlet.
Definition at line 63 of file flowControllers.h.
|
inlinevirtual |
String indicating the flow device implemented.
Usually corresponds to the name of the derived class.
Reimplemented from FlowDevice.
Definition at line 68 of file flowControllers.h.
|
inlinevirtual |
Set a function of time that is used in determining the mass flow rate through the device.
The evaluation of mass flow depends on the derived flow device class.
Reimplemented from FlowDevice.
Definition at line 80 of file flowControllers.h.
|
inline |
Set the proportionality constant between pressure drop and mass flow rate.
c has units of kg/s/Pa. The mass flow rate is computed as:
\[\dot{m} = \dot{m}_{master} + c f(\Delta P) \]
where f is a functions of pressure drop that is set by setPressureFunction
. If no functions is specified, the mass flow rate defaults to:
\[\dot{m} = \dot{m}_{master} + c \Delta P \]
Definition at line 94 of file flowControllers.h.
References FlowDevice::m_coeff.
|
inline |
Get the pressure coefficient.
Definition at line 99 of file flowControllers.h.
References FlowDevice::m_coeff.
|
virtual |
Update the mass flow rate at time 'time'.
This must be overloaded in subclassess to update m_mdot.
Reimplemented from FlowDevice.
Definition at line 42 of file flowControllers.cpp.
References Func1::eval(), FlowDevice::in(), FlowDevice::m_coeff, FlowDevice::m_pfunc, FlowDevice::massFlowRate(), FlowDevice::out(), ReactorBase::pressure(), and FlowDevice::updateMassFlowRate().