Buildings.ThermalZones.ISO13790.Zone5R1C

Package with reduced order thermal zones based on ISO 13790

Information

This package contains the core thermal zone models based on ISO 13790 that can calculate the dynamic thermal behaviour of buildings.

Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).

Package Content

Name Description
Buildings.ThermalZones.ISO13790.Zone5R1C.Zone Zone Thermal zone based on 5R1C network
Buildings.ThermalZones.ISO13790.Zone5R1C.ZoneHVAC ZoneHVAC Thermal zone for HVAC based on 5R1C network

Buildings.ThermalZones.ISO13790.Zone5R1C.Zone Buildings.ThermalZones.ISO13790.Zone5R1C.Zone

Thermal zone based on 5R1C network

Buildings.ThermalZones.ISO13790.Zone5R1C.Zone

Information

This is a lumped-capacity simplified building model based on the 5R1C network presented in the ISO 13790:2008 Standard. The simplified 5R1C model uses five thermal resistances and one thermal capacity to reproduce the transient thermal behaviour of buildings. The thermal zone is modeled with three temperature nodes, the indoor air temperature TAir, the envelope internal surface temperature TSur and the zone's mass temperature TMas (the heat port is not shown in the figure), and two boundary condition nodes, supply air temperature TSup and the external air temperature TExt. The five resistances are related to heat transfer by ventilation HVen, windows HWin, opaque components (split between HTra and HMas) and heat transfer between the internal surfaces of walls and the air temperature HThe. The thermal capacity Cm includes the thermal capacity of the entire zone. The heating and/or cooling demand is found by calculating the heating and/or cooling power ΦHC that needs to be supplied to, or extracted from, the internal air node to maintain a certain set-point. Internal, Φint , and solar, Φsol, heat gains are input values, which are split in three components.


image


The ventilation heat transfer coefficient Hven is calculated using

Hven = ρa cakk,

where ρa is the density of air, ca is the specific heat capacity of air and k is the k-th volumetric external air flow rate. The coupling conductance Hthe is given by

Hthe = has Atot,

where has is the heat transfer coefficient between the air node the surface node, with a fixed value of 3.45 W/m2K, and Atot is the area of all surfaces facing the building zone. The thermal transmission coefficient of windows Hwin is calculated using

Hwin = ∑kUwin,kAwin,k,

where Uwin,k is the thermal transmittance of window element k of the building envelope and Ak is the area of the window element k of the building envelope. The coupling conductance Hmas is given by

Hmas =hms fms Af,

where hms is the heat transfer coefficient between the mass node and the surface node, with fixed value of 9.1 W/m2K, fms is a correction factor, and Af is the floor area. The correction factor fms can be assumed as 2.5 for light and medium building constructions, and 3 for heavy constructions. The coupling conductance Htra is calculated using

Htra = 1 ⁄ (1 ⁄ Hop - 1 ⁄ Hmas),

where Hop is the thermal transmission coefficient of opaque elements. The three heat gains components are calculated using

Φair = 0.5 Φint,

Φsur = (1-fms Af ⁄ Atot -Hwin ⁄ hms Atot)(0.5 Φint+ Φsol),

Φmas = fms Af ⁄ Atot (0.5Φint + Φsol).

Tips for parametrization

Parameters

TypeNameDefaultDescription
AreaAFlo Net conditioned floor area [m2]
VolumeVRoo Volume of room [m3]
CoefficientOfHeatTransferhInt3.45Heat transfer coefficient between surface and air nodes [W/(m2.K)]
GenericbuiMasredeclare parameter ISO13790...Building mass
IntegernOrientations4Number of orientations for vertical walls
AnglesurTil[nOrientations] Tilt angle of surfaces [rad]
AnglesurAzi[nOrientations] Azimuth angle of surfaces [rad]
Ventilation
RealairRat Air change rate [1/h]
Windows
AreaAWin[nOrientations] Area of windows [m2]
CoefficientOfHeatTransferUWin U-value of windows [W/(m2.K)]
RealwinFra0.001Frame fraction of windows
RealgFac Energy transmittance of glazings
Opaque constructions
AreaAWal[nOrientations] Area of external walls (only opaque part) [m2]
AreaARoo Area of roof [m2]
CoefficientOfHeatTransferUWal U-value of external walls [W/(m2.K)]
CoefficientOfHeatTransferURoo U-value of roof [W/(m2.K)]
CoefficientOfHeatTransferUFlo U-value of floor [W/(m2.K)]
Realb0.5Adjustment factor for ground heat transfer

