modelRectangularZoneTemplateInterface

Rectangular zone including walls, floor and ceiling

Extends from IDEAS.Buildings.Components.Interfaces.PartialZone.

Information

This model can be used to set up zones with a rectangular geometry more quickly. This template consists of a zone, four walls, a horizontal roof and a floor and five optional windows. Additional surfaces may also be connected through external bus connector. For the documentation of the zone parameters, see the documentation of Zone.

Main equations

This model incorporates IDEAS components such as IDEAS.Buildings.Components.OuterWall and reproduces the same results as a model that would be constructed without the use of this template.

Assumption and limitations

This model assumes that the zone has a rectangular geometry with width w, length l and height h. All walls are vertical and perpendicular to each other and both the roof and the floor are horizontal.

The surface area of each wall is calculated by default using the parameters h, w and l. If you want to split a wall and add external walls using the external bus connector, use the overwrite length parameters lA, lB, lC, lD from the Face tabs such that the surface area of the wall is correct. Also the ceiling or roof surface area can be overwritten using the parameter ACei from the Ceiling tab. This way the user can overwrite the default ceiling surface area, e.g. to better approximate an inclinated roof. Be also aware that the model slabOnGround has a parameter PWall which specifies the perimeter of slab on ground. The model cannot detect external walls connected using the external bus connector. When splitting outer walls by using the external bus connector you should update this parameter manually using the parameter PWall from the Advanced tab.

Typical use and important parameters

Parameters width w, length l and height h need to be defined and are used to compute the dimensions of each of the surfaces. Parameter aziA represents the azimuth angle of surface A (see icon). Other surfaces are rotated (clockwise) by multiples of ninety degrees with respect to aziA. Parameter nSurfExt may be used to connect additional surfaces to the template. When doing this, you may need to change the surface areas of the surfaces in the template as these are not updated automatically.

Seven parameter tabs allow to specify further parameters that are specific for each of the seven surfaces: six surfaces for the walls, floor and ceiling and one for an internal wall contained within the zone. For each surface the surface type may be specified using parameters bouTyp*. The construction type should be defined using conTyp*. Parameter hasWin* may be used for all orientations except for the floor to add a window. In this case the window surface area, shading and glazing types need to be provided. For non-default shading a record needs to be created that specifies the shading properties. The surface area of the window is deducted from the surface area of the wall such that the total surface areas add up.

The zone template also has a heat port for embedded heat gains in the floor. This can be used when the floor has a floor heating system or a concrete core activation system. Set then hasEmb from the tab Floor to true to get the gaiEmb heat port on the zone template. Notice that the zone template does not have a heat port for embedded gains in the ceiling. To model concrete core activation in the ceiling, use an external surface.

Options

Advanced options are found under the Advanced parameter tab. The model may also be adapted further by overriding the default parameter assignments in the template.

You can also use this model for non-rectangular zones by, for example, using the None type for a wall and by adding additional walls corresponding to a different geometry through the external bus connector. This model however then does not guarantee that all parameters are consistent. Therefore, some internal parameters of this model will need to be updated manually.

In the parameter group Windows, you can redeclare the window. This is useful when using a window model that has a pre-configured surface area, glazing type, frame fraction and shading. The parameters azi=aziA, inc=IDEAS.Types.Tilt.Wall, T_start=T_start, linIntCon_a=linIntCon, dT_nominal_a=dT_nominal_win, linExtCon=linExtCon, windowDynamicsType=windowDynamicsType, linExtRad=linExtRadWin, nWin=nWinA, are still computed from the zone model parameters but, the other windows parameters are those configured in the used window model, including the window surface area.

Dynamics

This model contains wall dynamics and a state for the zone air temperature. The zone temperature may be set to steady state using parameter energyDynamicsAir, which should in general not be done. The mass dynamics of the air volume may be set to steady state by overriding the default parameter assignment in the airModel submodel. This removes small time constants when the zone model is connected to an air flow circuit.

