WOLFRAM SYSTEM MODELER
LossFactorDataData structure defining constant loss factor data for dp = zeta*rho*v*v/2 and functions providing the data for some loss types 
SystemModel["Modelica.Fluid.Fittings.BaseClasses.QuadraticTurbulent.LossFactorData"]
This information is part of the Modelica Standard Library maintained by the Modelica Association.
This record defines the pressure loss factors of a pipe segment (orifice, bending etc.) with a minimum amount of data. If available, data should be provided for both flow directions, i.e., flow from port_a to port_b and from port_b to port_a, as well as for the laminar and the turbulent region. It is also an option to provide the loss factor only for the turbulent region for a flow from port_a to port_b.
The following equations are used:
Δp = 0.5*ζ*ρ*v*v = 0.5*ζ/A^2 * (1/ρ) * m_flow*m_flow = 8*ζ/(π^2*D^4*ρ) * m_flow*m_flow Re = v*D*ρ/μ
flow type  ζ =  flow region 
turbulent  zeta1 = const.  Re ≥ Re_turbulent, v ≥ 0 
zeta2 = const.  Re ≥ Re_turbulent, v < 0  
laminar  c0/Re  both flow directions, Re small; c0 = const. 
where
The laminar and the transition region is usually of not much technical interest because the operating point is mostly in the turbulent regime. For simplification and for numerical reasons, this whole region is described by two polynomials of third order, one polynomial for m_flow ≥ 0 and one for m_flow < 0. The polynomials start at Re = m_flow*4/(π*D_Re*μ), where D_Re is the smallest diameter between port_a and port_b. The common derivative of the two polynomials at Re = 0 is computed from the equation "c0/Re". Note, the pressure drop equation above in the laminar region is always defined with respect to the smallest diameter D_Re.
If no data for c0 is available, the derivative at Re = 0 is computed in such a way, that the second derivatives of the two polynomials are identical at Re = 0. The polynomials are constructed, such that they smoothly touch the characteristic curves in the turbulent regions. The whole characteristic is therefore continuous and has a finite, continuous first derivative everywhere. In some cases, the constructed polynomials would "vibrate". This is avoided by reducing the derivative at Re=0 in such a way that the polynomials are guaranteed to be monotonically increasing. The used sufficient criteria for monotonicity follows from:
Modelica.Fluid.Fittings.BaseClasses.QuadraticTurbulent Generic pressure drop component with constant turbulent loss factor data and without an icon 

BaseModelNonconstantCrossSectionArea Modelica.Fluid.Fittings.BaseClasses.QuadraticTurbulent Generic pressure drop component with constant turbulent loss factor data and without an icon, for nonconstant cross section area 