Connectors

TypeNameDescription
input RealInputintSenGaiInternal sensible heat gains [W]
output RealOutputTAirRoom air temperature [K]
output RealOutputTSurAverage inside surface temperature [K]
BusweaBusWeather data bus
HeatPort_aheaPorAirHeat port to air node
HeatPort_aheaPorSurHeat port to surface temperatures

Modelica definition

model Zone "Thermal zone based on 5R1C network" parameter Real airRat(unit="1/h") "Air change rate"; parameter Modelica.Units.SI.Area AWin[nOrientations] "Area of windows"; parameter Modelica.Units.SI.CoefficientOfHeatTransfer UWin "U-value of windows"; parameter Modelica.Units.SI.Area AWal[nOrientations] "Area of external walls (only opaque part)"; parameter Modelica.Units.SI.Area ARoo "Area of roof"; parameter Modelica.Units.SI.CoefficientOfHeatTransfer UWal "U-value of external walls"; parameter Modelica.Units.SI.CoefficientOfHeatTransfer URoo "U-value of roof"; parameter Modelica.Units.SI.CoefficientOfHeatTransfer UFlo "U-value of floor"; parameter Real b=0.5 "Adjustment factor for ground heat transfer"; parameter Modelica.Units.SI.Area AFlo "Net conditioned floor area"; parameter Modelica.Units.SI.Volume VRoo "Volume of room"; parameter Modelica.Units.SI.CoefficientOfHeatTransfer hInt=3.45 "Heat transfer coefficient between surface and air nodes"; replaceable parameter ISO13790.Data.Generic buiMas "Building mass"; parameter Integer nOrientations(min=1) = 4 "Number of orientations for vertical walls"; parameter Modelica.Units.SI.Angle surTil[nOrientations] "Tilt angle of surfaces"; parameter Modelica.Units.SI.Angle surAzi[nOrientations] "Azimuth angle of surfaces"; parameter Real winFra(min=0, max=1)=0.001 "Frame fraction of windows"; parameter Real gFac(min=0, max=1) "Energy transmittance of glazings"; Modelica.Blocks.Interfaces.RealInput intSenGai(final unit="W") "Internal sensible heat gains"; Modelica.Blocks.Interfaces.RealOutput TAir( final unit="K", displayUnit="degC") "Room air temperature"; Modelica.Blocks.Interfaces.RealOutput TSur( final unit="K", displayUnit="degC") "Average inside surface temperature"; Buildings.BoundaryConditions.WeatherData.Bus weaBus "Weather data bus"; Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a heaPorAir "Heat port to air node"; Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a heaPorSur "Heat port to surface temperatures"; Modelica.Thermal.HeatTransfer.Components.ThermalConductor HVen( G=airRat*VRoo*1005*1.2/3600) "Heat transfer due to ventilation"; Modelica.Thermal.HeatTransfer.Components.ThermalConductor HTra( G=1/(1/(UWal*sum(AWal) + b*UFlo*AFlo + URoo*ARoo) - 1/(hSur*buiMas.facMas*AFlo))) "Heat transfer through opaque elements"; Modelica.Thermal.HeatTransfer.Components.ThermalConductor HWin( G=UWin*sum(AWin)) "Heat transfer through glazed elements"; Modelica.Thermal.HeatTransfer.Components.ThermalConductor HThe(G=hInt*AFlo*ratSur) "Coupling conductance betwee air and surface nodes"; Modelica.Thermal.HeatTransfer.Components.ThermalConductor HMas(G=hSur*buiMas.facMas*AFlo) "Coupling conductance between surface and mass nodes"; Modelica.Thermal.HeatTransfer.Components.HeatCapacitor capMas( C=buiMas.heaC*AFlo, T(displayUnit="degC", fixed=true, start=293.15)) "Zone thermal capacity"; Buildings.HeatTransfer.Sources.PrescribedTemperature TExt "External air temperature"; Modelica.Blocks.Math.Add solGai "Total solar heat gains"; BaseClasses.GlazedElements win( final n=nOrientations, final AWin=AWin, final surTil=surTil, final surAzi=surAzi, final gFac=gFac, final winFra=winFra) "Solar heat gains of glazed elements"; BaseClasses.OpaqueElements opa( final n=nOrientations, final AWal=AWal, final ARoo=ARoo, final UWal=UWal, final URoo=URoo, final surTil=surTil, final surAzi=surAzi) "Solar heat gains of opaque elements"; BaseClasses.GainSurface phiSur( ATot=AFlo*ratSur, facMas=buiMas.facMas, AFlo=AFlo, HWinGai=HWin.G) "Heat flow injected to surface node"; Modelica.Blocks.Math.Gain phiAir(k=0.5) "Heat flow injected to air node"; BaseClasses.GainMass phiMas( ATot=AFlo*ratSur, facMas=buiMas.facMas, AFlo=AFlo) "Heat flow injected to mass node"; Buildings.HeatTransfer.Sources.PrescribedTemperature TVen "Supply air temperature"; protected parameter Real ratSur=4.5 "Ratio between the internal surfaces area and the floor area"; parameter Modelica.Units.SI.CoefficientOfHeatTransfer hSur=9.1 "Heat transfer coefficient between mass and surface nodes"; Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor senTAir "Air temperature sensor"; Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor senTSur "Surface temperature sensor"; Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow heaAir; Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow heaSur; Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow heaMas; initial equation assert(size(AWin,1) == nOrientations, "The parameter AWin must have the same dimension of nOrientations."); assert(size(AWal,1) == nOrientations, "The parameter AWal must have the same dimension of nOrientations."); assert(size(surTil,1) == nOrientations, "The parameter surTil must have the same dimension of nOrientations."); assert(size(surAzi,1) == nOrientations, "The parameter surAzi must have the same dimension of nOrientations."); equation connect(heaPorSur, HWin.port_b); connect(heaPorAir, HVen.port_b); connect(heaPorAir, HThe.port_b); connect(heaPorAir, heaAir.port); connect(heaSur.port, heaPorSur); connect(heaPorSur, HMas.port_b); connect(weaBus.TDryBul,TExt. T); connect(heaPorSur, HThe.port_a); connect(heaPorSur, heaPorSur); connect(win.weaBus, weaBus); connect(opa.weaBus, weaBus); connect(HWin.port_a,TExt. port); connect(HTra.port_a, TExt.port); connect(heaMas.port, HTra.port_b); connect(capMas.port, HTra.port_b); connect(HMas.port_a, HTra.port_b); connect(TVen.port, HVen.port_a); connect(weaBus.TDryBul,TVen. T); connect(solGai.y, phiMas.solGai); connect(phiSur.solGai, solGai.y); connect(intSenGai, phiMas.intSenGai); connect(phiSur.intSenGai, intSenGai); connect(phiAir.u, intSenGai); connect(phiMas.masGai, heaMas.Q_flow); connect(phiAir.y, heaAir.Q_flow); connect(phiSur.surGai, heaSur.Q_flow); connect(win.solRadWin, solGai.u1); connect(opa.y, solGai.u2); connect(senTSur.port, heaPorSur); connect(senTAir.port, heaPorAir); connect(senTAir.T, TAir); connect(senTSur.T, TSur); end Zone;

