partial function massFlowRate_dp_staticHead extends Modelica.Icons.Function; input SI.Pressure dp "Pressure loss (dp = port_a.p - port_b.p)"; input SI.Density rho_a "Density at port_a"; input SI.Density rho_b "Density at port_b"; input SI.DynamicViscosity mu_a "Dynamic viscosity at port_a (dummy if use_mu = false)"; input SI.DynamicViscosity mu_b "Dynamic viscosity at port_b (dummy if use_mu = false)"; input SI.Length length "Length of pipe"; input SI.Diameter diameter "Inner (hydraulic) diameter of pipe"; input Real g_times_height_ab(unit = "m2/s2") "Gravity times (Height(port_b) - Height(port_a))"; input SI.Area crossArea = pi * diameter ^ 2 / 4 "Inner cross section area"; input Modelica.Fluid.Types.Roughness roughness = 2.5e-5 "Absolute roughness of pipe, with a default for a smooth steel pipe (dummy if use_roughness = false)"; input SI.AbsolutePressure dp_small = 1 "Regularization of zero flow if |dp| < dp_small (dummy if use_dp_small = false)"; input SI.ReynoldsNumber Re_turbulent = 4000 "Turbulent flow if Re >= Re_turbulent (dummy if use_Re_turbulent = false)"; output SI.MassFlowRate m_flow "Mass flow rate from port_a to port_b"; end massFlowRate_dp_staticHead;