Discontinuity in Zigrang correlation in DynamicOnePhaseFlowPipe

This formulation (see The Book, § 13.2.1) is valid for Turbulent flow (Re>2300), but it is implemented as follows:

lambda[i] = if noEvent(Re2[i] > 1) then 0.25*(Modelica.Math.log10(13/Re2[i] + rugosrel/3.7/D))^(-2) else 0.01;

The problem is that this formulation presents a discontinuity for Re ~ 13 and the boolean condition avoiding Re lower than 1 does not help here:

Friction_discontinuity

Typical Re values are generally big enough to stay away from this singularity, but this particular condition may be found when the mass flow rate is next to zero, even temporary (during start-ups or shut-downs for example).

I see two solutions here:

  • Just put a limit for higher Re (greater than 13, to be defined) → quick fix.
  • Consider the correlation for laminar flow under a defined threshold.
Edited by SIMONINI Giorgio