Partial model for a two way valve. This is the base model for valves with different opening characteristics, such as linear, equal percentage, quick opening or pressure-independent.
To prevent the derivative d/dP (m_flow) to be
infinite near the origin, this model linearizes the pressure drop
versus flow relation ship. The region in which it is linearized is
parameterized by
m_turbulent_flow = deltaM * m_flow_nominal
Because the parameterization contains Kv_SI, the
values for deltaM and dp_nominal need not
be changed if the valve size changes.
In contrast to the model in Modelica.Fluid, this model uses the
parameter Kv_SI, which is the flow coefficient in SI
units, i.e., it is the ratio between mass flow rate in
kg/s and square root of pressure drop in
Pa.
This model allows different parameterization of the flow resistance. The different parameterizations are described in Annex60.Fluid.Actuators.BaseClasses.ValveParameters.
The two way valve models are implemented using this partial model, as opposed to using different functions for the valve opening characteristics, because each valve opening characteristics has different parameters.
phi.phi > 0. This fixes a bug that
caused valves to behave like pumps for negative control signals.
This is for #558.dpFixed_nominal >
-Modelica.Constants.small to dpFixed_nominal >
-Modelica.Constants.eps. Otherwise, JModelica evaluates it
as true in Annex60.Fluid.Actuators.Valves.Examples.TwoWayValves.
See also https://trac.jmodelica.org/ticket/4932.
This is for Buildings,
issue 510.k to make the model
work in OpenModelica.input to variable phi to
require models that extend this model to provide a binding
equation. This is done to use the same modeling concept as is used
for example in
Annex60.Fluid.Interfaces.StaticTwoPortHeatMassExchanger.dp(nominal=6000) as the previous formulation gives
an error during model check in Dymola 2014. The reason is that the
previous formulation used dpValve_nominal, which is
not known at translation time.dpValve_nominal, as this parameter has the attribute
fixed=false for some values of CvData. In
this case, assigning a value is not allowed. Changed assignment of
nominal attribute of dp to avoid assigning a
non-literal value.dp_nominal to
dpValve_nominal, and added new parameter
dpFixed_nominal. See Annex60.Fluid.Actuators.UsersGuide.Annex60.Fluid.BaseClasses.PartialResistance,
Annex60.Fluid.Actuators.BaseClasses.PartialTwoWayValve,
Annex60.Fluid.Actuators.BaseClasses.PartialDamperExponential,
Annex60.Fluid.Actuators.BaseClasses.PartialActuator
and model
Annex60.Fluid.FixedResistances.PressureDrop.assert statement to prevent l=0 due
to the implementation of
Annex60.Fluid.BaseClasses.FlowModels.basicFlowFunction_m_flow.Modelica.Fluid.