modelCrackOrOperableDoor

Infiltration or large opening model used for the embeded airflow implementation in IDEAS.Buildings.Components

Extends from IDEAS.Fluid.Interfaces.PartialFourPortInterface (Partial model with four ports and declaration of quantities that are used by many models), IDEAS.Airflow.Multizone.BaseClasses.ErrorControl (Interface that defines parameters for error control).

Information

This component models infiltration or a large opening in a wall and mainly used for the embedded airflow implementation in IDEAS.Buildings.Components. More information on the consequences of selecting an interZonalAirFlowType can be found in the documentation of IDEAS.BoundaryConditions.SimInfoManager. Based on the selected interZonalAirFlowType either 1 fluid port of 2 fluid ports are used in this model where the 2-port configuration includes density columns to model stack-effect.Then, you can choose if the model needs to represent a large opening or cracks infiltration.

for interZonalAirFlowType=OnePort

  • Both the crack or the large opening are represented by a single airflow path but the inputs to the used model are different. If it is modelled as a large opening, it can not be configured to be an operable.

for interZonalAirFlowType=TwoPort

  • The cracks are represented by two airflow paths with variable relative stack-effect heights based on parameters h_b1, h_b2, h_a1, h_a2. These parameters are the vertical height difference between the reference pressure (typically the middle of the zone) and the airflow path, where height zero is at the reference pressure.
  • When the component is configured to represent a large opening, the two airflow path models are replaced by a IDEAS.Airflow.Multizone.DoorDiscretizedOperable model. In this case the relative stack-effect heights follow the convention as set by the underlying model and hA and hB need to be set, where height zero is at the bottom point of the large opening. Furthermore, this large opening model can be configured to to be operable.

for interZonalAirFlowType=None the model can not be used.

Parameters

TypeNameDefaultDescription
IDEAS.BoundaryConditions.Types.InterZonalAirFlowinterZonalAirFlowTypeInterzonal air flow type
Modelica.Units.SI.AngleincModelica.Constants.pi/2inclination angle (vertical=pi/2)
BooleanuseDoorfalseModel a large opening instead of a crack
BooleanuseDoorModeluseDoor and interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts=true, to use operable door instead of a crack
BooleanopenDoorOnePortuseDoor and interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.OnePortSets whether a door is open or closed in one port configuration
Modelica.Units.SI.ReynoldsNumberREtrans30Assumed Reynolds number at transition
Modelica.Units.SI.DynamicViscosityVItrans0.0000181625Assumed dynamic viscosity of air at transition
Medium.ThermodynamicStatestate_defaultMedium.setState_pTX(T = Medium.T_default, p = Medium.p_default, X = Medium.X_default[1:Medium.nXi])Medium state at default values
Modelica.Units.SI.Densityrho_defaultMedium.density(state = state_default)Medium default density
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
Crack or Closed door
Modelica.Units.SI.AreaA_q50Surface area for leakage computation (closed door)
Realq50Surface air tightness
Modelica.Units.SI.AreaLClo((q50*A_q50/3600)/(dpCloRat)^mClo)/(((dpCloRat)^(0.5 - mClo))*sqrt(2/rho_default))Effective leakage area of internal wall (when door is fully closed)
RealmClo0.65Flow exponent for crack or crack of closed door
Open door
Modelica.Units.SI.LengthwOpe0.9Width of opening
Modelica.Units.SI.LengthhOpe2.1Height of opening
IntegernComif abs(hOpe*sin(inc)) < 0.01 then 1 else max(2, integer(abs(hOpe*sin(inc))/4))Number of compartments for the discretization
RealCDOpe0.78Discharge coefficient of open door
RealmOpe0.5Flow exponent for door of open door
Booleanuse_ytrue=true, to use control input for the operable door
Density Column Heights
Modelica.Units.SI.Lengthh_b10Height of crack at port b1 (hasCavity=false), center of conected zone is 0
Modelica.Units.SI.Lengthh_b20Height of crack at port b2(hasCavity=false), center of conected zone is 0
Modelica.Units.SI.Lengthh_a10Height of crack at port a1(hasCavity=false), center of conected zone is 0
Modelica.Units.SI.Lengthh_a20Height at of crack port a2(hasCavity=false), center of conected zone is 0
Modelica.Units.SI.LengthhA(h_a1 + h_b2)/2Height of reference pressure at port a1 for opening (hasCavity=true) model, opening starting height is 0
Modelica.Units.SI.LengthhB(h_a2 + h_b1)/2Height of reference pressure at port b1 for opening (hasCavity=true) model, opening starting height is 0
Rating conditions
Modelica.Units.SI.PressureDifferencedpCloRat50Pressure drop at rating condition of closed door
RealCDCloRat1Discharge coefficient at rating conditions of closed door
Advanced › Model regularisation
Modelica.Units.SI.PressureDifferencedp_turbulentif useDoor then (MFtrans/(rho_default*(CDOpe*hOpe*wOpe*sqrt(2/rho_default))))^(1/mOpe) else 0.01Pressure difference where laminar and turbulent flow relation coincide for large cavities
Modelica.Units.SI.MassFlowRateMFtrans(hOpe*wOpe)*VItrans*REtrans/DOpeMass flow rate used for reguralisation
Modelica.Units.SI.LengthDOpe4*hOpe*wOpe/(2*hOpe + 2*wOpe)Hydraulic diameter of the opening used for reguralisation, 4*area/perimeter

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)
Modelica.Blocks.Interfaces.RealInputyOpening signal, 0=closed, 1=open

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
IDEAS.Airflow.Multizone.Point_m_flowpoint_m_flow1Pressure drop equation
IDEAS.Airflow.Multizone.MediumColumnReversiblecol_b1Column for port b1
IDEAS.Airflow.Multizone.MediumColumnReversiblecol_a1Column for port a1
IDEAS.Airflow.Multizone.MediumColumnReversiblecol_b2Column for port b2
IDEAS.Airflow.Multizone.MediumColumnReversiblecol_a2Column for port a2
IDEAS.Airflow.Multizone.Point_m_flowpoint_m_flow2Pressure drop equation
IDEAS.Airflow.Multizone.DoorDiscretizedOperabledoo
IDEAS.Fluid.Sources.Boundary_pTbouSets absolute pressure when the ports are not connected externally
Modelica.Blocks.Sources.ConstantconstOneDoor constantly opened

Contents

NameDescription
MediumMedium in the component

Revisions

  • August 13, 2025, by Klaas De Jonge:
    Added documentation and cleaned up conditional statements, including enabling relevant parameters in the dialog box.
  • February 4, 2025, by Jelger Jansen:
    Added Modelica.Units. to one or multiple parameter(s) due to the removal of import in IDEAS/package.mo. See #1415 .
  • January 30, 2025, by Klaas De Jonge:
    Changed wrong parameter declaration doo.vZer to have compatible units. See #1402.
  • October 30, 2024, by Klaas De Jonge:
    Changes for column heights,used default density and transition point to laminar flow at low dp.
  • October 20, 2023 by Filip Jorissen:
    First documented version.