Function that computes the pressure drop of flow elements as
m = sign(Δp) k √ Δp
with regularization near the origin. Therefore, the flow coefficient is
k = m ⁄ √ Δp
The input m_flow_turbulent determines the location
of the regularization.
function basicFlowFunction_dp input Modelica.SIunits.PressureDifference dp(displayUnit = "Pa") "Pressure difference between port_a and port_b (= port_a.p - port_b.p)"; input Real k(min = 0, unit = "") "Flow coefficient, k=m_flow/sqrt(dp), with unit=(kg.m)^(1/2)"; input Modelica.SIunits.MassFlowRate m_flow_turbulent(min = 0) "Mass flow rate where transition to turbulent flow occurs"; output Modelica.SIunits.MassFlowRate m_flow "Mass flow rate in design flow direction"; end basicFlowFunction_dp;
abs function for
Annex60.Fluid.FixedResistances.Validation.PressureDropsExplicit
to work in OpenModelica. See OpenModelica
ticket 3778.smooth(..) and
smoothOrder and changed Inline=true to
LateInline=true. This is for issue
301.Inline=true for inlining
to occur. This is for #279.if-then optimization that set
m_flow=0 if dp=0, as this causes the
derivative to be discontinuous at dp=0.k=0, which is the case
for a closed valve with no leakage