Cantera
2.5.1
|
Supply a mass flow rate that is a function of the pressure drop across the valve. More...
#include <flowControllers.h>
Public Member Functions | |
virtual std::string | typeStr () const |
String indicating the flow device implemented. More... | |
void | setPressureCoeff (double c) |
Set the proportionality constant between pressure drop and mass flow rate. More... | |
void | setValveCoeff (double c) |
Set the proportionality constant between pressure drop and mass flow rate. More... | |
double | getValveCoeff () |
Get the valve coefficient. More... | |
virtual void | updateMassFlowRate (double time) |
Compute the currrent mass flow rate, based on the pressure difference. 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... | |
virtual bool | ready () |
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... | |
virtual void | setTimeFunction (Func1 *g) |
Set a function of time 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... | |
Additional Inherited Members | |
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 |
Supply a mass flow rate that is a function of the pressure drop across the valve.
The default behavior is a linearly proportional to the pressure difference. Note that real valves do not have this behavior, so this class does not model real, physical valves.
Definition at line 116 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 121 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} = c \Delta P \]
Definition at line 132 of file flowControllers.h.
References FlowDevice::m_coeff, and Cantera::warn_deprecated().
|
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} = c g(t) f(\Delta P) \]
where g and f are functions of time and pressure drop that are set by setTimeFunction
and setPressureFunction
, respectively. If no functions are specified, the mass flow rate defaults to:
\[\dot{m} = c \Delta P \]
Definition at line 149 of file flowControllers.h.
References FlowDevice::m_coeff.
|
inline |
Get the valve coefficient.
Definition at line 154 of file flowControllers.h.
References FlowDevice::m_coeff.
|
virtual |
Compute the currrent mass flow rate, based on the pressure difference.
Reimplemented from FlowDevice.
Definition at line 64 of file flowControllers.cpp.
References Func1::eval(), FlowDevice::in(), FlowDevice::m_coeff, FlowDevice::m_pfunc, FlowDevice::m_tfunc, FlowDevice::out(), and ReactorBase::pressure().