Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx

900 series of ANSI/ASHRAE BESTEST

Information

This package contains the validation cases of the 900 series of the BESTEST validation (ANSI/ASHRAE 2007).

References

ANSI/ASHRAE. 2007. ANSI/ASHRAE Standard 140-2007, Standard Method of Test for the Evaluation of Building Energy Analysis Computer Programs.

Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).

Package Content

Name Description
Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case900 Case900 Case 600, but with high thermal mass
Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case900FF Case900FF Case 600FF, but with high thermal mass
Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case920 Case920 Case 900, but with windows on East and West side walls
Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case940 Case940 Case 900, but with heating schedule
Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case950 Case950 Case 900, but cooling based on schedule, night venting, and no heating
Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case950FF Case950FF Case 900, but no heating, no cooling, and ventilation as in case 650
Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case960 Case960 Case 600, but with an unconditioned sun-space

Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case900 Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case900

Case 600, but with high thermal mass

Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case900

Information

This model is used for the basic test case 900 of the BESTEST validation suite. Case 900 is a heavy-weight building with room temperature control set to 20°C for heating and 27°C for cooling. The room has no shade and a window that faces south.

Extends from Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases6xx.Case600 (Case 600FF, but with dual-setpoint for heating and cooling).

Parameters

TypeNameDefaultDescription
AngleS_Buildings.Types.Azimuth.SAzimuth for south walls [rad]
AngleE_Buildings.Types.Azimuth.EAzimuth for east walls [rad]
AngleW_Buildings.Types.Azimuth.WAzimuth for west walls [rad]
AngleN_Buildings.Types.Azimuth.NAzimuth for north walls [rad]
AngleC_Buildings.Types.Tilt.CeilingTilt for ceiling [rad]
AngleF_Buildings.Types.Tilt.FloorTilt for floor [rad]
AngleZ_Buildings.Types.Tilt.WallTilt for wall [rad]
IntegernConExtWin1Number of constructions with a window
IntegernConBou1Number of surface that are connected to constructions that are modeled inside the room
GenericmatExtWalextWalCase900Exterior wall
GenericmatFlofloorCase900Floor
Genericsoil Soil properties
Genericroof Roof
ExteriorWallCase900extWalCase900 Exterior wall
FloorCase900floorCase900 Floor

Connectors

TypeNameDescription
BusweaBusWeather data bus

Modelica definition

model Case900 "Case 600, but with high thermal mass" extends Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases6xx.Case600( matExtWal = extWalCase900, matFlo = floorCase900, staRes( annualHea(Min=1.170*3.6e9, Max=2.041*3.6e9, Mean=1.745*3.6e9), annualCoo(Min=-2.132*3.6e9, Max=-3.415*3.6e9, Mean=-2.678*3.6e9), peakHea(Min=2.850*1000, Max=3.797*1000, Mean=3.506*1000), peakCoo(Min=-2.888*1000, Max=-3.871*1000, Mean=-3.390*1000))); parameter Buildings.ThermalZones.Detailed.Validation.BESTEST.Data.ExteriorWallCase900 extWalCase900 "Exterior wall"; parameter Buildings.ThermalZones.Detailed.Validation.BESTEST.Data.FloorCase900 floorCase900 "Floor"; end Case900;

Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case900FF Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case900FF

Case 600FF, but with high thermal mass

Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case900FF

Information

This model is used for the test case 900FF of the BESTEST validation suite. Case 900FF is a heavy-weight building. The room temperature is free floating.

Extends from Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases6xx.Case600FF (Basic test with light-weight construction and free floating temperature).

Parameters

TypeNameDefaultDescription
AngleS_Buildings.Types.Azimuth.SAzimuth for south walls [rad]
AngleE_Buildings.Types.Azimuth.EAzimuth for east walls [rad]
AngleW_Buildings.Types.Azimuth.WAzimuth for west walls [rad]
AngleN_Buildings.Types.Azimuth.NAzimuth for north walls [rad]
AngleC_Buildings.Types.Tilt.CeilingTilt for ceiling [rad]
AngleF_Buildings.Types.Tilt.FloorTilt for floor [rad]
AngleZ_Buildings.Types.Tilt.WallTilt for wall [rad]
IntegernConExtWin1Number of constructions with a window
IntegernConBou1Number of surface that are connected to constructions that are modeled inside the room
GenericmatExtWalextWalCase900Exterior wall
GenericmatFlofloorCase900Floor
Genericsoil Soil properties
Genericroof Roof
ExteriorWallCase900extWalCase900 Exterior wall
FloorCase900floorCase900 Floor

