modelDoorDiscretized

Door model using discretization along height coordinate

Extends from IDEAS.Airflow.Multizone.BaseClasses.TwoWayFlowElementBuoyancy (Flow resistance that uses the power law).

Information

This is a partial model for the bi-directional air flow through a door.

To compute the bi-directional flow, the door is discretize along the height coordinate, and uses an orifice equation to compute the flow for each compartment.

The compartment area dA is a variable, which allows using the model for a door that can be open or closed.

Parameters

TypeNameDefaultDescription
Modelica.Units.SI.VelocityvZer (from TwoWayFlowElement)0.001Minimum velocity to prevent zero flow. Recommended: 0.001
IntegernCom10Number of compartments for the discretization
Modelica.Units.SI.PressureDifferencedp_turbulent0.01Pressure difference where laminar and turbulent flow relation coincide. Recommended: 0.01
Assumptions
BooleanallowFlowReversal1 (from PartialFourPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1
BooleanallowFlowReversal2 (from PartialFourPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2
Nominal condition
Modelica.Units.SI.MassFlowRatem1_flow_nominal (from PartialFourPortInterface)Nominal mass flow rate
Modelica.Units.SI.MassFlowRatem2_flow_nominal (from PartialFourPortInterface)Nominal mass flow rate
Advanced
Medium1.MassFlowRatem1_flow_small (from PartialFourPortInterface)1E-4*abs(m1_flow_nominal)Small mass flow rate for regularization of zero flow
Medium2.MassFlowRatem2_flow_small (from PartialFourPortInterface)1E-4*abs(m2_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
Advanced › Diagnostics
Booleanshow_T (from PartialFourPortInterface)false= true, if actual temperature at port is computed
Geometry
Modelica.Units.SI.LengthwOpe (from TwoWayFlowElementBuoyancy)0.9Width of opening
Modelica.Units.SI.LengthhOpe (from TwoWayFlowElementBuoyancy)2.1Height of opening
Modelica.Units.SI.LengthhA (from TwoWayFlowElementBuoyancy)2.7/2Height of reference pressure zone A
Modelica.Units.SI.LengthhB (from TwoWayFlowElementBuoyancy)2.7/2Height of reference pressure zone B

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a1 (from PartialFourPort)Fluid connector a1 (positive design flow direction is from port_a1 to port_b1)
Modelica.Fluid.Interfaces.FluidPort_bport_b1 (from PartialFourPort)Fluid connector b1 (positive design flow direction is from port_a1 to port_b1)
Modelica.Fluid.Interfaces.FluidPort_aport_a2 (from PartialFourPort)Fluid connector a2 (positive design flow direction is from port_a2 to port_b2)
Modelica.Fluid.Interfaces.FluidPort_bport_b2 (from PartialFourPort)Fluid connector b2 (positive design flow direction is from port_a2 to port_b2)

Components

TypeNameDefaultDescription
Medium1.MassFlowRatem1_flow (from PartialFourPortInterface)port_a1.m_flowMass flow rate from port_a1 to port_b1 (m1_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp1 (from PartialFourPortInterface)port_a1.p - port_b1.pPressure difference between port_a1 and port_b1
Medium2.MassFlowRatem2_flow (from PartialFourPortInterface)port_a2.m_flowMass flow rate from port_a2 to port_b2 (m2_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp2 (from PartialFourPortInterface)port_a2.p - port_b2.pPressure difference between port_a2 and port_b2
Medium1.ThermodynamicStatesta_a1 (from PartialFourPortInterface)if allowFlowReversal1 then Medium1.setState_phX(port_a1.p, noEvent(actualStream(port_a1.h_outflow)), noEvent(actualStream(port_a1.Xi_outflow))) else Medium1.setState_phX(port_a1.p, inStream(port_a1.h_outflow), inStream(port_a1.Xi_outflow))Medium properties in port_a1
Medium1.ThermodynamicStatesta_b1 (from PartialFourPortInterface)if allowFlowReversal1 then Medium1.setState_phX(port_b1.p, noEvent(actualStream(port_b1.h_outflow)), noEvent(actualStream(port_b1.Xi_outflow))) else Medium1.setState_phX(port_b1.p, port_b1.h_outflow, port_b1.Xi_outflow)Medium properties in port_b1
Medium2.ThermodynamicStatesta_a2 (from PartialFourPortInterface)if allowFlowReversal2 then Medium2.setState_phX(port_a2.p, noEvent(actualStream(port_a2.h_outflow)), noEvent(actualStream(port_a2.Xi_outflow))) else Medium2.setState_phX(port_a2.p, inStream(port_a2.h_outflow), inStream(port_a2.Xi_outflow))Medium properties in port_a2
Medium2.ThermodynamicStatesta_b2 (from PartialFourPortInterface)if allowFlowReversal2 then Medium2.setState_phX(port_b2.p, noEvent(actualStream(port_b2.h_outflow)), noEvent(actualStream(port_b2.Xi_outflow))) else Medium2.setState_phX(port_b2.p, port_b2.h_outflow, port_b2.Xi_outflow)Medium properties in port_b2
Modelica.Units.SI.VolumeFlowRateVAB_flow (from TwoWayFlowElement)Volume flow rate from A to B if positive
Modelica.Units.SI.VolumeFlowRateVBA_flow (from TwoWayFlowElement)Volume flow rate from B to A if positive
Modelica.Units.SI.MassFlowRatemAB_flow (from TwoWayFlowElement)Mass flow rate from A to B if positive
Modelica.Units.SI.MassFlowRatemBA_flow (from TwoWayFlowElement)Mass flow rate from B to A if positive
Modelica.Units.SI.VelocityvAB (from TwoWayFlowElement)Average velocity from A to B
Modelica.Units.SI.VelocityvBA (from TwoWayFlowElement)Average velocity from B to A
Modelica.Units.SI.Densityrho_a1_inflow (from TwoWayFlowElement)Density of air flowing in from port_a1
Modelica.Units.SI.Densityrho_a2_inflow (from TwoWayFlowElement)Density of air flowing in from port_a2
Modelica.Units.SI.AreaA (from TwoWayFlowElement)Face area
Modelica.Units.SI.PressureDifference[nCom]dpABPressure difference between compartments
Modelica.Units.SI.Velocity[nCom]vVelocity in compartment from A to B
Modelica.Units.SI.VelocityvTopVelocity at top of opening from A to B
Modelica.Units.SI.VelocityvBotVelocity at bottom of opening from A to B
Modelica.Units.SI.LengthdhhOpe/nComHeight of each compartment

Revisions

  • October 29, 2024, by Klaas De Jonge:
    Unprotected dh and changed prefixes of dh,hAg and hBg to input.
    This is for #1935.
  • January 8, 2019, by Michael Wetter:
    Moved parameter CD from IDEAS.Airflow.Multizone.BaseClasses.DoorDiscretized to IDEAS.Airflow.Multizone.DoorDiscretizedOpen.
    This is for #971.
  • June 27, 2018, by Michael Wetter:
    Corrected old parameter annotation.
  • June 6, 2018, by Michael Wetter:
    Removed term that assures non-zero flow rate in each path, and reformulated flow balance to ensure that model is symmetric. This is for #937.
  • January 22, 2016, by Michael Wetter:
    Corrected type declaration of pressure difference. This is for #404.
  • September 26, 2013 by Michael Wetter:
    Added missing each keyword.
  • December 14, 2012 by Michael Wetter:
    Renamed protected parameters for consistency with the naming conventions.
  • December 6, 2011 by Michael Wetter:
    Removed protected variable rhoAve.
  • August 12, 2011 by Michael Wetter:
    Changed model to use the new function IDEAS.Airflow.Multizone.BaseClasses.powerLawFixedM.
  • July 20, 2010 by Michael Wetter:
    Migrated model to Modelica 3.1 and integrated it into the Buildings library.
  • February 8, 2005 by Michael Wetter:
    Released first version.