Buildings.ThermalZones.ISO13790.Zone5R1C.ZoneHVAC Buildings.ThermalZones.ISO13790.Zone5R1C.ZoneHVAC

Thermal zone for HVAC based on 5R1C network

Buildings.ThermalZones.ISO13790.Zone5R1C.ZoneHVAC

Information

This models is identical to Buildings.ThermalZones.ISO13790.Zone5R1C.Zone, except that a mixing volume is added for integration of HVAC systems based on fluid models. Latent heat gains are also considered.

Extends from Zone (Thermal zone based on 5R1C network).

Parameters

TypeNameDefaultDescription
AreaAFlo Net conditioned floor area [m2]
VolumeVRoo Volume of room [m3]
CoefficientOfHeatTransferhInt3.45Heat transfer coefficient between surface and air nodes [W/(m2.K)]
GenericbuiMasredeclare parameter ISO13790...Building mass
IntegernOrientations4Number of orientations for vertical walls
AnglesurTil[nOrientations] Tilt angle of surfaces [rad]
AnglesurAzi[nOrientations] Azimuth angle of surfaces [rad]
replaceable package MediumModelica.Media.Interfaces.Pa... 
Ventilation
RealairRat Air change rate [1/h]
Windows
AreaAWin[nOrientations] Area of windows [m2]
CoefficientOfHeatTransferUWin U-value of windows [W/(m2.K)]
RealwinFra0.001Frame fraction of windows
RealgFac Energy transmittance of glazings
Opaque constructions
AreaAWal[nOrientations] Area of external walls (only opaque part) [m2]
AreaARoo Area of roof [m2]
CoefficientOfHeatTransferUWal U-value of external walls [W/(m2.K)]
CoefficientOfHeatTransferURoo U-value of roof [W/(m2.K)]
CoefficientOfHeatTransferUFlo U-value of floor [W/(m2.K)]
Realb0.5Adjustment factor for ground heat transfer

