function dp_fric_of_m_flow
extends Modelica.Icons.Function;
input SI.MassFlowRate m_flow "Mass flow rate from port_a to port_b";
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 SI.Area crossArea "Inner cross section area";
input SI.ReynoldsNumber Re1 "Boundary between laminar regime and transition";
input SI.ReynoldsNumber Re2 "Boundary between transition and turbulent regime";
input Real Delta(min = 0) "Relative roughness";
output SI.Pressure dp_fric "Pressure loss due to friction (dp_fric = port_a.p - port_b.p - dp_grav)";
output Real ddp_fric_dm_flow "Derivative of pressure drop with mass flow rate";
end dp_fric_of_m_flow;