Connectors

TypeNameDescription
BusweaBusWeather data bus

Modelica definition

model Case900FF "Case 600FF, but with high thermal mass" extends Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases6xx.Case600FF ( matExtWal = extWalCase900, matFlo = floorCase900, redeclare Buildings.ThermalZones.Detailed.Validation.BESTEST.Data.StandardResultsFreeFloating staRes( minT( Min=-6.4+273.15, Max=-1.6+273.15, Mean=-4.2+273.15), maxT( Min=41.6+273.15, Max=44.8+273.15, Mean=43.1+273.15), meanT(Min=24.5+273.15, Max=25.9+273.15, Mean=25.2+273.15))); parameter Buildings.ThermalZones.Detailed.Validation.BESTEST.Data.ExteriorWallCase900 extWalCase900 "Exterior wall"; parameter Buildings.ThermalZones.Detailed.Validation.BESTEST.Data.FloorCase900 floorCase900 "Floor"; end Case900FF;

Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case920 Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case920

Case 900, but with windows on East and West side walls

Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case920

Information

This model is the case 920 of the BESTEST validation suite. Case 920 differs from case 900 in that the west and east facing walls have a window, but there is no window in the south facing wall.

Extends from Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case900 (Case 600, but with high thermal mass).

Parameters

TypeNameDefaultDescription
AngleS_Buildings.Types.Azimuth.SAzimuth for south walls [rad]
AngleE_Buildings.Types.Azimuth.EAzimuth for east walls [rad]
AngleW_Buildings.Types.Azimuth.WAzimuth for west walls [rad]
AngleN_Buildings.Types.Azimuth.NAzimuth for north walls [rad]
AngleC_Buildings.Types.Tilt.CeilingTilt for ceiling [rad]
AngleF_Buildings.Types.Tilt.FloorTilt for floor [rad]
AngleZ_Buildings.Types.Tilt.WallTilt for wall [rad]
IntegernConExtWin1Number of constructions with a window
IntegernConBou1Number of surface that are connected to constructions that are modeled inside the room
GenericmatExtWalextWalCase900Exterior wall
GenericmatFlofloorCase900Floor
Genericsoil Soil properties
Genericroof Roof
ExteriorWallCase900extWalCase900 Exterior wall
FloorCase900floorCase900 Floor

Connectors

TypeNameDescription
BusweaBusWeather data bus

Modelica definition

model Case920 "Case 900, but with windows on East and West side walls" extends Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case900( roo( nConExtWin=2, datConExtWin( layers={matExtWal, matExtWal}, each A=6*2.7, glaSys={window600, window600}, each wWin=3, each hWin=2, each fFra=0.001, each til=Z_, azi={W_,E_}), nConExt=3, datConExt( layers={roof,matExtWal,matExtWal}, A={48,8*2.7,8*2.7}, til={C_,Z_,Z_}, azi={S_,S_,N_})), staRes( annualHea(Min=3.313*3.6e9, Max=4.300*3.6e9, Mean=3.973*3.6e9), annualCoo(Min=-1.840*3.6e9, Max=-3.092*3.6e9, Mean=-2.552*3.6e9), peakHea(Min=3.308*1000, Max=4.061*1000, Mean=3.804*1000), peakCoo(Min=-2.385*1000, Max=-3.505*1000, Mean=-3.077*1000))); end Case920;

Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case940 Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case940

Case 900, but with heating schedule

Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case940

Information

This model is used for the basic test case 940 of the BESTEST validation suite. Case940 is the same as Case900, but with the following modifications:

Extends from Case900 (Case 600, but with high thermal mass).

Parameters

TypeNameDefaultDescription
AngleS_Buildings.Types.Azimuth.SAzimuth for south walls [rad]
AngleE_Buildings.Types.Azimuth.EAzimuth for east walls [rad]
AngleW_Buildings.Types.Azimuth.WAzimuth for west walls [rad]
AngleN_Buildings.Types.Azimuth.NAzimuth for north walls [rad]
AngleC_Buildings.Types.Tilt.CeilingTilt for ceiling [rad]
AngleF_Buildings.Types.Tilt.FloorTilt for floor [rad]
AngleZ_Buildings.Types.Tilt.WallTilt for wall [rad]
IntegernConExtWin1Number of constructions with a window
IntegernConBou1Number of surface that are connected to constructions that are modeled inside the room
GenericmatExtWalextWalCase900Exterior wall
GenericmatFlofloorCase900Floor
Genericsoil Soil properties
Genericroof Roof
ExteriorWallCase900extWalCase900 Exterior wall
FloorCase900floorCase900 Floor

