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.