modelOuterWall

Opaque building envelope construction

Extends from IDEAS.Buildings.Components.Interfaces.PartialOpaqueSurface (Partial component for the opaque surfaces of the building envelope).

Information

This is the main wall model that should be used to simulate a wall or roof between a zone and the outside environment.

Typical use and important parameters

See IDEAS.Buildings.Components.Interfaces.PartialOpaqueSurface for equations, options, parameters, validation and dynamics that are common for all surfaces.

In addition to these parameters, this model computes the shade cast by an outside object such as a building using IDEAS.Buildings.Components.Shading.BuildingShade if parameter hasBuildingShade=true. Values for parameters L, dh and hWal then have to be specified.

Options

The model IDEAS.Buildings.Components.Shading.BuildingShade is implemented by default but it can be redeclared in the advanced tab. In this case the user still has to provide values for L, dh and hWal to avoid failing an assert that verifies the parameter consistency. The values are however not used in this case. The correct shading parameter values should then be passed through the redeclaration.

Parameters

TypeNameDefaultDescription
IDEAS.Buildings.Data.Interfaces.ConstructionconstructionType (from PartialOpaqueSurface)
IntegerincOpt (from PartialSurface)4Tilt angle option from simInfoManager, or custom using inc
Modelica.Units.SI.Angleinc (from PartialSurface)sim.incOpts[incOpt]Custom inclination (tilt) angle of the wall, default wall
IntegeraziOpt (from PartialSurface)5Azimuth angle option from simInfoManager, or custom using azi
Modelica.Units.SI.Angleazi (from PartialSurface)sim.aziOpts[aziOpt]Custom azimuth angle of the wall, default south
Modelica.Units.SI.AreaA (from PartialSurface)Component surface area
RealnWin (from PartialSurface)1Use this factor to scale the component to nWin identical components
Realq50_internal (from PartialSurface)Surface air tightness
Modelica.Units.SI.Lengthhzone_a (from PartialSurface)
Modelica.Units.SI.LengthhAbs_floor_a (from PartialSurface)
Modelica.Units.SI.LengthHabs_surf (from PartialSurface)hAbs_floor_a + hRelSurfBot_a + (hVertical/2)Absolute height of the middle of the surface, can be used to check the heights after initialisation
RealU_value1/(1/8 + sum(constructionType.mats.R) + 1/25)Wall U-value
IDEAS.Buildings.Data.WindPressureCoeff.Lowrise_Square_ExposedCp_table
Advanced › Design power
Modelica.Units.SI.PowerQTra_design (from PartialSurface)Design heat losses at reference temperature of the boundary space
Dynamics › Initial condition
Modelica.Units.SI.TemperatureT_start (from PartialSurface)293.15Start temperature for each of the layers
Convection
BooleanlinIntCon_a (from PartialSurface)sim.linIntCon= true, if convective heat transfer should be linearised
Modelica.Units.SI.TemperatureDifferencedT_nominal_a (from PartialSurface)1Nominal temperature difference used for linearisation, negative temperatures indicate the solid is colder
BooleanlinExtConsim.linExtCon= true, if exterior convective heat transfer should be linearised (uses average wind speed)
Dynamics › Equations
Modelica.Fluid.Types.DynamicsenergyDynamics (from PartialSurface)Modelica.Fluid.Types.Dynamics.FixedInitialStatic (steady state) or transient (dynamic) thermal conduction model
Airflow › Airtightness
Booleanuse_custom_q50 (from PartialSurface)falsecheck to disable the default q50 computation and to assign a custom q50 value
Realcustom_q50 (from PartialSurface)2Surface air tightness
Vertical position (important if interZonalAirFlowType is TwoPorts)
Modelica.Units.SI.LengthhVertical (from PartialSurface)if IDEAS.Utilities.Math.Functions.isAngle(incInt, IDEAS.Types.Tilt.Floor) or IDEAS.Utilities.Math.Functions.isAngle(incInt, IDEAS.Types.Tilt.Ceiling) then 0 else hzone_aVertical surface height, height of the surface projected to the vertical (e.g. 0 for floors and ceilings)
Modelica.Units.SI.LengthhRelSurfBot_a (from PartialSurface)if IDEAS.Utilities.Math.Functions.isAngle(incInt, IDEAS.Types.Tilt.Ceiling) then hzone_a else 0Height between the lowest point of the surface (bottom) and the floor level of the zone connected at propsBus_a (e.g. 0 for walls at floor level and floors.)
Radiation
BooleanlinExtRadsim.linExtRad= true, if exterior radiative heat transfer should be linearised
Building shade
BooleanhasBuildingShadefalse=true, to enable computation of shade cast by opposite building or object
Modelica.Units.SI.LengthL0Distance between object and wall, perpendicular to wall
Modelica.Units.SI.Lengthdh0Height difference between top of object and top of wall
Modelica.Units.SI.LengthhWal0Wall height
Airflow › Wind Pressure
Real[:,:]coeffsCpif incInt <= Modelica.Constants.pi/18 then Cp_table.Cp_Roof_0_10 elseif incInt <= Modelica.Constants.pi/6 then Cp_table.Cp_Roof_11_30 elseif incInt <= Modelica.Constants.pi/4 then Cp_table.Cp_Roof_30_45 elseif IDEAS.Utilities.Math.Functions.isAngle(incInt, Modelica.Constants.pi) then Cp_table.Cp_Floor else Cp_table.Cp_WallCp at different angles of attack
Booleanuse_custom_Csfalseif checked, Cs will be used instead of the default related to the interzonal airflow type
Booleanuse_sim_Cssim.use_sim_Csif checked, the default Cs of each surface in the building is sim.Cs
RealCssim.CsWind speed modifier
Airflow › Wind
RealHabshAbs_floor_a + hRelSurfBot_a + (hVertical/2)Absolute height of the center of the surface for correcting the wind speed, used in TwoPort implementation