Connectors

TypeNameDescription
BusweaBusWeather data bus

Modelica definition

model Case940 "Case 900, but with heating schedule" extends Case900( TSetHea(table=[ 0, 273.15 + 10; 7*3600, 273.15 + 10; 7*3600, 273.15 + 20; 23*3600, 273.15 + 20; 23*3600,273.15 + 10; 24*3600,273.15 + 10]), staRes( annualHea(Min=0.793*3.6e9, Max=1.411*3.6e9, Mean=1.160*3.6e9), annualCoo(Min=-2.079*3.6e9, Max=-3.241*3.6e9, Mean=-2.578*3.6e9), peakHea(Min=3.980*1000, Max=6.428*1000, Mean=5.494*1000), peakCoo(Min=-2.886*1000, Max=-3.871*1000, Mean=-3.390*1000))); end Case940;

Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case950 Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case950

Case 900, but cooling based on schedule, night venting, and no heating

Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case950

Information

This model is used for the test case 950 of the BESTEST validation suite. Case950 is the same as Case900, but with the following modifications:

Extends from Case900 (Case 600, but with high thermal mass).

Parameters

TypeNameDefaultDescription
AngleS_Buildings.Types.Azimuth.SAzimuth for south walls [rad]
AngleE_Buildings.Types.Azimuth.EAzimuth for east walls [rad]
AngleW_Buildings.Types.Azimuth.WAzimuth for west walls [rad]
AngleN_Buildings.Types.Azimuth.NAzimuth for north walls [rad]
AngleC_Buildings.Types.Tilt.CeilingTilt for ceiling [rad]
AngleF_Buildings.Types.Tilt.FloorTilt for floor [rad]
AngleZ_Buildings.Types.Tilt.WallTilt for wall [rad]
IntegernConExtWin1Number of constructions with a window
IntegernConBou1Number of surface that are connected to constructions that are modeled inside the room
GenericmatExtWalextWalCase900Exterior wall
GenericmatFlofloorCase900Floor
Genericsoil Soil properties
Genericroof Roof
ExteriorWallCase900extWalCase900 Exterior wall
FloorCase900floorCase900 Floor

Connectors

TypeNameDescription
BusweaBusWeather data bus

Modelica definition

model Case950 "Case 900, but cooling based on schedule, night venting, and no heating" extends Case900( TSetHea(table=[0, 273.15 -200]), TSetCoo(table=[ 0, 273.15+100; 7*3600, 273.15+100; 7*3600, 273.15+27; 18*3600, 273.15+27; 18*3600, 273.15+100; 24*3600, 273.15+100]), staRes( annualHea(Min=0*3.6e9, Max=0*3.6e9, Mean=0*3.6e9), annualCoo(Min=-0.387*3.6e9, Max=-0.921*3.6e9, Mean=-0.605*3.6e9), peakHea(Min=0*1000, Max=0*1000, Mean=0*1000), peakCoo(Min=-2.033*1000, Max=-3.170*1000, Mean=-2.674*1000)), gaiHea(k=0), multiSum(nu=2)); BaseClasses.DaySchedule vent(table=[ 0, -1703.16/3600; 7*3600, -1703.16/3600; 7*3600, 0; 18*3600, 0; 18*3600, -1703.16/3600; 24*3600, -1703.16/3600]) "Ventilation air flow rate"; equation connect(multiSum.u[2], vent.y[1]); end Case950;

Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case950FF Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case950FF

Case 900, but no heating, no cooling, and ventilation as in case 650

Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case950FF

Information

This model is used for the test case 950FF of the BESTEST validation suite. Case 950FF is identical to case 950, except that there is no heating and no cooling.

Extends from Case900FF (Case 600FF, but with high thermal mass).

Parameters

