Function that computes mass flow rate for given pressure drop
Function that computes the pressure drop of flow elements as
ṁ = sign(Δp) k √ Δp
with regularization near the origin.
Therefore, the flow coefficient is
k = ṁ ⁄ √ Δp
The input m_flow_turbulent
determines the location of the regularization.
function basicFlowFunction_dp
input Modelica.Units.SI.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.Units.SI.MassFlowRate m_flow_turbulent(min = 0) "Mass flow rate where transition to turbulent flow occurs";
output Modelica.Units.SI.MassFlowRate m_flow "Mass flow rate in design flow direction";
end basicFlowFunction_dp;
-
November 9, 2019, by Filip Jorissen:
Added smooth(2, . )
for avoiding
a warning in the check valve model.
See #1240.
-
January 4, 2019, by Michael Wetter:
Set `Inline=false`.
See #1070.
-
May 1, 2017, by Filip Jorissen:
Revised implementation such that
basicFlowFunction_dp
is C2 continuous.
See #725.
-
March 19, 2016, by Michael Wetter:
Added abs
function for
IBPSA.Fluid.FixedResistances.Validation.PressureDropsExplicit
to work in OpenModelica.
See
OpenModelica ticket 3778.
-
January 22, 2016, by Michael Wetter:
Corrected type declaration of pressure difference.
This is
for #404.
-
July 28, 2015, by Michael Wetter:
Removed double declaration of smooth(..)
and smoothOrder
and changed Inline=true
to LateInline=true
.
This is for
issue 301.
-
July 15, 2015, by Filip Jorissen:
New, more efficient implementation based on regularisation using simple polynomial.
Expanded common subexpressions for function inlining to be possible.
Set Inline=true
for inlining to occur.
This is for
#279.
-
January 9, 2014, by Michael Wetter:
Correct revision section, of which there were two.
-
August 10, 2011, by Michael Wetter:
Removed if-then
optimization that set m_flow=0
if dp=0
,
as this causes the derivative to be discontinuous at dp=0
.
-
August 4, 2011, by Michael Wetter:
Removed option to use a linear function. The linear implementation is now done
in models that call this function. With the previous implementation,
the symbolic processor may not rearrange the equations, which can lead
to coupled equations instead of an explicit solution.
-
March 29, 2010 by Michael Wetter:
Changed implementation to allow k=0
, which is
the case for a closed valve with no leakage
-
April 13, 2009, by Michael Wetter:
First implementation.
Generated at 2025-03-09T19:25:01Z
by OpenModelicaOpenModelica 1.24.5 using GenerateDoc.mos