Connectors

TypeNameDefaultDescription
IDEAS.Buildings.Components.Interfaces.ZoneBuspropsBus_a (from PartialSurface)If inc = Floor, then propsbus_a should be connected to the zone above this floor. If inc = ceiling, then propsbus_a should be connected to the zone below this ceiling. If component is an outerWall, porpsBus_a should be connect to the zone.
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a[constructionType.nGain]port_emb (from PartialOpaqueSurface)Port for gains by embedded active layers

Components

TypeNameDefaultDescription
IDEAS.BoundaryConditions.SimInfoManagersim (from PartialSurface)Simulation information manager for climate data
IDEAS.Buildings.Components.BaseClasses.ConvectiveHeatTransfer.InteriorConvectionintCon_a (from PartialSurface)Convective heat transfer correlation for port_a
IDEAS.Buildings.Components.BaseClasses.ConductiveHeatTransfer.MultiLayerlayMul (from PartialSurface)Multilayer component for simulating walls, windows and other surfaces
Modelica.Units.SI.MassFlowRatemBA_flow_1 (from PartialSurface)crackOrOperableDoor.m1_flowFlow outwards relative to propsBus_a, part 1
Modelica.Units.SI.MassFlowRatemBA_flow_2 (from PartialSurface)-crackOrOperableDoor.m2_flowFlow outwards relative to propsBus_a, part 2
Q50_parameterToConnectorq50_zone (from PartialSurface)
IDEAS.Airflow.Multizone.CrackOrOperableDoorcrackOrOperableDoor (from PartialSurface)
Modelica.Blocks.Sources.RealExpressionAExp (from PartialSurface)Area expression
Modelica.Blocks.Routing.BooleanPassThroughuse_custom_q50PassThrough (from PartialSurface)
Modelica.Blocks.Routing.RealPassThroughv50PassThrough (from PartialSurface)
IDEAS.Buildings.Components.Shading.BuildingShadeshaType
IDEAS.BoundaryConditions.SolarIrradiation.RadSolDataradSolData

Revisions

  • August 18, 2025, by Klaas De Jonge:
    Changed inc to incInt where nececarry.
  • November 7, 2024, by Anna Dell'Isola and Jelger Jansen:
    Update calculation of transmission design losses. See #1337
  • October 30, 2024, by Klaas De Jonge:
    Modifications for stack-effect interzonal airflow heights and wind pressure profiles.
  • Februari 18, 2024, by Filip Jorissen:
    Modifications for supporting trickle vents and interzonal airflow.
  • July 18, 2022, by Filip Jorissen:
    Revised code for supporting new shading model. See #1270
  • April 26, 2020, by Filip Jorissen:
    Refactored SolBus to avoid many instances in PropsBus. See #1131
  • November 28, 2019, by Ian Beausoleil-Morrison:
    inc and azi of surface now passed as parameters to ExteriorConvection. See #1089
  • October 13, 2019, by Filip Jorissen:
    Refactored the parameter definition of inc and azi by adding the option to use radio buttons. See #1067
  • August 10, 2018 by Damien Picard:
    Set nWin final to 1 as this should only be used for windows. See #888.
  • May 29, 2018 by Filip Jorissen:
    Added building shade implementation. See #576.
  • May 26, 2017 by Filip Jorissen:
    Revised implementation for renamed ports HDirTil etc. See #735.
  • January 2, 2017, by Filip Jorissen:
    Updated icon layer.
  • October 22, 2016, by Filip Jorissen:
    Revised documentation for IDEAS 1.0.
  • February 10, 2016, by Filip Jorissen and Damien Picard:
    Revised implementation: cleaned up connections and partials.
  • June 14, 2015, Filip Jorissen:
    Adjusted implementation for computing conservation of energy.
  • February 10, 2015 by Filip Jorissen:
    Adjusted implementation for grouping of solar calculations.