TypeNameDefaultDescription
AngleS_Buildings.Types.Azimuth.SAzimuth for south walls [rad]
AngleE_Buildings.Types.Azimuth.EAzimuth for east walls [rad]
AngleW_Buildings.Types.Azimuth.WAzimuth for west walls [rad]
AngleN_Buildings.Types.Azimuth.NAzimuth for north walls [rad]
AngleC_Buildings.Types.Tilt.CeilingTilt for ceiling [rad]
AngleF_Buildings.Types.Tilt.FloorTilt for floor [rad]
AngleZ_Buildings.Types.Tilt.WallTilt for wall [rad]
IntegernConExtWin1Number of constructions with a window
IntegernConBou1Number of surface that are connected to constructions that are modeled inside the room
GenericmatExtWalextWalCase900Exterior wall
GenericmatFlofloorCase900Floor
Genericsoil Soil properties
Genericroof Roof
ExteriorWallCase900extWalCase900 Exterior wall
FloorCase900floorCase900 Floor

Connectors

TypeNameDescription
BusweaBusWeather data bus

Modelica definition

model Case950FF "Case 900, but no heating, no cooling, and ventilation as in case 650" extends Case900FF( staRes( minT( Min=-20.2+273.15, Max=-18.6+273.15, Mean=-19.6+273.15), maxT( Min=35.5+273.15, Max=38.5+273.15, Mean=36.5+273.15), meanT(Min=14.0+273.15, Max=15.0+273.15, Mean=14.4+273.15)), multiSum(nu=2)); BaseClasses.DaySchedule vent(table=[ 0, -1703.16/3600; 7*3600, -1703.16/3600; 7*3600, 0; 18*3600, 0; 18*3600, -1703.16/3600; 24*3600, -1703.16/3600]) "Ventilation air flow rate"; equation connect(multiSum.u[2],vent.y[1]); end Case950FF;

Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case960 Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case960

Case 600, but with an unconditioned sun-space

Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases9xx.Case960

Information

This model is used for the test case 960 of the BESTEST validation suite. Case 960 is a two zones building, whereas the south-facing zone is an unconditioned sun-space.

Extends from Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases6xx.Case600 (Case 600FF, but with dual-setpoint for heating and cooling).

Parameters

