modelCoefficient_V_flow
Power law with coefficient for volume flow rate
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
This model describes the one-directional pressure driven air flow through an opening, using the equation
V̇ = C Δpm,
where V̇ is the volume flow rate in m3/s, C is a flow coefficient, Δp is the pressure difference in Pa, and m is the flow exponent.
A similar model is also used in the CONTAM software (Dols and Walton, 2015). Dols and Walton (2002) recommend to use for the flow exponent m=0.6 to m=0.7 if the flow exponent is not reported with the test results.
References
- ASHRAE, 1997. ASHRAE Fundamentals, American Society of Heating, Refrigeration and Air-Conditioning Engineers, 1997.
- Dols and Walton, 2002. W. Stuart Dols and George N. Walton, CONTAMW 2.0 User Manual, Multizone Airflow and Contaminant Transport Analysis Software, Building and Fire Research Laboratory, National Institute of Standards and Technology, Tech. Report NISTIR 6921, November, 2002.
- W. S. Dols and B. J. Polidoro,2015. CONTAM User Guide and Program Documentation Version 3.2, National Institute of Standards and Technology, NIST TN 1887, Sep. 2015. doi: 10.6028/NIST.TN.1887.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Real | m (from PowerLawResistanceParameters) | Flow exponent, m=0.5 for turbulent, m=1 for laminar | |
| Real | C | Flow coefficient, C = V_flow/ dp^m | |
| 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 | |
| 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) |
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
-
September 19, 2025, by Michael Wetter:
Revised implementation to improve computing efficiency if flow exponent is 0.5.
This is for IBPSA, #2043. -
February 2, 2022, by Michael Wetter:
Revised implementation.
This is for IBPSA, #1436. -
Apr 6, 2021, by Klaas De Jonge:
First Implementation. Model expecting direct input of volume flow powerlaw coefficients.