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
IBPSA.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