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
.