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=AixLib.Fluid.Types.CvTypes.Kv
Kv = 0.5
flowCharacteristics(y={0,1}, phi={0.0001,1})
Note, however, that AixLib.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:
y and phi must be
strictly increasing.y[1]=0, and
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.y[end]=1 and
phi[end]=1.This model is based on the partial valve model AixLib.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 AixLib.Fluid.Actuators.Valves.Examples.TwoWayValveTable.
order to a constant as most users need not change this
value.phi using max(0.1*l,
. ) to avoid phi=0. See issue
1376.phi using max(0, .
) to avoid negative phi. See issue
1223.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.