modelBoundaryWall
Extends from IDEAS.Buildings.Components.Interfaces.PartialOpaqueSurface (Partial component for the opaque surfaces of the building envelope).
Information
This is a wall model that should be used to simulate a wall between a zone and a prescribed temperature or prescribed heat flow rate boundary condition. See IDEAS.Buildings.Components.Interfaces.PartialOpaqueSurface for equations, options, parameters, validation and dynamics that are common for all surfaces.
Main equations
Specific to this model is that the model does not contain a convection or radiative heat exchange model at the outside of the wall. Instead a prescribed temperature or heat flow rate may be set.
Typical use and important parameters
Parameters use_T_in and use_Q_in may be used
to enable an input for a prescribed boundary condition temperature or heat flow rate.
Alternatively, parameters use_T_fixed and T_fixed can be used
to specify a fixed boundary condition temperature.
It is not allowed to enabled multiple of these three options.
If all are disabled, an adiabatic boundary (Q_flow=0) is used.
T_in_nom and Q_in_nom are used for the calculation
of heat losses, when the temperature boundary condition and heat flow boundary condition are applied, respectively.
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 |
| Advanced › Design power | |||
| Modelica.Units.SI.Power | QTra_design (from PartialSurface) | Design heat losses at reference temperature of the boundary space | |
| Modelica.Units.SI.Temperature | T_in_nom | T_fixed | Nominal boundary temperature, for calculation of design heat loss |
| Modelica.Units.SI.HeatFlowRate | Q_in_nom | 0 | Nominal boundary heat flux, for calculation of design heat loss (positive if entering the wall) |
| 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 |
| 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.) |
| Boundary conditions | |||
| Boolean | use_T_in | false | Use a temperature boundary condition which is read from the input connector T_in |
| Boolean | use_T_fixed | false | Use a fixed temperature boundary condition which is read from the parameter T_fixed |
| Modelica.Units.SI.Temperature | T_fixed | 294.15 | Fixed boundary temperature |
| Boolean | use_Q_in | false | Use a heat flow boundary condition which is read from the input connection Q_in |
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 | |
| Modelica.Blocks.Interfaces.RealInput | T | Input for boundary temperature | |
| Modelica.Blocks.Interfaces.RealInput | Q_flow | Input for boundary heat flow rate entering the wall (positive) |
Components
Revisions
-
November 7, 2024, by Anna Dell'Isola and Jelger Jansen:
Update calculation of transmission design losses. See #1337 -
Februari 18, 2024, by Filip Jorissen:
Modifications for supporting trickle vents and interzonal airflow. -
April 26, 2020, by Filip Jorissen:
RefactoredSolBusto avoid many instances inPropsBus. See #1131 -
January 25, 2019, by Filip Jorissen:
Revised initial equation implementation. See issue #971. -
December 2, 2018 by Filip Jorissen:
Added option for setting fixed boundary condition temperature. See #961. -
August 10, 2018 by Damien Picard:
Set nWin final to 1 as this should only be used for windows. See #888. -
March 22, 2017, by Filip Jorissen:
Changes for JModelica compatibility. -
January 2, 2017, by Filip Jorissen:
Updated icon layer. -
October 22, 2016, by Filip Jorissen:
Revised documentation for IDEAS 1.0. -
December 7, 2016, by Damien Picard:
Set placeCapacityAtSurf_b to false for last layer of layMul when T_in is used and the sim.lineariseDymola is true. Having a capacity connected directly to the prescribed temperature would require to have the derivative of T_in when linearized. The dynamics of the last layer is further set to dynamicFreeInitial when T_in is used to avoid an initialization problem. -
March 8, 2016, by Filip Jorissen:
Fixed energyDynamics when using fixed temperature boundary condition input. This is discussed in issue 462. -
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.