TypeNameDefaultDescription
AngleS_Buildings.Types.Azimuth.SAzimuth for south walls [rad]
AngleE_Buildings.Types.Azimuth.EAzimuth for east walls [rad]
AngleW_Buildings.Types.Azimuth.WAzimuth for west walls [rad]
AngleN_Buildings.Types.Azimuth.NAzimuth for north walls [rad]
AngleC_Buildings.Types.Tilt.CeilingTilt for ceiling [rad]
AngleF_Buildings.Types.Tilt.FloorTilt for floor [rad]
AngleZ_Buildings.Types.Tilt.WallTilt for wall [rad]
IntegernConExtWin1Number of constructions with a window
IntegernConBou1Number of surface that are connected to constructions that are modeled inside the room
GenericmatExtWal Exterior wall
GenericmatFlo Floor
Genericsoil Soil properties
Genericroof Roof
Brick120matLayParmatLayPar(material={Building...Construction material for partition walls
ExteriorWallCase900extWalCase900 Exterior wall
FloorCase900floorCase900 Floor

Connectors

TypeNameDescription
BusweaBusWeather data bus

Modelica definition

model Case960 "Case 600, but with an unconditioned sun-space" extends Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases6xx.Case600( roo( nConExt=4, datConExt( layers={roof,matExtWal,matExtWal,matExtWal}, A={48,6*2.7,6*2.7,8*2.7}, til={C_,Z_,Z_,Z_}, azi={S_,W_,E_,N_}), nConExtWin=0, datConExtWin(A={0}, hWin={0}, wWin={0}), nSurBou=1, surBou( each A=8*2.7, each absIR=0.9, each absSol=0.6, each til=Buildings.Types.Tilt.Wall)), souInf(nPorts=2), staRes( annualHea(Min=2.311*3.6e9, Max=3.373*3.6e9, Mean=2.846*3.6e9), annualCoo(Min=-0.411*3.6e9, Max=-0.803*3.6e9, Mean=-0.618*3.6e9), peakHea(Min=2.410*1000, Max=2.863*1000, Mean=2.701*1000), peakCoo(Min=-0.953*1000, Max=-1.404*1000, Mean=-1.212*1000))); Buildings.HeatTransfer.Conduction.MultiLayer parWal(layers=matLayPar, A=8*2.7, stateAtSurface_a=true, stateAtSurface_b=true) "Partition wall between the two rooms"; parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Brick120 matLayPar(material={ Buildings.HeatTransfer.Data.Solids.Generic( x=0.2, k=0.510, c=1000, d=1400)}) "Construction material for partition walls"; parameter Buildings.ThermalZones.Detailed.Validation.BESTEST.Data.ExteriorWallCase900 extWalCase900 "Exterior wall"; parameter Buildings.ThermalZones.Detailed.Validation.BESTEST.Data.FloorCase900 floorCase900 "Floor"; Buildings.ThermalZones.Detailed.MixedAir sunSpa( redeclare package Medium = MediumA, hRoo=2.7, nPorts=3, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, intConMod=Buildings.HeatTransfer.Types.InteriorConvection.Temperature, extConMod=Buildings.HeatTransfer.Types.ExteriorConvection.TemperatureWind, nConPar=0, nConExt=3, datConExt( layers={roof,extWalCase900,extWalCase900}, A={8*2,2*2.7,2*2.7}, til={C_,Z_,Z_}, azi={S_,W_,E_}), nSurBou=1, surBou( each A=8*2.7, each absIR=0.9, each absSol=0.6, each til=Buildings.Types.Tilt.Wall), nConExtWin=1, datConExtWin( layers={extWalCase900}, A={8*2.7}, glaSys={window600}, wWin={2*3}, hWin={2}, fFra={0.001}, til={Z_}, azi={S_}), nConBou=1, datConBou( layers={floorCase900}, each A=2*8, each til=F_), AFlo=16, lat=0.69464104229374) "Room model for sun-space"; Modelica.Blocks.Sources.Constant qConGai_flow1(k=0) "Convective heat gain"; Modelica.Blocks.Sources.Constant qRadGai_flow1(k=0) "Radiative heat gain"; Modelica.Blocks.Routing.Multiplex3 multiplex3_2; Modelica.Blocks.Sources.Constant qLatGai_flow1(k=0) "Latent heat gain"; Buildings.HeatTransfer.Conduction.SingleLayer soiSunSpa( material=soil, steadyStateInitial=true, A=16, T_a_start=283.15, T_b_start=283.75) "2m deep soil (per definition on p.4 of ASHRAE 140-2007)"; Buildings.Fluid.Sources.MassFlowSource_T sinInf2( redeclare package Medium = MediumA, m_flow=1, use_m_flow_in=true, use_T_in=false, use_X_in=false, use_C_in=false, nPorts=1) "Sink model for sunspace infiltration"; Modelica.Blocks.Sources.Constant InfiltrationRate1(k=-16*2.7*0.5/3600) "0.41 ACH adjusted for the altitude (0.5 at sea level)"; Modelica.Blocks.Math.Product product1; Buildings.Fluid.Sensors.Density density1(redeclare package Medium = MediumA) "Air density inside the building"; Modelica.Thermal.HeatTransfer.Sources.FixedTemperature TSoiSunSpa[nConBou]( each T=283.15) "Boundary condition for construction"; Fluid.FixedResistances.PressureDrop heaCoo1( redeclare package Medium = MediumA, allowFlowReversal=false, m_flow_nominal=48*2.7*0.41/3600*1.2, dp_nominal=1, linearized=true, from_dp=true) "Heater and cooler"; equation connect(sunSpa.uSha, replicator.y); connect(parWal.port_a, roo.surf_surBou[1]); connect(parWal.port_b, sunSpa.surf_surBou[1]); connect(sunSpa.surf_conBou[1], soiSunSpa.port_b); connect(TSoiSunSpa[1].port, soiSunSpa.port_a); connect(weaDat.weaBus, sunSpa.weaBus); connect(qRadGai_flow1.y, multiplex3_2.u1[1]); connect(qConGai_flow1.y, multiplex3_2.u2[1]); connect(qLatGai_flow1.y, multiplex3_2.u3[1]); connect(multiplex3_2.y, sunSpa.qGai_flow); connect(InfiltrationRate1.y, product1.u1); connect(density1.d, product1.u2); connect(product1.y, sinInf2.m_flow_in); connect(heaCoo1.port_b, sunSpa.ports[1]); connect(sinInf2.ports[1], sunSpa.ports[2]); connect(density1.port, sunSpa.ports[3]); connect(souInf.ports[2], heaCoo1.port_a); end Case960;