Package with models for the BESTEST validation
Information
This package contains the models that were used for the BESTEST validation (ANSI/ASHRAE 2007).
References
Maccarini A, Prataviera E, Zarrella A, Afshari A. 2021.
Development of a Modelica-based simplified building model for district energy simulations
.
In: Journal of Physics: Conference Series. 2042, 1, 012078.
Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).
Package Content
Name |
Description |
Case600
|
Case 600FF, but with dual-setpoint for heating and cooling |
Case600FF
|
Basic test with light-weight construction and free floating temperature |
Case900
|
|
Case900FF
|
Test with heavy-weight construction and free floating temperature |
Data
|
Data records for BESTEST validation |
Case 600FF, but with dual-setpoint for heating and cooling
Information
This model is used for the basic test case 600 of the BESTEST validation suite.
Case 600 is a light-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 Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model Case600
extends Modelica.Icons.Example;
Modelica.Blocks.Math.Sum sumHeaCoo(nin=2)
;
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow preHeaCoo
;
Modelica.Blocks.Math.Gain gaiHea(k=1E6) ;
Buildings.Controls.Continuous.LimPID conHeaPID(
Ti=300,
k=0.1,
reverseActing=true,
strict=true) ;
Modelica.Blocks.Sources.Constant TSetHea(k=273.15 + 20) ;
Modelica.Blocks.Sources.Constant TSetCoo(k=273.15 + 27) ;
Modelica.Blocks.Routing.Multiplex2 multiplex2;
Modelica.Blocks.Math.Gain gaiCoo(k=-1E6) ;
Buildings.Controls.Continuous.LimPID conCooPID(
Ti=300,
k=0.1,
reverseActing=false,
strict=true) ;
Modelica.Blocks.Continuous.Integrator ECoo(
k=1,
initType=Modelica.Blocks.Types.Init.InitialState,
y_start=0,
u(unit="W"),
y(unit="J")) ;
Modelica.Blocks.Continuous.Integrator EHea(
k=1,
initType=Modelica.Blocks.Types.Init.InitialState,
y_start=0,
u(unit="W"),
y(unit="J")) ;
Modelica.Blocks.Sources.CombiTimeTable daiComBESTEST(table=[0,0,0,0,0,0,0,0;
259200,0,0,0,0,0,0,0; 262800,3250,3800,3930,4130,3930,3770,4230; 266400,
3410,3910,4040,4260,4040,3870,4350; 270000,3390,3870,4010,4230,4000,
3900,4320; 273600,3380,3920,4040,4220,4000,3890,4310; 277200,3420,3940,
4050,4220,4000,3920,4300; 280800,3430,3930,4040,4220,4000,3930,4310;
284400,3420,3940,4050,4220,4000,3930,4310; 288000,3340,3700,3860,4090,
3900,3750,4170; 291600,2770,2680,2560,2900,2710,2420,2910; 295200,1500,
1380,840,1280,1150,800,1470; 298800,150,0,0,0,0,-30,0; 302400,-770,-1230,
-1550,-1070,-1040,-1440,-420; 306000,-2660,-2490,-2850,-2590,-2500,-2720,
-2360; 309600,-3580,-2960,-3400,-3230,-3090,-3160,-2760; 313200,-3530,-2630,
-3120,-2830,-2640,-2840,-2430; 316800,-2440,-1350,-1820,-1550,-1350,-1720,
-1140; 320400,-360,0,0,0,0,0,0; 324000,240,950,780,800,880,770,1290;
327600,1530,2380,2230,2340,2330,2300,2450; 331200,2320,2870,2930,2990,
2950,2970,2940; 334800,2640,3210,3320,3370,3310,3280,3410; 338400,2900,
3280,3490,3530,3350,3460,3590; 342000,3020,3330,3510,3610,3490,3500,
3700; 345600,3010,3390,3560,3660,3530,3470,3770; 345600,0,0,0,0,0,0,0;
3153600,0,0,0,0,0,0,0]) ;
Zone5R1C.Zone zon5R1C(
airRat=0.5,
AWin={0,0,12,0},
UWin=2.984,
AWal={21.6,16.2,9.6,16.2},
ARoo=48,
UWal=0.56,
URoo=0.33,
UFlo=1,
b=0,
AFlo=48,
VRoo=129.6,
hInt=2.74,
redeclare replaceable Buildings.ThermalZones.ISO13790.Validation.BESTEST.Data.Case600Mass
buiMas,
nOrientations=4,
surTil={1.5707963267949,1.5707963267949,1.5707963267949,1.5707963267949},
surAzi={3.1415926535898,-1.5707963267949,0,1.5707963267949},
gFac=0.789);
Modelica.Blocks.Sources.Constant intGai(k=200) ;
BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam=
Modelica.Utilities.Files.loadResource(
"modelica://Buildings/Resources/weatherdata/DRYCOLD.mos"))
;
Buildings.ThermalZones.ISO13790.Validation.BESTEST.Data.Case600Results annComBESTEST ;
equation
connect(sumHeaCoo.y,preHeaCoo. Q_flow);
connect(conHeaPID.y,gaiHea. u);
connect(TSetHea.y,conHeaPID. u_s);
connect(multiplex2.y,sumHeaCoo. u);
connect(conCooPID.u_s,TSetCoo. y);
connect(conCooPID.y,gaiCoo. u);
connect(gaiHea.y,multiplex2. u1[1]);
connect(gaiCoo.y,multiplex2. u2[1]);
connect(gaiCoo.u,conCooPID. y);
connect(EHea.u, gaiHea.y);
connect(ECoo.u, gaiCoo.y);
connect(preHeaCoo.port, zon5R1C.heaPorAir);
connect(intGai.y, zon5R1C.intSenGai);
connect(weaDat.weaBus, zon5R1C.weaBus);
connect(zon5R1C.TAir, conCooPID.u_m);
connect(zon5R1C.TAir, conHeaPID.u_m);
end Case600;
Basic test with light-weight construction and free floating temperature
Information
This model is used for the test case 600FF of the BESTEST validation suite.
Case 600FF is a light-weight building.
The room temperature is free floating.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model Case600FF
extends Modelica.Icons.Example;
Zone5R1C.Zone zon5R1C(
airRat=0.5,
AWin={0,0,12,0},
UWin=2.984,
AWal={21.6,16.2,9.6,16.2},
ARoo=48,
UWal=0.56,
URoo=0.33,
UFlo=1,
b=0,
AFlo=48,
VRoo=129.6,
hInt=2.74,
redeclare replaceable Buildings.ThermalZones.ISO13790.Validation.BESTEST.Data.Case600Mass
buiMas,
nOrientations=4,
surTil={1.5707963267949,1.5707963267949,1.5707963267949,1.5707963267949},
surAzi={3.1415926535898,-1.5707963267949,0,1.5707963267949},
gFac=0.789) ;
Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(
filNam=
Modelica.Utilities.Files.loadResource("modelica://Buildings/Resources/weatherdata/DRYCOLD.mos"))
;
Modelica.Blocks.Sources.Constant intGai(k=200) ;
Modelica.Blocks.Math.ContinuousMean conMea
;
Modelica.Blocks.Sources.CombiTimeTable daiComBESTESTFF(table=[0,0,0,0,0,0,0,0;
259200,0,0,0,0,0,0,0; 262800,-8.88,-12.04,-12.3,-12.21,-12.1,-12.02,-13.04;
266400,-10.48,-13.52,-14.1,-13.8,-13.7,-13.5,-14.59; 270000,-11.76,-14.4,
-15.4,-14.9,-14.7,-14.7,-15.65; 273600,-12.75,-15.26,-16.3,-15.79,-15.6,
-15.65,-16.46; 277200,-13.69,-16,-17.1,-16.55,-16.4,-16.47,-17.16;
280800,-14.49,-16.4,-17.9,-17.2,-17,-17.14,-17.79; 284400,-15.15,-17.01,
-18.5,-17.74,-17.6,-17.7,-18.32; 288000,-15.63,-17.05,-18.8,-17.85,-17.8,
-17.59,-18.47; 291600,-14.63,-13.74,-14.7,-14.88,-14.6,-13.46,-15.47;
295200,-10.03,-7.99,-7.8,-9.07,-8.9,-7.1,-9.56; 298800,-2.2,2.6,3.2,
1.01,1,3.66,0.49; 302400,8.84,12.22,13.4,11.21,10.7,13.49,10.39; 306000,
18.96,20.86,22.3,20.03,19.2,21.77,18.75; 309600,27.19,27.53,29.5,27.27,
26.1,28.26,25.48; 313200,33.22,31.33,33.8,31.34,29.8,32.09,29.21;
316800,35.51,31.06,33.5,31.47,29.7,32.16,28.97; 320400,31.46,24.28,27,
25.96,23.9,25.71,22.58; 324000,23.99,17.46,19.7,18.96,17.6,18.84,15.59;
327600,18.08,12.05,13.7,13.04,12.2,13.1,10.2; 331200,13.02,7.57,8.7,
8.31,7.8,8.41,6.02; 334800,8.87,3.6,4.4,4.27,4,4.39,2.39; 338400,5.12,
0.52,1,0.99,0.9,0.97,-0.59; 342000,2.03,-1.94,-1.9,-1.66,-1.7,-1.78,-3.04;
345600,-1.03,-4.07,-4.4,-3.92,-3.9,-4.03,-5.14; 345600,0,0,0,0,0,0,0;
3153600,0,0,0,0,0,0,0]) ;
Buildings.ThermalZones.ISO13790.Validation.BESTEST.Data.Case600FFResults annComBESTESTFF ;
equation
connect(weaDat.weaBus, zon5R1C.weaBus);
connect(intGai.y, zon5R1C.intSenGai);
connect(zon5R1C.TAir, conMea.u);
end Case600FF;
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.ISO13790.Validation.BESTEST.Case600 (Case 600FF, but with dual-setpoint for heating and cooling).
Modelica definition
model Case900
extends Buildings.ThermalZones.ISO13790.Validation.BESTEST.Case600(
zon5R1C(hInt=2.74,
redeclare replaceable Buildings.ThermalZones.ISO13790.Validation.BESTEST.Data.Case900Mass
buiMas),
annComBESTEST(
EHeaMax=7347600000,
EHeaMin=4212000000,
ECooMax=-11394000000,
ECooMin=-7686000000,
PHeaMax=3797,
PHeaMin=2850,
PCooMax=-3871,
PCooMin=-2888),
daiComBESTEST(table=[0,0,0,0,0,0,0,0; 259200,0,0,0,0,0,0,0; 262800,2440,3100,
3100,3390,3210,3080,3400; 266400,2610,3200,3240,3540,3350,3200,3550; 270000,
2620,3200,3280,3560,3380,3280,3570; 273600,2670,3310,3380,3610,3450,3330,
3630; 277200,2740,3370,3450,3670,3510,3420,3690; 280800,2800,3400,3500,
3720,3560,3470,3750; 284400,2830,3450,3560,3760,3610,3520,3800; 288000,
2840,3380,3520,3750,3610,3460,3790; 291600,2640,2900,2970,3170,3080,2830,
3170; 295200,2120,2350,2200,2320,2350,2060,2450; 298800,1500,1400,1030,
950,1120,790,1290; 302400,680,380,230,100,300,40,620; 306000,70,0,0,0,
0,0,140; 309600,0,0,0,0,0,0,0; 313200,0,0,0,0,0,0,0; 316800,0,0,0,0,0,
0,90; 320400,30,120,0,280,140,130,1200; 324000,410,770,740,1220,910,760,
1600; 327600,800,1310,1140,1610,1280,1200,1810; 331200,1070,1610,1430,
1820,1540,1460,1940; 334800,1270,1930,1700,2040,1810,1700,2120; 338400,
1500,2140,1890,2170,2000,1930,2230; 342000,1660,2220,2030,2290,2150,2090,
2340; 345600,1750,2310,2190,2420,2310,2230,2460; 345600,0,0,0,0,0,0,0;
3153600,0,0,0,0,0,0,0]));
end Case900;
Test with heavy-weight construction and free floating temperature
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.ISO13790.Validation.BESTEST.Case600FF (Basic test with light-weight construction and free floating temperature).
Modelica definition
model Case900FF
extends Buildings.ThermalZones.ISO13790.Validation.BESTEST.Case600FF(
zon5R1C(
redeclare replaceable Buildings.ThermalZones.ISO13790.Validation.BESTEST.Data.Case900Mass
buiMas),
daiComBESTESTFF(table=[0,0,0,0,0,0,0,0; 259200,0,0,0,0,0,0,0; 262800,1.61,-0.17,
-0.9,-1.31,-0.7,-3.46,-2.68; 266400,0.93,-0.79,-1.6,-1.97,-1.4,-3.99,-3.33;
270000,0.49,-1.09,-2,-2.37,-1.8,-4.4,-3.72; 273600,0.07,-1.67,-2.5,-2.81,
-2.3,-4.8,-4.1; 277200,-0.41,-2.04,-2.9,-3.25,-2.7,-5.22,-4.51; 280800,
-0.87,-2.43,-3.4,-3.68,-3.2,-5.6,-4.93; 284400,-1.27,-2.97,-3.9,-4.1,-3.6,
-5.98,-5.34; 288000,-1.64,-3.15,-4.3,-4.4,-4,-6.08,-5.64; 291600,-1.54,
-2.39,-3.3,-3.45,-3.2,-4.72,-4.59; 295200,-0.4,-1.09,-1.6,-1.6,-1.7,-2.98,
-2.64; 298800,1.59,1.6,1.2,1.66,0.9,0.25,0.75; 302400,4.4,3.62,3.5,4.4,
3.1,2.54,3.26; 306000,6.72,5.62,5.5,6.56,5.1,4.38,4.99; 309600,8.66,7.32,
7.2,8.39,6.8,5.85,6.51; 313200,10.02,8.27,8,9.04,7.6,6.61,7.11; 316800,
10.4,8.15,7.9,8.58,7.4,6.33,6.68; 320400,9.41,6.53,6.2,6.44,5.8,4.2,4.24;
324000,7.66,5.25,4.7,4.43,4.4,2.87,2.45; 327600,6.74,4.52,3.8,3.37,3.6,
2.11,1.71; 331200,6,3.88,3.2,2.73,3,1.58,1.32; 334800,5.41,3.22,2.7,2.11,
2.4,1.05,0.82; 338400,4.74,2.85,2.2,1.66,1.9,0.55,0.42; 342000,4.2,2.47,
1.7,1.26,1.5,0.15,0.05; 345600,3.66,1.9,1.2,0.83,1,-0.24,-0.34; 345600,
0,0,0,0,0,0,0; 3153600,0,0,0,0,0,0,0]),
annComBESTESTFF(TavgMin=297.65));
end Case900FF;