modelTable_V_flow

Volume flow(y-axis) vs Pressure(x-axis) cubic spline fit model based on table data, with last two points linearly interpolated

Extends from Buildings.Airflow.Multizone.Table_m_flow (Mass flow(y-axis) vs Pressure(x-axis) cubic spline fit model based from table data, with last two points linearly interpolated).

Information

This model describes the one-directional pressure driven air flow through an opening based on user-provided tabular data describing the relation between volume flow rate and pressure difference over the component.

V̇ = f(Δp),

where is the volume flow rate and Δp is the pressure difference.

Based on the table input, a cubic hermite spline is constructed between all points except for the two last pairs of points. These point are connected linearly.

The constructed curve is the direct relation between and Δp.

A similar model is also used in the CONTAM software (Dols and Walton, 2015).

References

  • 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

TypeNameDefaultDescription
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal
Nominal condition
Modelica.Units.SI.MassFlowRatem_flow_nominal (from PartialTwoPortInterface)Nominal mass flow rate
Advanced
Modelica.Units.SI.MassFlowRatem_flow_small (from PartialTwoPortInterface)1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow
BooleanforceErrorControlOnFlow (from ErrorControl)trueFlag to force error control on m_flow. Set to true if interested in flow rate
BooleanhomotopyInitialization (from PartialOneWayFlowElement)true= true, use homotopy method
BooleanuseDefaultProperties (from PartialOneWayFlowElement)trueSet to false to use density and viscosity based on actual medium state, rather than using default values
Modelica.Units.SI.PressureDifferencedp_turbulent (from PartialOneWayFlowElement)0.1Pressure difference where laminar and turbulent flow relation coincide. Recommended = 0.1
Advanced › Diagnostics
Booleanshow_T (from PartialTwoPortInterface)false= true, if actual temperature at port is computed
Test data
Modelica.Units.SI.PressureDifference[:]dpMea_nominal (from Table_m_flow)Pressure difference of test points
Modelica.Units.SI.MassFlowRate[:]mMea_flow_nominal (from Table_m_flow)Mass flow rate of test points
Modelica.Units.SI.VolumeFlowRate[:]VMea_flow_nominalVolume flow rate of test points

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialTwoPort)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialTwoPort)Fluid connector b (positive design flow direction is from port_a to port_b)

Components

TypeNameDefaultDescription
Modelica.Units.SI.MassFlowRatem_flow (from PartialTwoPortInterface)port_a.m_flowMass flow rate from port_a to port_b (m_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp (from PartialTwoPortInterface)port_a.p - port_b.pPressure difference between port_a and port_b
Medium.ThermodynamicStatesta_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.ThermodynamicStatesta_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.VolumeFlowRateV_flow (from PartialOneWayFlowElement)m_flow/rhoVolume flow rate through the component
Modelica.Units.SI.Densityrho (from PartialOneWayFlowElement)Fluid density at port_a

Revisions

  • February 2, 2022, by Michael Wetter:
    Revised implementation.
    This is for IBPSA, #1436.
  • Apr 6, 2021, 2020, by Klaas De Jonge:
    First implementation.