modelCrackOrOperableDoor
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 hBneed 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
| Type | Name | Default | Description |
|---|---|---|---|
| IDEAS.BoundaryConditions.Types.InterZonalAirFlow | interZonalAirFlowType | Interzonal air flow type | |
| Modelica.Units.SI.Angle | inc | Modelica.Constants.pi/2 | inclination angle (vertical=pi/2) |
| Boolean | useDoor | false | Model a large opening instead of a crack |
| Boolean | useDoorModel | useDoor and interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.TwoPorts | =true, to use operable door instead of a crack |
| Boolean | openDoorOnePort | useDoor and interZonalAirFlowType == IDEAS.BoundaryConditions.Types.InterZonalAirFlow.OnePort | Sets whether a door is open or closed in one port configuration |
| Modelica.Units.SI.ReynoldsNumber | REtrans | 30 | Assumed Reynolds number at transition |
| Modelica.Units.SI.DynamicViscosity | VItrans | 0.0000181625 | Assumed dynamic viscosity of air at transition |
| Medium.ThermodynamicState | state_default | Medium.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.Density | rho_default | Medium.density(state = state_default) | Medium default density |
| Assumptions | |||
| Boolean | allowFlowReversal1 (from PartialFourPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
| Boolean | allowFlowReversal2 (from PartialFourPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | m1_flow_nominal (from PartialFourPortInterface) | Nominal mass flow rate | |
| Modelica.Units.SI.MassFlowRate | m2_flow_nominal (from PartialFourPortInterface) | Nominal mass flow rate | |
| Advanced | |||
| Medium1.MassFlowRate | m1_flow_small (from PartialFourPortInterface) | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Medium2.MassFlowRate | m2_flow_small (from PartialFourPortInterface) | 1E-4*abs(m2_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 |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialFourPortInterface) | false | = true, if actual temperature at port is computed |
| Crack or Closed door | |||
| Modelica.Units.SI.Area | A_q50 | Surface area for leakage computation (closed door) | |
| Real | q50 | Surface air tightness | |
| Modelica.Units.SI.Area | LClo | ((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) |
| Real | mClo | 0.65 | Flow exponent for crack or crack of closed door |
| Open door | |||
| Modelica.Units.SI.Length | wOpe | 0.9 | Width of opening |
| Modelica.Units.SI.Length | hOpe | 2.1 | Height of opening |
| Integer | nCom | if abs(hOpe*sin(inc)) < 0.01 then 1 else max(2, integer(abs(hOpe*sin(inc))/4)) | Number of compartments for the discretization |
| Real | CDOpe | 0.78 | Discharge coefficient of open door |
| Real | mOpe | 0.5 | Flow exponent for door of open door |
| Boolean | use_y | true | =true, to use control input for the operable door |
| Density Column Heights | |||
| Modelica.Units.SI.Length | h_b1 | 0 | Height of crack at port b1 (hasCavity=false), center of conected zone is 0 |
| Modelica.Units.SI.Length | h_b2 | 0 | Height of crack at port b2(hasCavity=false), center of conected zone is 0 |
| Modelica.Units.SI.Length | h_a1 | 0 | Height of crack at port a1(hasCavity=false), center of conected zone is 0 |
| Modelica.Units.SI.Length | h_a2 | 0 | Height at of crack port a2(hasCavity=false), center of conected zone is 0 |
| Modelica.Units.SI.Length | hA | (h_a1 + h_b2)/2 | Height of reference pressure at port a1 for opening (hasCavity=true) model, opening starting height is 0 |
| Modelica.Units.SI.Length | hB | (h_a2 + h_b1)/2 | Height of reference pressure at port b1 for opening (hasCavity=true) model, opening starting height is 0 |
| Rating conditions | |||
| Modelica.Units.SI.PressureDifference | dpCloRat | 50 | Pressure drop at rating condition of closed door |
| Real | CDCloRat | 1 | Discharge coefficient at rating conditions of closed door |
| Advanced › Model regularisation | |||
| Modelica.Units.SI.PressureDifference | dp_turbulent | if useDoor then (MFtrans/(rho_default*(CDOpe*hOpe*wOpe*sqrt(2/rho_default))))^(1/mOpe) else 0.01 | Pressure difference where laminar and turbulent flow relation coincide for large cavities |
| Modelica.Units.SI.MassFlowRate | MFtrans | (hOpe*wOpe)*VItrans*REtrans/DOpe | Mass flow rate used for reguralisation |
| Modelica.Units.SI.Length | DOpe | 4*hOpe*wOpe/(2*hOpe + 2*wOpe) | Hydraulic diameter of the opening used for reguralisation, 4*area/perimeter |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a1 (from PartialFourPort) | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b1 (from PartialFourPort) | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) | |
| Modelica.Fluid.Interfaces.FluidPort_a | port_a2 (from PartialFourPort) | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b2 (from PartialFourPort) | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) | |
| Modelica.Blocks.Interfaces.RealInput | y | Opening signal, 0=closed, 1=open |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Medium1.MassFlowRate | m1_flow (from PartialFourPortInterface) | port_a1.m_flow | Mass flow rate from port_a1 to port_b1 (m1_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp1 (from PartialFourPortInterface) | port_a1.p - port_b1.p | Pressure difference between port_a1 and port_b1 |
| Medium2.MassFlowRate | m2_flow (from PartialFourPortInterface) | port_a2.m_flow | Mass flow rate from port_a2 to port_b2 (m2_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp2 (from PartialFourPortInterface) | port_a2.p - port_b2.p | Pressure difference between port_a2 and port_b2 |
| Medium1.ThermodynamicState | sta_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.ThermodynamicState | sta_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.ThermodynamicState | sta_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.ThermodynamicState | sta_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_flow | point_m_flow1 | Pressure drop equation | |
| IDEAS.Airflow.Multizone.MediumColumnReversible | col_b1 | Column for port b1 | |
| IDEAS.Airflow.Multizone.MediumColumnReversible | col_a1 | Column for port a1 | |
| IDEAS.Airflow.Multizone.MediumColumnReversible | col_b2 | Column for port b2 | |
| IDEAS.Airflow.Multizone.MediumColumnReversible | col_a2 | Column for port a2 | |
| IDEAS.Airflow.Multizone.Point_m_flow | point_m_flow2 | Pressure drop equation | |
| IDEAS.Airflow.Multizone.DoorDiscretizedOperable | doo | ||
| IDEAS.Fluid.Sources.Boundary_pT | bou | Sets absolute pressure when the ports are not connected externally | |
| Modelica.Blocks.Sources.Constant | constOne | Door constantly opened |
Contents
| Name | Description |
|---|---|
| Medium 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:
AddedModelica.Units.to one or multiple parameter(s) due to the removal ofimportin IDEAS/package.mo. See #1415 . -
January 30, 2025, by Klaas De Jonge:
Changed wrong parameter declarationdoo.vZerto 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.