Shading

In order to choose the shading of the glazing, instead of selecting one shading type from the dropdown menu, click on the button right of the dropdown menu (edit). A menu will appear where the type of shading and corresponding parameters have to be defined. Alternatively, the shading template can be extended.

Validation

This implementation is compared with a manual implementation in IDEAS.Buildings.Validation.Tests.ZoneTemplateVerification2. This gives identical results.

Example

An example of how this template may be used can be found in IDEAS.Examples.PPD12.

Implementation

Shading types need to be declared using a record instead of by redeclaring the shading components. This is a workaround because redeclared components cannot be propagated.

Parameters

TypeNameDefaultDescription
IntegernSurfExt0Number of additional connected external surfaces
IntegeraziOpt5Azimuth angle option from simInfoManager, or custom using aziA
Modelica.Units.SI.AngleaziAsim.aziOpts[aziOpt]Azimuth angle of face A
Modelica.Units.SI.LengthlHorizontal length of faces A and C. This parameter can be overwritten per surface
Modelica.Units.SI.LengthwHorizontal length of faces B and D. This parameter can be overwritten per surface
Modelica.Units.SI.LengthhHeight between top of floor and bottom of ceiling
IDEAS.Buildings.Data.Constructions.CavityWallconTypA
IDEAS.Buildings.Data.Constructions.CavityWallconTypB
IDEAS.Buildings.Data.Constructions.CavityWallconTypC
IDEAS.Buildings.Data.Constructions.CavityWallconTypD
IDEAS.Buildings.Data.Constructions.CavityWallconTypCei
IDEAS.Buildings.Data.Constructions.CavityWallconTypFlo
IDEAS.Buildings.Data.Constructions.CavityWallconTypInt
IDEAS.Buildings.Components.Shading.Interfaces.ShadingPropertiesshaTypA
IDEAS.Buildings.Components.Shading.Interfaces.ShadingPropertiesshaTypB
IDEAS.Buildings.Components.Shading.Interfaces.ShadingPropertiesshaTypC
IDEAS.Buildings.Components.Shading.Interfaces.ShadingPropertiesshaTypD
IDEAS.Buildings.Components.Shading.Interfaces.ShadingPropertiesshaTypCei
IDEAS.Buildings.Data.Frames.NonefraTypA
IDEAS.Buildings.Data.Frames.NonefraTypB
IDEAS.Buildings.Data.Frames.NonefraTypC
IDEAS.Buildings.Data.Frames.NonefraTypD
IDEAS.Buildings.Data.Frames.NonefraTypCei
Modelica.Units.SI.AngleaziBaziAInt + Modelica.Constants.pi/2Azimuth angle of face B
Modelica.Units.SI.AngleaziCaziAInt + Modelica.Constants.piAzimuth angle of face C
Modelica.Units.SI.AngleaziDaziAInt + 3*Modelica.Constants.pi/2Azimuth angle of face D
Face A › Construction details
IDEAS.Buildings.Components.Interfaces.BoundaryTypebouTypAModelled boundary for face A of the zone
IntegernExtA1Number of external surfaces connected to face A
Face B › Construction details
IDEAS.Buildings.Components.Interfaces.BoundaryTypebouTypBModelled boundary for face B of the zone
IntegernExtB1Number of external surfaces connected to face B
Face C › Construction details
IDEAS.Buildings.Components.Interfaces.BoundaryTypebouTypCModelled boundary for face C of the zone
IntegernExtC1Number of external surfaces connected to face C
Face D › Construction details
IDEAS.Buildings.Components.Interfaces.BoundaryTypebouTypDModelled boundary for face D of the zone
IntegernExtD1Number of external surfaces connected to face D
Floor › Construction details
IDEAS.Buildings.Components.Interfaces.BoundaryTypebouTypFloModelled boundary for the zone floor
IntegernExtFlo1Number of external surfaces connected to floor
Ceiling › Construction details
IDEAS.Buildings.Components.Interfaces.BoundaryTypebouTypCeiModelled boundary for the zone ceiling
IntegernExtCei1Number of external surfaces connected to ceiling
Face A › Window details
BooleanhasWinAfalseModelling window for face A if true
Modelica.Units.SI.AreaA_winA0Surface area of window of face A
Modelica.Units.SI.Lengthh_winAmax(0.1, sqrt(A_winA))Window A height, including frame
RealfracA0.15Area fraction of the window frame of face A
RealnWinA1Scaling factor to model nWinA identical windows in facade A
Face B › Window details
BooleanhasWinBfalseModelling window for face B if true
Modelica.Units.SI.AreaA_winB0Surface area of window of face B
Modelica.Units.SI.Lengthh_winBmax(0.1, sqrt(A_winB))Window B height, including frame
RealfracB0.15Area fraction of the window frame of face B
RealnWinB1Scaling factor to model nWinB identical windows in facade B
Face C › Window details
BooleanhasWinCfalseModelling window for face C if true
Modelica.Units.SI.AreaA_winC0Surface area of window of face C
Modelica.Units.SI.Lengthh_winCmax(0.1, sqrt(A_winC))Window C height, including frame
RealfracC0.15Area fraction of the window frame of face C
RealnWinC1Scaling factor to model nWinC identical windows in facade C
Face D › Window details
BooleanhasWinDfalseModelling window for face D if true
Modelica.Units.SI.AreaA_winD0Surface area of window of face D
Modelica.Units.SI.Lengthh_winDmax(0.1, sqrt(A_winD))Window D height, including frame
RealfracD0.15Area fraction of the window frame of face D
RealnWinD1Scaling factor to model nWinD identical windows in facade D
Ceiling › Window details
BooleanhasWinCeifalseModelling window for ceiling if true
Modelica.Units.SI.AreaA_winCei0Surface area of window of ceiling
Modelica.Units.SI.Lengthh_winCeimax(0.1, sqrt(A_winCei))Ceiling window height, including frame
RealfracCei0.15Area fraction of the window frame of the ceiling
RealnWinCei1Scaling factor to model nWinCei identical windows in the ceiling
Internal wall
BooleanhasIntfalseIf true, the zone contains an internal wall with both faces connected to the zone
Face A › Overwrite
Modelica.Units.SI.LengthlAlHorizontal length of face A
Face B › Overwrite
Modelica.Units.SI.LengthlBwHorizontal length of face B
Face C › Overwrite
Modelica.Units.SI.LengthlClHorizontal length of face C
Face D › Overwrite
Modelica.Units.SI.LengthlDwHorizontal length of face D
Internal wall › Construction details
Modelica.Units.SI.LengthlIntlAHorizontal length of internal wall contained within the zone
Advanced › Overwrite
Modelica.Units.SI.AreaAZonew*lParameter to overwrite the zone surface area
Ceiling › Overwrite
Modelica.Units.SI.AreaACeiw*lSurface of roof or ceiling (including potential windows)
Advanced › Convective heat exchange
BooleanlinIntConsim.linIntCon= true, if convective heat transfer should be linearised
BooleanlinExtConsim.linExtCon= true, if exterior convective heat transfer should be linearised (uses average wind speed)
Advanced › Windows
Interfaces.WindowDynamicsTypewindowDynamicsTypeIDEAS.Buildings.Components.Interfaces.WindowDynamicsType.TwoType of dynamics for glazings and frames: using zero, one combined or two states
Advanced › Convective heat transfer
Modelica.Units.SI.TemperatureDifferencedT_nominal_win-3Nominal temperature difference used for linearisation, negative temperatures indicate the solid is colder
Modelica.Units.SI.TemperatureDifferencedT_nominal_bou-1Nominal temperature difference for boundary walls, used for linearisation, negative temperatures indicate the solid is colder
Modelica.Units.SI.TemperatureDifferencedT_nominal_out-3Nominal temperature difference for outer walls, used for linearisation, negative temperatures indicate the solid is colder
Modelica.Units.SI.TemperatureDifferencedT_nominal_sla-3Nominal temperature difference of slab on ground, used for linearisation, negative temperatures indicate the solid is colder
Modelica.Units.SI.TemperatureDifferencedT_nominal_intA1Nominal temperature difference between zone air and interior walls, used for linearisation
Modelica.Units.SI.TemperatureDifferencedT_nominal_intB1Nominal temperature difference between interior walls exterior connection, used for linearisation
Advanced › Radiative heat exchange
BooleanlinExtRadsim.linExtRad= true, if exterior radiative heat transfer for walls should be linearised
BooleanlinExtRadWinsim.linExtRadWin= true, if exterior radiative heat transfer for windows should be linearised
Floor › Slab on ground
Modelica.Units.SI.TemperatureTeAvg273.15 + 10.8Annual average outdoor temperature
Modelica.Units.SI.TemperatureTiAvg273.15 + 22Annual average indoor temperature
Modelica.Units.SI.TemperatureDifferencedTeAvg4Amplitude of variation of monthly average outdoor temperature
Modelica.Units.SI.TemperatureDifferencedTiAvg2Amplitude of variation of monthly average indoor temperature
Modelica.Units.SI.Temperature[3]T_start_grofill(TeAvg, 3)Initial temperatures of the ground layers (with first value = deepest layer and last value = shallowest layer
Face A › Cavity or open door
BooleanhasCavityAfalse=true, to model open door or cavity in internal wall
Modelica.Units.SI.LengthhA2Height of (rectangular) cavity in internal wall
Modelica.Units.SI.LengthwA1Width of (rectangular) cavity in internal wall
Face B › Cavity or open door
BooleanhasCavityBfalse=true, to model open door or cavity in internal wall
Modelica.Units.SI.LengthhB2Height of (rectangular) cavity in internal wall
Modelica.Units.SI.LengthwB1Width of (rectangular) cavity in internal wall
Face C › Cavity or open door
BooleanhasCavityCfalse=true, to model open door or cavity in internal wall
Modelica.Units.SI.LengthhC2Height of (rectangular) cavity in internal wall
Modelica.Units.SI.LengthwC1Width of (rectangular) cavity in internal wall
Face D › Cavity or open door
BooleanhasCavityDfalse=true, to model open door or cavity in internal wall
Modelica.Units.SI.LengthhD2Height of (rectangular) cavity in internal wall
Modelica.Units.SI.LengthwD1Width of (rectangular) cavity in internal wall
Floor › Cavity or open door
BooleanhasCavityFlofalse=true, to model open door or cavity in internal floor
Modelica.Units.SI.LengthbFlo2Breadth of (rectangular) cavity in internal floor
Modelica.Units.SI.LengthwFlo1Width of (rectangular) cavity in internal floor
Advanced › Cavity or open door
Modelica.Units.SI.AccelerationgModelica.Constants.g_nGravity, for computation of buoyancy
Modelica.Units.SI.Pressurep101300Absolute pressure for computation of buoyancy
Modelica.Units.SI.Densityrhop/r/TNominal density for computation of buoyancy mass flow rate
Modelica.Units.SI.SpecificHeatCapacityc_p1013Nominal heat capacity for computation of buoyancy heat flow rate
Modelica.Units.SI.TemperatureT293.15Nominal temperature for linearising heat flow rate
Modelica.Units.SI.TemperatureDifferencedT1Nominal temperature difference when linearising heat flow rate
Face A › Building shade
BooleanhasBuildingShadeAfalse=true, to enable computation of shade cast by opposite building or object on OuterWall
Modelica.Units.SI.LengthLShaA0Distance between shading object and wall, perpendicular to wall
Modelica.Units.SI.LengthdhShaA0Height difference between top of shading object and top of wall A
Face B › Building shade
BooleanhasBuildingShadeBfalse=true, to enable computation of shade cast by opposite building or object on OuterWall
Modelica.Units.SI.LengthLShaB0Distance between shading object and wall, perpendicular to wall
Modelica.Units.SI.LengthdhShaB0Height difference between top of shading object and top of wall B
Face C › Building shade
BooleanhasBuildingShadeCfalse=true, to enable computation of shade cast by opposite building or object on OuterWall
Modelica.Units.SI.LengthLShaC0Distance between shading object and wall, perpendicular to wall
Modelica.Units.SI.LengthdhShaC0Height difference between top of shading object and top of wall C
Face D › Building shade
BooleanhasBuildingShadeDfalse=true, to enable computation of shade cast by opposite building or object on OuterWall
Modelica.Units.SI.LengthLShaD0Distance between shading object and wall, perpendicular to wall
Modelica.Units.SI.LengthdhShaD0Height difference between top of shading object and top of wall D
Advanced › SlabOnGround
Modelica.Units.SI.LengthPWall(if hasOutA then lA else 0) + (if hasOutB then lB else 0) + (if hasOutC then lC else 0) + (if hasOutD then lD else 0)Total floor slab perimeter length
Floor › Floor heating / CCA
BooleanhasEmbfalseSet to true if floor is equipped with floor heating or concrete core activation

Components

TypeNameDefaultDescription
IDEAS.Buildings.Data.Glazing.Ins2Ar2020glazingA
IDEAS.Buildings.Data.Glazing.Ins2Ar2020glazingB
IDEAS.Buildings.Data.Glazing.Ins2Ar2020glazingC
IDEAS.Buildings.Data.Glazing.Ins2Ar2020glazingD
IDEAS.Buildings.Data.Glazing.Ins2Ar2020glazingCei
IDEAS.Buildings.Components.Interfaces.ZoneBusproBusExtPropsbus for connecting additional external surfaces
IDEAS.Buildings.Components.BoundaryWallbouABoundary wall for face A of this zone
IDEAS.Buildings.Components.BoundaryWallbouBBoundary wall for face A of this zone
IDEAS.Buildings.Components.BoundaryWallbouCBoundary wall for face C of this zone
IDEAS.Buildings.Components.BoundaryWallbouDBoundary wall for face D of this zone
IDEAS.Buildings.Components.BoundaryWallbouFloBoundary wall for zone floor
IDEAS.Buildings.Components.BoundaryWallbouCeiBoundary wall for zone ceiling
IDEAS.Buildings.Components.OuterWalloutAOuter wall for face A of this zone
IDEAS.Buildings.Components.OuterWalloutBOuter wall for face B of this zone
IDEAS.Buildings.Components.OuterWalloutCOuter wall for face C of this zone
IDEAS.Buildings.Components.OuterWalloutDOuter wall for face D of this zone
IDEAS.Buildings.Components.OuterWalloutFloOuter wall for zone floor.
IDEAS.Buildings.Components.OuterWalloutCeiOuter wall for zone ceiling
IDEAS.Buildings.Components.SlabOnGroundslaOnGroSlab on ground model for zone floor.
IDEAS.Buildings.Components.InternalWallintAInternal wall for face A of this zone
IDEAS.Buildings.Components.InternalWallintBInternal wall for face B of this zone
IDEAS.Buildings.Components.InternalWallintCInternal wall for face C of this zone
IDEAS.Buildings.Components.InternalWallintDInternal wall for face D of this zone
IDEAS.Buildings.Components.InternalWallintFloInternal wall for zone floor
IDEAS.Buildings.Components.InternalWallintInternal wall contained within the zone
IDEAS.Buildings.Components.Interfaces.ZoneBus[nExtA]proBusAPropsbus connector for connecting to external surface or internalWall of face A
IDEAS.Buildings.Components.Interfaces.ZoneBus[nExtB]proBusBPropsbus connector for connecting to external surface or internalWall of face B
IDEAS.Buildings.Components.Interfaces.ZoneBus[nExtC]proBusCPropsbus connector for connecting to external surface or internalWall of face C
IDEAS.Buildings.Components.Interfaces.ZoneBus[nExtD]proBusDPropsbus connector for connecting to external surface or internalWall of face D
IDEAS.Buildings.Components.Interfaces.ZoneBus[nExtFlo]proBusFloPropsbus connector for connecting to external surface or internalWall of floor
IDEAS.Buildings.Components.Interfaces.ZoneBus[nExtCei]proBusCeiPropsbus connector for connecting to external surface of ceiling: internal walls should be modelled as the floor of the zone above
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_b[nGainEmb]gainEmbFloor node for embedded heat gain if case of floor heating or CCA.

Revisions

  • June 20, 2025, by Lucas Verleyen:
    Implemented OuterWall for Floor construction. See #1168.
  • June 13, 2025, by Jelger Jansen:
    Add parameter hasCavity as it is used in the enabling of some parameters and fix typo bouTyp. See #1437.
  • 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 Jelger Jansen:
    Updated default window glazing type to avoid obsolete type warning. See #1402 and #1410.
  • March 27, 2024, by Lucas Verleyen:
    Added parameter T_start_gro for initial temperature of the ground (layGro).
    According to the changes in SlabOnGround.
    See #1292 for more information.
  • January 8, 2024, by Jelger Jansen:
    Removed duplicate declaration of mSenFac. See #1343
  • October 18, 2023, by Filip Jorissen:
    Added window height parameters.
  • August 2, 2022, by Filip Jorissen:
    Added cavity support for horizontal internal walls (floor/ceiling) for supporting staircases. See #1294
  • August 10, 2020, by Filip Jorissen:
    Modifications for supporting interzonal airflow. See #1066
  • October 13, 2019, by Filip Jorissen:
    Refactored the parameter definition of inc and azi by adding the option to use radio buttons. See #1067
  • April 10, 2019, by Filip Jorissen:
    Removed obsolete redeclaration. See #1009.
  • August 29, 2018, by Damien Picard:
    Add embedded heat port for floor heating or CCA. See #903.
  • August 28, 2018, by Damien Picard:
    Changes to allow multiple external surfaces connection per faces. See #901.
  • August 26, 2018, by Damien Picard:
    Move all equations except windows equations of RectangularZoneTemplate to this interface model. See #891.
  • August 16, 2018, by Damien Picard:
    Make windows replaceable. See #891. And correct wall surface computation. See #890.
  • August 10, 2018, by Damien Picard:
    Added parameters for scaling factors for windows. See #888.
  • Adapted model to make it possible to remove walls from the template. See #880.
  • June 13, 2018, by Filip Jorissen:
    Added parameters for shade cast by external building. See #576.
  • May 21, 2018, by Filip Jorissen:
    Added parameters for air flow through cavity. See #822.
  • April 30, 2018 by Iago Cupeiro:
    Propagated boolean input connections for controlled shading. See #809. Shading documentation added.
  • July 26, 2017 by Filip Jorissen:
    Added replaceable block that allows to define the number of occupants. See #760.
  • April 26, 2017, by Filip Jorissen:
    Added asserts that check for illegal combinations of internal wall with exterior window. See issue #714.
  • March 21, 2017, by Filip Jorissen:
    Changed bus parameters for JModelica compatibility. See issue #559. Also removed obsolete each.
  • January 20, 2017 by Filip Jorissen:
    Removed propagation of nLay and nGain since this lead to warnings.
  • January 11, 2017 by Filip Jorissen:
    Added documentation
  • January 10, 2017, by Filip Jorissen:
    Added linExtRadWin for windows.
  • November 14, 2016 by Filip Jorissen:
    First implementation