Supply a mass flow rate that is a function of the pressure drop across the valve. More...
#include <flowControllers.h>
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.
The device coefficient c sets the proportionality constant between pressure drop and mass flow rate and 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 151 of file flowControllers.h.
Public Member Functions | |
| string | type () const override |
| String indicating the connector implemented. | |
| void | setValveCoeff (double c) |
| Set the proportionality constant between pressure drop and mass flow rate. | |
| double | getValveCoeff () |
| Get the valve coefficient. | |
| void | updateMassFlowRate (double time) override |
| Compute the current mass flow rate, based on the pressure difference. | |
| FlowDevice (shared_ptr< ReactorBase > r0, shared_ptr< ReactorBase > r1, const string &name="(none)") | |
Public Member Functions inherited from FlowDevice | |
| FlowDevice (shared_ptr< ReactorBase > r0, shared_ptr< ReactorBase > r1, const string &name="(none)") | |
| string | type () const override |
| String indicating the connector implemented. | |
| double | massFlowRate () |
| Mass flow rate (kg/s). | |
| virtual void | updateMassFlowRate (double time) |
| Update the mass flow rate at time 'time'. | |
| virtual void | setMassFlowRate (double mdot) |
| Set the fixed mass flow rate (kg/s) through a flow device. | |
| double | deviceCoefficient () const |
| Get the device coefficient (defined by derived class). | |
| void | setDeviceCoefficient (double c) |
| Set the device coefficient (defined by derived class). | |
| virtual void | setPrimary (shared_ptr< ConnectorNode > primary) |
| Set the primary mass flow controller. | |
| double | outletSpeciesMassFlowRate (size_t k) |
| Mass flow rate (kg/s) of outlet species k. | |
| double | enthalpy_mass () |
| specific enthalpy | |
| bool | install (ReactorBase &in, ReactorBase &out) |
| Install a flow device between two reactors. | |
| virtual bool | ready () |
| ReactorBase & | in () const |
| Return a reference to the upstream reactor. | |
| const ReactorBase & | out () const |
| Return a const reference to the downstream reactor. | |
| ReactorBase & | out () |
| Return a mutable reference to the downstream reactor. | |
| double | evalPressureFunction () |
| Return current value of the pressure function. | |
| virtual void | setPressureFunction (Func1 *f) |
| Set a function of pressure that is used in determining the mass flow rate through the device. | |
| virtual void | setPressureFunction (shared_ptr< Func1 > f) |
| Set a function of pressure to modify the pressure response. | |
| double | evalTimeFunction () |
| Return current value of the time function. | |
| virtual void | setTimeFunction (Func1 *g) |
| Set a function of time that is used in determining the mass flow rate through the device. | |
| virtual void | setTimeFunction (shared_ptr< Func1 > g) |
| Set a function of time to modulate the mass flow rate. | |
| void | setSimTime (double time) |
| Set current reactor network time. | |
| ConnectorNode (const string &name="(none)") | |
| Transitional constructor. | |
| ConnectorNode (shared_ptr< ReactorBase > r0, shared_ptr< ReactorBase > r1, const string &name="(none)") | |
| Instantiate a ConnectorNode object with associated ReactorBase objects. | |
| ConnectorNode (const ConnectorNode &)=delete | |
Public Member Functions inherited from ConnectorNode | |
| ConnectorNode (const string &name="(none)") | |
| Transitional constructor. | |
| ConnectorNode (shared_ptr< ReactorBase > r0, shared_ptr< ReactorBase > r1, const string &name="(none)") | |
| Instantiate a ConnectorNode object with associated ReactorBase objects. | |
| ConnectorNode (const ConnectorNode &)=delete | |
| ConnectorNode & | operator= (const ConnectorNode &)=delete |
| virtual string | type () const |
| String indicating the connector implemented. | |
| string | name () const |
| Retrieve connector name. | |
| void | setName (const string &name) |
| Set connector name. | |
| void | setDefaultName (map< string, int > &counts) |
Set the default name of a connector. Returns false if it was previously set. | |
Additional Inherited Members | |
Protected Attributes inherited from FlowDevice | |
| double | m_mdot = Undef |
| Func1 * | m_pfunc = nullptr |
| Function set by setPressureFunction; used by updateMassFlowRate. | |
| Func1 * | m_tfunc = nullptr |
| Function set by setTimeFunction; used by updateMassFlowRate. | |
| double | m_coeff = 1.0 |
| Coefficient set by derived classes; used by updateMassFlowRate. | |
| double | m_time = 0. |
| Current reactor network time. | |
Protected Attributes inherited from ConnectorNode | |
| pair< shared_ptr< ReactorBase >, shared_ptr< ReactorBase > > | m_nodes |
| Pair of reactors forming end points of the connector. | |
| string | m_name |
| ConnectorNode name. | |
| bool | m_defaultNameSet = false |
true if default name has been previously set. | |
|
inlineoverridevirtual |
String indicating the connector implemented.
Usually corresponds to the name of the derived class.
Reimplemented from FlowDevice.
Definition at line 156 of file flowControllers.h.
|
inline |
Set the proportionality constant between pressure drop and mass flow rate.
Definition at line 161 of file flowControllers.h.
|
inline |
Get the valve coefficient.
Definition at line 166 of file flowControllers.h.
|
overridevirtual |
Compute the current mass flow rate, based on the pressure difference.
Reimplemented from FlowDevice.
Definition at line 63 of file flowControllers.cpp.
| FlowDevice | ( | shared_ptr< ReactorBase > | r0, |
| shared_ptr< ReactorBase > | r1, | ||
| const string & | name = "(none)" |
||
| ) |
Definition at line 27 of file FlowDevice.cpp.