Cantera  2.5.1
Public Member Functions | List of all members
Valve Class Reference

Supply a mass flow rate that is a function of the pressure drop across the valve. More...

#include <flowControllers.h>

Inheritance diagram for Valve:
[legend]
Collaboration diagram for Valve:
[legend]

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
 
FlowDeviceoperator= (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 ()
 
ReactorBasein () const
 Return a reference to the upstream reactor. More...
 
const ReactorBaseout () 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
 
Func1m_pfunc
 Function set by setPressureFunction; used by updateMassFlowRate. More...
 
Func1m_tfunc
 Function set by setTimeFunction; used by updateMassFlowRate. More...
 
double m_coeff
 Coefficient set by derived classes; used by updateMassFlowRate. More...
 
int m_type
 

Detailed Description

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.

Member Function Documentation

◆ typeStr()

virtual std::string typeStr ( ) const
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.

◆ setPressureCoeff()

void setPressureCoeff ( double  c)
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 \]

Deprecated:
To be removed after Cantera 2.5.

Definition at line 132 of file flowControllers.h.

References FlowDevice::m_coeff, and Cantera::warn_deprecated().

◆ setValveCoeff()

void setValveCoeff ( double  c)
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.

◆ getValveCoeff()

double getValveCoeff ( )
inline

Get the valve coefficient.

Definition at line 154 of file flowControllers.h.

References FlowDevice::m_coeff.

◆ updateMassFlowRate()

void updateMassFlowRate ( double  time)
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().


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