Two way valve with opening characteristic that is configured through a table.
The mass flow rate for the fully open valve is determined based
on the value of the parameter CvData
.
For the different valve positions y ∈ [0, 1], this nominal flow rate is
scaled by the values of the parameter
flowCharacteristics
.
The parameter flowCharacteristics
declares a table of the form
y | 0 | ... | 1 |
φ | l | ... | 1 |
where l = Kv(y=0)/Kv(y=1) > 0 is the valve leakage. The first row is the valve opening, and the second row is the mass flow rate, relative to the mass flow rate of the fully open valve, under the assumption of a constant pressure difference across the valve. A suggested value for the valve leakage is l=0.0001. If l = 0, then this model will replace it with l = 10-8 for numerical reasons. For example, if a valve has Kv=0.5 [m3/h/bar1/2] and a linear opening characteristics and a valve leakage of l=0.0001, then one would set
CvData=Annex60.Fluid.Types.CvTypes.Kv Kv = 0.5 flowCharacteristics(y={0,1}, phi={0.0001,1})
Note, however, that Annex60.Fluid.Actuators.Valves.TwoWayLinear provides a more efficient implementation for this simple case.
The parameter flowCharacteristics
must meet the following
requirements, otherwise the model stops with an error:
flowCharacteristics.y
and flowCharacteristics.phi
must be strictly monotonic increasing.
flowCharacteristics.y[1]=0
, and
flowCharacteristics.phi[1]
must be equal to the
leakage flow rate, which must be bigger than zero.
Otherwise, a default value of 1E-8
is used.
flowCharacteristics.y[end]=1
and
flowCharacteristics.phi[end]=1
.
This model is based on the partial valve model Annex60.Fluid.Actuators.BaseClasses.PartialTwoWayValve. Check this model for more information, such as the regularization near the origin.
For an example that specifies an opening characteristics, see Annex60.Fluid.Actuators.Valves.Examples.TwoWayValveTable.
Real
in the
assert
statements as this is not allowed in Modelica.
end
keyword when accessing array elements,
as this language construct caused an error in OpenModelica.
phi
to the model instantiation because in its base class,
the keyword input
has been added to the variable phi
.