modelPressureDropWithVaryingFlowCoefficient
Flow resistance with a varying flow coefficient
Extends from Buildings.Airflow.Multizone.BaseClasses.PartialOneWayFlowElement (Partial model for flow resistance with one-way flow), Buildings.Airflow.Multizone.BaseClasses.PowerLawResistanceParameters (Power law resistance parameters).
Information
Model of a flow resistance with a varying flow coefficient.
This block is implemented based on Buildings.Fluid.FixedResistances.PressureDrop and inherits most of its configuration. However, its mass flow rate is calculated differently by using
m_flow / √dp = m_flow_nominal / (√dp_nominal*dpCor),
where dpCor is a correction factor of the flow coefficient.
Therefore, if dpCor=1.2,
at the nominal mass flow rate m_flow_nominal,
there will be 20% more pressure drop
than dp_nominal.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Real | m (from PowerLawResistanceParameters) | Flow exponent, m=0.5 for turbulent, m=1 for laminar | |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialTwoPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | m_flow_nominal (from PartialTwoPortInterface) | Nominal mass flow rate | |
| Modelica.Units.SI.PressureDifference | dp_nominal | Pressure difference of clean filter at m_flow_nominal | |
| Advanced | |||
| Modelica.Units.SI.MassFlowRate | m_flow_small (from PartialTwoPortInterface) | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Boolean | forceErrorControlOnFlow (from ErrorControl) | true | Flag to force error control on m_flow. Set to true if interested in flow rate |
| Boolean | homotopyInitialization (from PartialOneWayFlowElement) | true | = true, use homotopy method |
| Boolean | useDefaultProperties (from PartialOneWayFlowElement) | true | Set to false to use density and viscosity based on actual medium state, rather than using default values |
| Modelica.Units.SI.PressureDifference | dp_turbulent (from PartialOneWayFlowElement) | 0.1 | Pressure difference where laminar and turbulent flow relation coincide. Recommended = 0.1 |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialTwoPortInterface) | false | = true, if actual temperature at port is computed |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a (from PartialTwoPort) | Fluid connector a (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b (from PartialTwoPort) | Fluid connector b (positive design flow direction is from port_a to port_b) | |
| Buildings.Controls.OBC.CDL.Interfaces.RealInput | dpCor | Flow coefficient correction factor |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.MassFlowRate | m_flow (from PartialTwoPortInterface) | port_a.m_flow | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp (from PartialTwoPortInterface) | port_a.p - port_b.p | Pressure difference between port_a and port_b |
| Medium.ThermodynamicState | sta_a (from PartialTwoPortInterface) | if allowFlowReversal then Medium.setState_phX(port_a.p, noEvent(actualStream(port_a.h_outflow)), noEvent(actualStream(port_a.Xi_outflow))) else Medium.setState_phX(port_a.p, noEvent(inStream(port_a.h_outflow)), noEvent(inStream(port_a.Xi_outflow))) | Medium properties in port_a |
| Medium.ThermodynamicState | sta_b (from PartialTwoPortInterface) | if allowFlowReversal then Medium.setState_phX(port_b.p, noEvent(actualStream(port_b.h_outflow)), noEvent(actualStream(port_b.Xi_outflow))) else Medium.setState_phX(port_b.p, noEvent(port_b.h_outflow), noEvent(port_b.Xi_outflow)) | Medium properties in port_b |
| Modelica.Units.SI.VolumeFlowRate | V_flow (from PartialOneWayFlowElement) | m_flow/rho | Volume flow rate through the component |
| Modelica.Units.SI.Density | rho (from PartialOneWayFlowElement) | Fluid density at port_a |
Revisions
-
December 10, 2025, by Michael Wetter:
Deleted old implementation as it assumed the pressure drop to be quadratic to the flow rate, which is not the case for a filter. -
December 22, 2023, by Sen Huang:
First implementation.