functionpowerLaw_dp
Information
This model describes the mass flow rate and pressure difference relation of a flow resistance in the form
ṁ = k sign(Δp) |Δp|1/n
where
ṁ is the mass flow rate,
k > 0 is a flow coefficient
Δ p is the pressure drop and
n ∈ [1, 2] is a flow exponent.
The equation is regularized for
|Δp| < Δpt, where
Δpt is a parameter that is computed from the input m_flow_turbulent.
For laminar flow, set n=1 and
for turbulent flow, set n=2.
The polynomial coefficients a1, a3 and a5,
the flow exponent m and the pressure difference
dp_turbulent are computed by the function
Buildings.Fluid.BaseClasses.FlowModels.powerLawData
and passed as inputs. As these quantities only depend on the parameters
k, n and m_flow_turbulent, they
can be computed once as parameters rather than at each function evaluation.
The model is used for the fluid flow models that are neither fully laminar nor fully turbulent. It is identical to Buildings.Airflow.Multizone.BaseClasses.powerLawFixedM except that it is formulated for mass flow rate rather than volume flow rate.
Note regarding arguments
This function takes as inputs not only the coefficients
dp_turbulent, m, a1, a3 and a5
that are used in its own implementation,
but also the coefficients C, b1, b3 and b5
that are used by its inverse function
Buildings.Fluid.BaseClasses.FlowModels.powerLaw_m_flow.
These additional arguments are needed so that the inverse annotation
can pass the input arguments of this function directly to its inverse function.
Therefore, this function and its inverse function
Buildings.Fluid.BaseClasses.FlowModels.powerLaw_m_flow
have the same input arguments, except that this function takes the pressure difference
dp as the first argument while its inverse takes the mass flow rate
m_flow as the first argument.
The coefficients C, b1, b3 and b5
are computed by the function
Buildings.Fluid.BaseClasses.FlowModels.powerLawData.
Implementation
For |Δp| < Δpt, the equation is regularized so that it is twice continuously differentiable in Δp, and that it has an infinite number of continuous derivatives in n and in k.
Inputs
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.PressureDifference | dp | Pressure difference | |
| Real | k | Flow coefficient, k = m_flow/ dp^(1/n) | |
| Real | n | Flow exponent, n=1 for laminar, n=2 for turbulent | |
| Modelica.Units.SI.MassFlowRate | m_flow_turbulent | Mass flow rate where transition to turbulent flow occurs | |
| Modelica.Units.SI.PressureDifference | dp_turbulent | Pressure difference where turbulent flow occurs | |
| Real | m | Flow exponent for the pressure drop | |
| Real | a1 | Polynomial coefficient for regularized implementation of flow resistance | |
| Real | a3 | Polynomial coefficient for regularized implementation of flow resistance | |
| Real | a5 | Polynomial coefficient for regularized implementation of flow resistance | |
| Real | C | Coefficient 1/k^n, based on the definition k = m_flow / dp^(1/n) | |
| Real | b1 | Polynomial coefficient for regularized implementation of flow resistance | |
| Real | b3 | Polynomial coefficient for regularized implementation of flow resistance | |
| Real | b5 | Polynomial coefficient for regularized implementation of flow resistance |
Outputs
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.MassFlowRate | m_flow | Mass flow rate |
Revisions
-
May 30, 2026, by Michael Wetter:
First implementation.
This is for Buildings, #4620.