Model of a flow resistance with a fixed flow coefficient. The mass flow rate is

ṁ = k √ΔP,

where *k* is a constant and *ΔP* is the pressure drop.
The constant *k* is equal to
`k=m_flow_nominal/sqrt(dp_nominal)`

, where
`m_flow_nominal`

and `dp_nominal`

are
parameters.

In the region `abs(m_flow) < m_flow_turbulent`

,
the square root is replaced by a differentiable function with
finite slope. The value of `m_flow_turbulent`

is
computed as ```
m_flow_turbulent = deltaM *
abs(m_flow_nominal)
```

, where `deltaM=0.3`

and
`m_flow_nominal`

are parameters that can be set by the
user.

The figure below shows the pressure drop for the parameters
`m_flow_nominal=5`

kg/s, `dp_nominal=10`

Pa
and `deltaM=0.3`

.

The parameter `from_dp`

is used to determine whether
the mass flow rate is computed as a function of the pressure drop
(if `from_dp=true`

), or vice versa. This setting can
affect the size of the nonlinear system of equations.

If the parameter `linearized`

is set to
`true`

, then the pressure drop is computed as a linear
function of the mass flow rate.

Setting `allowFlowReversal=false`

can lead to simpler
equations. However, this should only be set to `false`

if one can guarantee that the flow never reverses its direction.
This can be difficult to guarantee, as pressure imbalance after the
initialization, or due to medium expansion and contraction, can
lead to reverse flow.

If the parameter `show_T`

is set to
`true`

, then the model will compute the temperature at
its ports. Note that this can lead to state events when the mass
flow rate approaches zero, which can increase computing time.

For more detailed models that compute the actual flow friction,
models from the package Modelica.Fluid can be used and
combined with models from the `Buildings`

library.

For a model that uses the hydraulic parameter and flow velocity at nominal conditions as a parameter, use Buildings.Fluid.FixedResistances.HydraulicDiameter.

The pressure drop is computed by calling a function in the package Buildings.Fluid.BaseClasses.FlowModels, This package contains regularized implementations of the equation

m = sign(Δp) k √ Δp

and its inverse function.

To decouple the energy equation from the mass equations, the pressure drop is a function of the mass flow rate, and not the volume flow rate. This leads to simpler equations.

- September 21, 2018, by Michael Wetter:

Decrease value of`deltaM(min=...)`

attribute. See #1026. - February 3, 2018, by Filip Jorissen:

Revised implementation of pressure drop equation such that it depends on`from_dp`

when`linearized=true`

. See #884. - December 1, 2016, by Michael Wetter:

Simplified model by removing the geometry dependent parameters into the new model Buildings.Fluid.FixedResistances.HydraulicDiameter. - November 23, 2016, by Filip Jorissen:

Removed`dp_nominal`

and`m_flow_nominal`

labels from icon. - October 14, 2016, by Michael Wetter:

Updated comment for parameter`use_dh`

. - November 26, 2014, by Michael Wetter:

Added the required`annotation(Evaluate=true)`

so that the system of nonlinear equations in Buildings.Fluid.FixedResistances.Validation.PressureDropsExplicit remains the same. - November 20, 2014, by Michael Wetter:

Rewrote the warning message using an`assert`

with`AssertionLevel.warning`

as this is the proper way to write warnings in Modelica. - August 5, 2014, by Michael Wetter:

Corrected error in documentation of computation of`k`

. - May 29, 2014, by Michael Wetter:

Removed undesirable annotation`Evaluate=true`

. - October 8, 2013, by Michael Wetter:

Removed parameter`show_V_flow`

. - December 14, 2012 by Michael Wetter:

Renamed protected parameters for consistency with the naming conventions. - January 16, 2012 by Michael Wetter:

To simplify object inheritance tree, revised base classes`Buildings.Fluid.BaseClasses.PartialResistance`

,`Buildings.Fluid.Actuators.BaseClasses.PartialTwoWayValve`

,`Buildings.Fluid.Actuators.BaseClasses.PartialDamperExponential`

,`Buildings.Fluid.Actuators.BaseClasses.PartialActuator`

and model`Buildings.Fluid.FixedResistances.PressureDrop`

. - May 30, 2008 by Michael Wetter:

Added parameters`use_dh`

and`deltaM`

for easier parameterization. - July 20, 2007 by Michael Wetter:

First implementation.

Generated at 2021-04-18T01:03:03Z by OpenModelicaOpenModelica 1.18.0~dev-228-gf450566 using GenerateDoc.mos