modelOuterWall
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
| Type | Name | Default | Description |
|---|---|---|---|
| IDEAS.Buildings.Data.Interfaces.Construction | constructionType (from PartialOpaqueSurface) | ||
| Integer | incOpt (from PartialSurface) | 4 | Tilt angle option from simInfoManager, or custom using inc |
| Modelica.Units.SI.Angle | inc (from PartialSurface) | sim.incOpts[incOpt] | Custom inclination (tilt) angle of the wall, default wall |
| Integer | aziOpt (from PartialSurface) | 5 | Azimuth angle option from simInfoManager, or custom using azi |
| Modelica.Units.SI.Angle | azi (from PartialSurface) | sim.aziOpts[aziOpt] | Custom azimuth angle of the wall, default south |
| Modelica.Units.SI.Area | A (from PartialSurface) | Component surface area | |
| Real | nWin (from PartialSurface) | 1 | Use this factor to scale the component to nWin identical components |
| Real | q50_internal (from PartialSurface) | Surface air tightness | |
| Modelica.Units.SI.Length | hzone_a (from PartialSurface) | ||
| Modelica.Units.SI.Length | hAbs_floor_a (from PartialSurface) | ||
| Modelica.Units.SI.Length | Habs_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 |
| Real | U_value | 1/(1/8 + sum(constructionType.mats.R) + 1/25) | Wall U-value |
| IDEAS.Buildings.Data.WindPressureCoeff.Lowrise_Square_Exposed | Cp_table | ||
| Advanced › Design power | |||
| Modelica.Units.SI.Power | QTra_design (from PartialSurface) | Design heat losses at reference temperature of the boundary space | |
| Dynamics › Initial condition | |||
| Modelica.Units.SI.Temperature | T_start (from PartialSurface) | 293.15 | Start temperature for each of the layers |
| Convection | |||
| Boolean | linIntCon_a (from PartialSurface) | sim.linIntCon | = true, if convective heat transfer should be linearised |
| Modelica.Units.SI.TemperatureDifference | dT_nominal_a (from PartialSurface) | 1 | Nominal temperature difference used for linearisation, negative temperatures indicate the solid is colder |
| Boolean | linExtCon | sim.linExtCon | = true, if exterior convective heat transfer should be linearised (uses average wind speed) |
| Dynamics › Equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics (from PartialSurface) | Modelica.Fluid.Types.Dynamics.FixedInitial | Static (steady state) or transient (dynamic) thermal conduction model |
| Airflow › Airtightness | |||
| Boolean | use_custom_q50 (from PartialSurface) | false | check to disable the default q50 computation and to assign a custom q50 value |
| Real | custom_q50 (from PartialSurface) | 2 | Surface air tightness |
| Vertical position (important if interZonalAirFlowType is TwoPorts) | |||
| Modelica.Units.SI.Length | hVertical (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_a | Vertical surface height, height of the surface projected to the vertical (e.g. 0 for floors and ceilings) |
| Modelica.Units.SI.Length | hRelSurfBot_a (from PartialSurface) | if IDEAS.Utilities.Math.Functions.isAngle(incInt, IDEAS.Types.Tilt.Ceiling) then hzone_a else 0 | Height 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 | |||
| Boolean | linExtRad | sim.linExtRad | = true, if exterior radiative heat transfer should be linearised |
| Building shade | |||
| Boolean | hasBuildingShade | false | =true, to enable computation of shade cast by opposite building or object |
| Modelica.Units.SI.Length | L | 0 | Distance between object and wall, perpendicular to wall |
| Modelica.Units.SI.Length | dh | 0 | Height difference between top of object and top of wall |
| Modelica.Units.SI.Length | hWal | 0 | Wall height |
| Airflow › Wind Pressure | |||
| Real[:,:] | coeffsCp | if 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_Wall | Cp at different angles of attack |
| Boolean | use_custom_Cs | false | if checked, Cs will be used instead of the default related to the interzonal airflow type |
| Boolean | use_sim_Cs | sim.use_sim_Cs | if checked, the default Cs of each surface in the building is sim.Cs |
| Real | Cs | sim.Cs | Wind speed modifier |
| Airflow › Wind | |||
| Real | Habs | hAbs_floor_a + hRelSurfBot_a + (hVertical/2) | Absolute height of the center of the surface for correcting the wind speed, used in TwoPort implementation |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| IDEAS.Buildings.Components.Interfaces.ZoneBus | propsBus_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
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:
RefactoredSolBusto avoid many instances inPropsBus. See #1131 -
November 28, 2019, by Ian Beausoleil-Morrison:
incandaziof surface now passed as parameters to ExteriorConvection. See #1089 -
October 13, 2019, by Filip Jorissen:
Refactored the parameter definition ofincandaziby 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 portsHDirTiletc. 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.