Connectors

TypeNameDescription
input RealInputintSenGaiInternal sensible heat gains [W]
output RealOutputTAirRoom air temperature [K]
output RealOutputTSurAverage inside surface temperature [K]
BusweaBusWeather data bus
HeatPort_aheaPorAirHeat port to air node
HeatPort_aheaPorSurHeat port to surface temperatures
replaceable package Medium 
input RealInputintLatGaiInternal latent heat gains [W]
VesselFluidPorts_bports[nPorts]Fluid port for adding HVAC system, air infiltration and exfiltration

Modelica definition

model ZoneHVAC "Thermal zone for HVAC based on 5R1C network" extends Zone(capMas(C=buiMas.heaC*AFlo - VRoo*1.2*1014)); replaceable package Medium = Modelica.Media.Interfaces.PartialMedium; parameter Integer nPorts=0 "Number of fluid ports"; Modelica.Blocks.Interfaces.RealInput intLatGai(final unit="W") "Internal latent heat gains"; Modelica.Blocks.Math.Gain mWat_flow(final k=1/h_fg) "Water flow rate due to latent heat gain"; Fluid.MixingVolumes.MixingVolumeMoistAir vol( redeclare final package Medium = Medium, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, m_flow_nominal=VRoo*Buildings.Media.Air.dStp*3/3600, V=VRoo, nPorts=nPorts) "Air volume"; Modelica.Fluid.Vessels.BaseClasses.VesselFluidPorts_b ports[nPorts]( redeclare each final package Medium = Medium) "Fluid port for adding HVAC system, air infiltration and exfiltration"; protected constant Modelica.Units.SI.SpecificEnergy h_fg= Buildings.Media.Air.enthalpyOfCondensingGas(273.15 + 37) "Latent heat of water vapor"; equation connect(mWat_flow.y, vol.mWat_flow); connect(heaPorAir, vol.heatPort); connect(vol.ports, ports); connect(intLatGai, mWat_flow.u); end ZoneHVAC;