modelBoundaryWall

Opaque wall with optional prescribed heat flow rate or temperature boundary conditions

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.

Parameters 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

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
Advanced › Design power
Modelica.Units.SI.PowerQTra_design (from PartialSurface)Design heat losses at reference temperature of the boundary space
Modelica.Units.SI.TemperatureT_in_nomT_fixedNominal boundary temperature, for calculation of design heat loss
Modelica.Units.SI.HeatFlowRateQ_in_nom0Nominal boundary heat flux, for calculation of design heat loss (positive if entering the wall)
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
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.)
Boundary conditions
Booleanuse_T_infalseUse a temperature boundary condition which is read from the input connector T_in
Booleanuse_T_fixedfalseUse a fixed temperature boundary condition which is read from the parameter T_fixed
Modelica.Units.SI.TemperatureT_fixed294.15Fixed boundary temperature
Booleanuse_Q_infalseUse a heat flow boundary condition which is read from the input connection Q_in

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
Modelica.Blocks.Interfaces.RealInputTInput for boundary temperature
Modelica.Blocks.Interfaces.RealInputQ_flowInput for boundary heat flow rate entering the wall (positive)

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)
Modelica.Blocks.Math.ProductproPreTProduct for linearisation
Modelica.Blocks.Math.ProductproPreQProduct for linearisation
Modelica.Blocks.Sources.ConstantTConstConstant block for temperature
IDEAS.Fluid.Sources.MassFlowSource_Tboundary1
IDEAS.Fluid.Sources.MassFlowSource_Tboundary2
IDEAS.Fluid.Sources.MassFlowSource_Tboundary3

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:
    Refactored SolBus to avoid many instances in PropsBus. 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.