This package contains the models for the BESTEST validation
Information
This package contains the models that were used
for the BESTEST validation (ANSI/ASHRAE 2007).
The basic model from which all other models extend from is
Buildings.Rooms.Validation.BESTEST.Case600FF.
All examples have a script that runs an annual simulation and
plots the results with the minimum, mean and maximum value
listed in the ANSI/ASHRAE Standard 140-2007.
The script compares the following quantities
-
For free floating cases, the annual hourly integrated minimum (and maximum)
zone air temperature, and the annual mean zone air temperature.
-
For cases with heating and cooling, the annual heating and cooling energy,
and the annual hourly integrated minimum (and maximum) peak heating and cooling power.
Note that in addition to the BESTESTs, the window model has been validated separately
in Nouidui et al. (2012).
Implementation
Heating and cooling is controlled using the PI controller
Buildings.Controls.Continuous.LimPID
with anti-windup.
Hourly averaged values, and annual mean values,
are computed using an instance of
Modelica.Blocks.Math.Mean.
References
ANSI/ASHRAE. 2007. ANSI/ASHRAE Standard 140-2007, Standard Method of Test for the Evaluation of Building Energy Analysis Computer Programs.
Thierry Stephane Nouidui, Michael Wetter, and Wangda Zuo.
Validation of the window model of the Modelica Buildings library.
Proc. of the 5th SimBuild Conference, Madison, WI, USA, August 2012.
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 |
Case610
|
Case 600 with south shading |
Case620
|
Case 600, but with windows on East and West side walls |
Case630
|
Case 620, but with added overhang and sidefins |
Case640
|
Case 600, but with heating schedule |
Case650
|
Case 600, but cooling based on schedule, night venting, and no heating |
Case650FF
|
Case 600, no heating, no cooling, and ventilation as in case 650 |
Case900
|
Case 600, but with high thermal mass |
Case900FF
|
Case 600FF, but with high thermal mass |
Case920
|
Case 900, but with windows on East and West side walls |
Case940
|
Case 900, but with heating schedule |
Case950
|
Case 900, but cooling based on schedule, night venting, and no heating |
Case950FF
|
Case 900, but no heating, no cooling, and ventilation as in case 650 |
Case960
|
Case 600, but with an unconditioned sun-space |
nStaRef=6 |
Number of states in a reference material |
Data
|
This package contains the data for the BESTEST validation |
BaseClasses
|
Package with base classes for Buildings.Rooms.Validation.BESTEST |
Types and constants
constant Integer nStaRef = 6 ;
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 Case600FF (Basic test with light-weight construction and free floating temperature).
Parameters
Type | Name | Default | Description |
Angle | S_ | Buildings.Types.Azimuth.S | Azimuth for south walls [rad] |
Angle | E_ | Buildings.Types.Azimuth.E | Azimuth for east walls [rad] |
Angle | W_ | Buildings.Types.Azimuth.W | Azimuth for west walls [rad] |
Angle | N_ | Buildings.Types.Azimuth.N | Azimuth for north walls [rad] |
Angle | C_ | Buildings.Types.Tilt.Ceiling | Tilt for ceiling [rad] |
Angle | F_ | Buildings.Types.Tilt.Floor | Tilt for floor [rad] |
Angle | Z_ | Buildings.Types.Tilt.Wall | Tilt for wall [rad] |
Integer | nConExtWin | 1 | Number of constructions with a window |
Integer | nConBou | 1 | Number of surface that are connected to constructions that are modeled inside the room |
Generic | matExtWal | | Exterior wall |
Generic | matFlo | | Floor |
Generic | soil | | Soil properties |
Generic | roof | | Roof |
Connectors
Type | Name | Description |
Bus | weaBus | |
Modelica definition
model Case600
extends Case600FF(
redeclare Buildings.Rooms.Validation.BESTEST.Data.StandardResults staRes(
annualHea(Min=4.296*3.6e9, Max=5.709*3.6e9, Mean=5.090*3.6e9),
annualCoo(Min=-6.137*3.6e9, Max=-7.964*3.6e9, Mean=-6.832*3.6e9),
peakHea(Min=3.437*1000, Max=4.354*1000, Mean=4.000*1000),
peakCoo(Min=-5.965*1000, Max=-6.827*1000, Mean=-6.461*1000)));
Controls.Continuous.LimPID conHea(
Td=60,
initType=Modelica.Blocks.Types.InitPID.InitialState,
Ti=300,
controllerType=Modelica.Blocks.Types.SimpleController.PI,
k=0.1) ;
Controls.Continuous.LimPID conCoo(
Td=60,
reverseAction=true,
initType=Modelica.Blocks.Types.InitPID.InitialState,
Ti=300,
controllerType=Modelica.Blocks.Types.SimpleController.PI,
k=0.1) ;
Modelica.Blocks.Math.Gain gaiHea(k=1E6) ;
Modelica.Blocks.Math.Gain gaiCoo(k=-1E6) ;
Modelica.Blocks.Math.Sum sum1(nin=2);
Modelica.Blocks.Routing.Multiplex2 multiplex2;
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow preHea ;
Modelica.Blocks.Continuous.Integrator EHea(
k=1,
initType=Modelica.Blocks.Types.Init.InitialState,
y_start=0,
u(unit="W"),
y(unit="J")) ;
Modelica.Blocks.Continuous.Integrator ECoo(
k=1,
initType=Modelica.Blocks.Types.Init.InitialState,
y_start=0,
u(unit="W"),
y(unit="J")) ;
BaseClasses.DaySchedule TSetHea(table=[0.0,273.15 + 20]) ;
BaseClasses.DaySchedule TSetCoo(table=[0.0,273.15 + 27]) ;
Modelica.Blocks.Math.Mean PHea(f=1/3600) ;
Modelica.Blocks.Math.Mean PCoo(f=1/3600) ;
equation
connect(TRooAir.T,conHea. u_m);
connect(conCoo.u_m, TRooAir.T);
connect(conHea.y,gaiHea. u);
connect(conCoo.y,gaiCoo. u);
connect(gaiHea.y,multiplex2. u1[1]);
connect(gaiCoo.y,multiplex2. u2[1]);
connect(multiplex2.y,sum1. u);
connect(sum1.y,preHea. Q_flow);
connect(EHea.u,gaiHea. y);
connect(ECoo.u,gaiCoo. y);
connect(TSetHea.y[1],conHea. u_s);
connect(TSetCoo.y[1],conCoo. u_s);
connect(PCoo.u,gaiCoo. y);
connect(PHea.u,gaiHea. y);
connect(preHea.port, roo.heaPorAir);
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).
Parameters
Type | Name | Default | Description |
Angle | S_ | Buildings.Types.Azimuth.S | Azimuth for south walls [rad] |
Angle | E_ | Buildings.Types.Azimuth.E | Azimuth for east walls [rad] |
Angle | W_ | Buildings.Types.Azimuth.W | Azimuth for west walls [rad] |
Angle | N_ | Buildings.Types.Azimuth.N | Azimuth for north walls [rad] |
Angle | C_ | Buildings.Types.Tilt.Ceiling | Tilt for ceiling [rad] |
Angle | F_ | Buildings.Types.Tilt.Floor | Tilt for floor [rad] |
Angle | Z_ | Buildings.Types.Tilt.Wall | Tilt for wall [rad] |
Integer | nConExtWin | 1 | Number of constructions with a window |
Integer | nConBou | 1 | Number of surface that are connected to constructions that are modeled inside the room |
Generic | matExtWal | | Exterior wall |
Generic | matFlo | | Floor |
Generic | soil | | Soil properties |
Generic | roof | | Roof |
StandardResultsFreeFloating | staRes | redeclare parameter Building... | Reference results from ASHRAE/ANSI Standard 140 |
Connectors
Type | Name | Description |
Bus | weaBus | |
Modelica definition
model Case600FF
extends Modelica.Icons.Example;
package MediumA =
Buildings.Media.Air ;
parameter Modelica.SIunits.Angle S_=
Buildings.Types.Azimuth.S ;
parameter Modelica.SIunits.Angle E_=
Buildings.Types.Azimuth.E ;
parameter Modelica.SIunits.Angle W_=
Buildings.Types.Azimuth.W ;
parameter Modelica.SIunits.Angle N_=
Buildings.Types.Azimuth.N ;
parameter Modelica.SIunits.Angle C_=
Buildings.Types.Tilt.Ceiling ;
parameter Modelica.SIunits.Angle F_=
Buildings.Types.Tilt.Floor ;
parameter Modelica.SIunits.Angle Z_=
Buildings.Types.Tilt.Wall ;
parameter Integer nConExtWin = 1 ;
parameter Integer nConBou = 1 ;
parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Generic matExtWal(
nLay=3,
absIR_a=0.9,
absIR_b=0.9,
absSol_a=0.6,
absSol_b=0.6,
material={
Buildings.HeatTransfer.Data.Solids.Generic(
x=0.009,
k=0.140,
c=900,
d=530,
nStaRef=nStaRef),
Buildings.HeatTransfer.Data.Solids.Generic(
x=0.066,
k=0.040,
c=840,
d=12,
nStaRef=nStaRef),
Buildings.HeatTransfer.Data.Solids.Generic(
x=0.012,
k=0.160,
c=840,
d=950,
nStaRef=nStaRef)}) ;
parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Generic
matFlo(
final nLay=
2,
absIR_a=0.9,
absIR_b=0.9,
absSol_a=0.6,
absSol_b=0.6,
material={
Buildings.HeatTransfer.Data.Solids.Generic(
x=1.003,
k=0.040,
c=0,
d=0,
nStaRef=nStaRef),
Buildings.HeatTransfer.Data.Solids.Generic(
x=0.025,
k=0.140,
c=1200,
d=650,
nStaRef=nStaRef)}) ;
parameter Buildings.HeatTransfer.Data.Solids.Generic soil(
x=2,
k=1.3,
c=800,
d=1500) ;
Buildings.Rooms.MixedAir roo(
redeclare package Medium = MediumA,
hRoo=2.7,
nConExtWin=nConExtWin,
nConBou=1,
nPorts=3,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
AFlo=48,
datConBou(
layers={matFlo},
each A=48,
each til=F_),
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_}),
nConExt=4,
nConPar=0,
nSurBou=0,
linearizeRadiation=false,
datConExtWin(
layers={matExtWal},
A={8*2.7},
glaSys={window600},
wWin={2*3},
hWin={2},
fFra={0.001},
til={Z_},
azi={S_}),
lat=weaDat.lat) ;
Modelica.Blocks.Sources.Constant qConGai_flow(k=80/48) ;
Modelica.Blocks.Sources.Constant qRadGai_flow(k=120/48) ;
Modelica.Blocks.Routing.Multiplex3 multiplex3_1;
Modelica.Blocks.Sources.Constant qLatGai_flow(k=0) ;
Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam=
"modelica://Buildings/Resources/weatherdata/DRYCOLD.mos");
Modelica.Blocks.Sources.Constant uSha(k=0) ;
Modelica.Blocks.Routing.Replicator replicator(nout=
max(1,nConExtWin));
Modelica.Thermal.HeatTransfer.Sources.FixedTemperature TSoi[nConBou](
each T=
283.15) ;
parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Generic roof(nLay=3,
absIR_a=0.9,
absIR_b=0.9,
absSol_a=0.6,
absSol_b=0.6,
material={
Buildings.HeatTransfer.Data.Solids.Generic(
x=0.019,
k=0.140,
c=900,
d=530,
nStaRef=nStaRef),
Buildings.HeatTransfer.Data.Solids.Generic(
x=0.1118,
k=0.040,
c=840,
d=12,
nStaRef=nStaRef),
Buildings.HeatTransfer.Data.Solids.Generic(
x=0.010,
k=0.160,
c=840,
d=950,
nStaRef=nStaRef)}) ;
Buildings.Rooms.Validation.BESTEST.Data.Win600
window600(
UFra=3,
haveExteriorShade=false,
haveInteriorShade=false) ;
Buildings.HeatTransfer.Conduction.SingleLayer soi(
A=48,
material=soil,
steadyStateInitial=true,
T_a_start=283.15,
T_b_start=283.75) ;
Buildings.Fluid.Sources.MassFlowSource_T sinInf(
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) ;
Buildings.Fluid.Sources.Outside souInf(
redeclare package Medium = MediumA,
nPorts=1) ;
Modelica.Blocks.Sources.Constant InfiltrationRate(k=-48*2.7*0.5/3600) ;
Modelica.Blocks.Math.Product product;
Buildings.Fluid.Sensors.Density density(
redeclare package Medium = MediumA) ;
Buildings.BoundaryConditions.WeatherData.Bus weaBus;
Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor TRooAir ;
Buildings.Fluid.FixedResistances.FixedResistanceDpM heaCoo(
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) ;
replaceable parameter Buildings.Rooms.Validation.BESTEST.Data.StandardResultsFreeFloating
staRes(
minT( Min=-18.8+273.15, Max=-15.6+273.15, Mean=-17.6+273.15),
maxT( Min=64.9+273.15, Max=69.5+273.15, Mean=66.2+273.15),
meanT(Min=24.2+273.15, Max=25.9+273.15, Mean=25.1+273.15))
constrainedby Modelica.Icons.Record ;
Modelica.Blocks.Math.MultiSum multiSum(nu=1);
Modelica.Blocks.Math.Mean TRooHou(f=1/3600, y(start=293.15)) ;
Modelica.Blocks.Math.Mean TRooAnn(f=1/86400/365, y(start=293.15)) ;
equation
connect(qRadGai_flow.y,multiplex3_1. u1[1]);
connect(qLatGai_flow.y,multiplex3_1. u3[1]);
connect(multiplex3_1.y, roo.qGai_flow);
connect(roo.uSha, replicator.y);
connect(qConGai_flow.y, multiplex3_1.u2[1]);
connect(weaDat.weaBus, roo.weaBus);
connect(uSha.y, replicator.u);
connect(product.y, sinInf.m_flow_in);
connect(density.port, roo.ports[1]);
connect(density.d, product.u2);
connect(weaDat.weaBus, weaBus);
connect(TSoi[1].port, soi.port_a);
connect(soi.port_b, roo.surf_conBou[1]);
connect(weaBus, souInf.weaBus);
connect(roo.heaPorAir, TRooAir.port);
connect(souInf.ports[1], heaCoo.port_a);
connect(heaCoo.port_b, roo.ports[2]);
connect(sinInf.ports[1], roo.ports[3]);
connect(multiSum.y, product.u1);
connect(InfiltrationRate.y, multiSum.u[1]);
connect(TRooAir.T, TRooHou.u);
connect(TRooAir.T, TRooAnn.u);
end Case600FF;
Case 600 with south shading
Information
This model is the case 610 of the BESTEST validation suite.
Case 610 differs from case 600 in that the window has an overhang.
Implementation
Two overhangs have been added, one for each window, because
each window only sees its own overhang.
Extends from Buildings.Rooms.Validation.BESTEST.Case600 (Case 600FF, but with dual-setpoint for heating and cooling).
Parameters
Type | Name | Default | Description |
Angle | S_ | Buildings.Types.Azimuth.S | Azimuth for south walls [rad] |
Angle | E_ | Buildings.Types.Azimuth.E | Azimuth for east walls [rad] |
Angle | W_ | Buildings.Types.Azimuth.W | Azimuth for west walls [rad] |
Angle | N_ | Buildings.Types.Azimuth.N | Azimuth for north walls [rad] |
Angle | C_ | Buildings.Types.Tilt.Ceiling | Tilt for ceiling [rad] |
Angle | F_ | Buildings.Types.Tilt.Floor | Tilt for floor [rad] |
Angle | Z_ | Buildings.Types.Tilt.Wall | Tilt for wall [rad] |
Integer | nConExtWin | 1 | Number of constructions with a window |
Integer | nConBou | 1 | Number of surface that are connected to constructions that are modeled inside the room |
Generic | matExtWal | | Exterior wall |
Generic | matFlo | | Floor |
Generic | soil | | Soil properties |
Generic | roof | | Roof |
Connectors
Type | Name | Description |
Bus | weaBus | |
Modelica definition
model Case610
extends Buildings.Rooms.Validation.BESTEST.Case600(
roo(
datConExtWin(
ove(
wR={0.5},
wL={0.5},
dep={1},
gap={0.5}))),
staRes(
annualHea(Min=4.355*3.6e9, Max=5.786*3.6e9, Mean=5.146*3.6e9),
annualCoo(Min=-3.915*3.6e9, Max=-5.778*3.6e9, Mean=-4.964*3.6e9),
peakHea(Min=3.437*1000, Max=4.354*1000, Mean=3.998*1000),
peakCoo(Min=-5.689*1000, Max=-6.371*1000, Mean=-5.988*1000)));
end Case610;
Case 600, but with windows on East and West side walls
Information
This model is the case 620 of the BESTEST validation suite.
Case 620 differs from case 600 in that the west and east facing walls
have a window, but there is no window in the south facing wall.
Extends from Buildings.Rooms.Validation.BESTEST.Case600 (Case 600FF, but with dual-setpoint for heating and cooling).
Parameters
Type | Name | Default | Description |
Angle | S_ | Buildings.Types.Azimuth.S | Azimuth for south walls [rad] |
Angle | E_ | Buildings.Types.Azimuth.E | Azimuth for east walls [rad] |
Angle | W_ | Buildings.Types.Azimuth.W | Azimuth for west walls [rad] |
Angle | N_ | Buildings.Types.Azimuth.N | Azimuth for north walls [rad] |
Angle | C_ | Buildings.Types.Tilt.Ceiling | Tilt for ceiling [rad] |
Angle | F_ | Buildings.Types.Tilt.Floor | Tilt for floor [rad] |
Angle | Z_ | Buildings.Types.Tilt.Wall | Tilt for wall [rad] |
Integer | nConExtWin | 1 | Number of constructions with a window |
Integer | nConBou | 1 | Number of surface that are connected to constructions that are modeled inside the room |
Generic | matExtWal | | Exterior wall |
Generic | matFlo | | Floor |
Generic | soil | | Soil properties |
Generic | roof | | Roof |
Connectors
Type | Name | Description |
Bus | weaBus | |
Modelica definition
model Case620
extends Buildings.Rooms.Validation.BESTEST.Case600(
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=4.613*3.6e9, Max=5.944*3.6e9, Mean=5.407*3.6e9),
annualCoo(Min=-3.417*3.6e9, Max=-5.004*3.6e9, Mean=-4.218*3.6e9),
peakHea(Min=3.591*1000, Max=4.379*1000, Mean=4.062*1000),
peakCoo(Min=-3.634*1000, Max=-5.096*1000, Mean=-4.343*1000)));
end Case620;
Case 620, but with added overhang and sidefins
Information
This model is case 630 of the BESTEST validation suite.
Case 630 differs from case 620 in that the
windows on the west and east walls have an overhang and side fins.
Extends from Buildings.Rooms.Validation.BESTEST.Case620 (Case 600, but with windows on East and West side walls).
Parameters
Type | Name | Default | Description |
Angle | S_ | Buildings.Types.Azimuth.S | Azimuth for south walls [rad] |
Angle | E_ | Buildings.Types.Azimuth.E | Azimuth for east walls [rad] |
Angle | W_ | Buildings.Types.Azimuth.W | Azimuth for west walls [rad] |
Angle | N_ | Buildings.Types.Azimuth.N | Azimuth for north walls [rad] |
Angle | C_ | Buildings.Types.Tilt.Ceiling | Tilt for ceiling [rad] |
Angle | F_ | Buildings.Types.Tilt.Floor | Tilt for floor [rad] |
Angle | Z_ | Buildings.Types.Tilt.Wall | Tilt for wall [rad] |
Integer | nConExtWin | 1 | Number of constructions with a window |
Integer | nConBou | 1 | Number of surface that are connected to constructions that are modeled inside the room |
Generic | matExtWal | | Exterior wall |
Generic | matFlo | | Floor |
Generic | soil | | Soil properties |
Generic | roof | | Roof |
Connectors
Type | Name | Description |
Bus | weaBus | |
Modelica definition
model Case630
extends Buildings.Rooms.Validation.BESTEST.Case620(
roo(
datConExtWin(
ove(
each wR=0.0,
each wL=0.0,
each dep=1.0,
each gap=0.5),
sidFin(
each h=0.5,
each dep=1.0,
each gap=0.0))),
staRes(
annualHea(Min=5.050*3.6e9, Max=6.469*3.6e9, Mean=5.783*3.6e9),
annualCoo(Min=-2.129*3.6e9, Max=-3.701*3.6e9, Mean=-2.832*3.6e9),
peakHea(Min=3.592*1000, Max=4.280*1000, Mean=4.006*1000),
peakCoo(Min=-3.072*1000, Max=-4.116*1000, Mean=-3.626*1000)));
end Case630;
Case 600, but with heating schedule
Information
This model is used for the basic test case 640 of the BESTEST validation suite.
Case640 is the same as Case600, but with the following modifications:
-
From 2300 hours to 0700 hours, heat = on if zone temperature is below 10°C
-
From 0700 hours to 2300 hours, heat = on if zone temperature is above 20°C
-
All hours, cool = on if zone temperature below 27°C
-
Otherwise, mechanical equipment is off.
Extends from Case600 (Case 600FF, but with dual-setpoint for heating and cooling).
Parameters
Type | Name | Default | Description |
Angle | S_ | Buildings.Types.Azimuth.S | Azimuth for south walls [rad] |
Angle | E_ | Buildings.Types.Azimuth.E | Azimuth for east walls [rad] |
Angle | W_ | Buildings.Types.Azimuth.W | Azimuth for west walls [rad] |
Angle | N_ | Buildings.Types.Azimuth.N | Azimuth for north walls [rad] |
Angle | C_ | Buildings.Types.Tilt.Ceiling | Tilt for ceiling [rad] |
Angle | F_ | Buildings.Types.Tilt.Floor | Tilt for floor [rad] |
Angle | Z_ | Buildings.Types.Tilt.Wall | Tilt for wall [rad] |
Integer | nConExtWin | 1 | Number of constructions with a window |
Integer | nConBou | 1 | Number of surface that are connected to constructions that are modeled inside the room |
Generic | matExtWal | | Exterior wall |
Generic | matFlo | | Floor |
Generic | soil | | Soil properties |
Generic | roof | | Roof |
Connectors
Type | Name | Description |
Bus | weaBus | |
Modelica definition
model Case640
extends Case600(
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=2.751*3.6e9, Max=3.803*3.6e9, Mean=3.207*3.6e9),
annualCoo(Min=-5.952*3.6e9, Max=-7.811*3.6e9, Mean=-6.592*3.6e9),
peakHea(Min = 5.232*1000, Max = 6.954*1000, Mean = 6.031 * 1000),
peakCoo(Min= -5.892*1000, Max = 6.776*1000, Mean= -6.410 * 1000)));
end Case640;
Case 600, but cooling based on schedule, night venting, and no heating
Information
This model is used for the test case 650 of the BESTEST validation suite.
Case650 is the same as Case600, but with the following modifications:
-
From 1800 hours to 0700 hours, vent fan = on
-
From 0700 hours to 1800 hours, vent fan = off
-
Heating is always off
-
From 0700 hours to 1800 hours, cooling is on if zone temperature > 27°C,
otherwise cool = off.
-
From 1800 hours to 0700 hours, cooling is always off.
-
Ventilation fan capacity is 1703.16 standard m3/h (in addition to specified
infiltration rate).
-
No waste heat from fan.
Extends from Case600 (Case 600FF, but with dual-setpoint for heating and cooling).
Parameters
Type | Name | Default | Description |
Angle | S_ | Buildings.Types.Azimuth.S | Azimuth for south walls [rad] |
Angle | E_ | Buildings.Types.Azimuth.E | Azimuth for east walls [rad] |
Angle | W_ | Buildings.Types.Azimuth.W | Azimuth for west walls [rad] |
Angle | N_ | Buildings.Types.Azimuth.N | Azimuth for north walls [rad] |
Angle | C_ | Buildings.Types.Tilt.Ceiling | Tilt for ceiling [rad] |
Angle | F_ | Buildings.Types.Tilt.Floor | Tilt for floor [rad] |
Angle | Z_ | Buildings.Types.Tilt.Wall | Tilt for wall [rad] |
Integer | nConExtWin | 1 | Number of constructions with a window |
Integer | nConBou | 1 | Number of surface that are connected to constructions that are modeled inside the room |
Generic | matExtWal | | Exterior wall |
Generic | matFlo | | Floor |
Generic | soil | | Soil properties |
Generic | roof | | Roof |
Connectors
Type | Name | Description |
Bus | weaBus | |
Modelica definition
model Case650
extends Case600(
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=-4.816*3.6e9, Max=-6.545*3.6e9, Mean=-5.482*3.6e9),
peakHea(Min = 0*1000, Max = 0*1000, Mean = 0 * 1000),
peakCoo(Min= -5.831*1000, Max = -6.679*1000, Mean= -6.321*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]) ;
equation
connect(multiSum.u[2], vent.y[1]);
end Case650;
Case 600, no heating, no cooling, and ventilation as in case 650
Information
This model is used for the test case 650FF of the BESTEST validation suite.
Case 650FF is identical to case 650, except that there is no
heating and no cooling.
Extends from Case600FF (Basic test with light-weight construction and free floating temperature).
Parameters
Type | Name | Default | Description |
Angle | S_ | Buildings.Types.Azimuth.S | Azimuth for south walls [rad] |
Angle | E_ | Buildings.Types.Azimuth.E | Azimuth for east walls [rad] |
Angle | W_ | Buildings.Types.Azimuth.W | Azimuth for west walls [rad] |
Angle | N_ | Buildings.Types.Azimuth.N | Azimuth for north walls [rad] |
Angle | C_ | Buildings.Types.Tilt.Ceiling | Tilt for ceiling [rad] |
Angle | F_ | Buildings.Types.Tilt.Floor | Tilt for floor [rad] |
Angle | Z_ | Buildings.Types.Tilt.Wall | Tilt for wall [rad] |
Integer | nConExtWin | 1 | Number of constructions with a window |
Integer | nConBou | 1 | Number of surface that are connected to constructions that are modeled inside the room |
Generic | matExtWal | | Exterior wall |
Generic | matFlo | | Floor |
Generic | soil | | Soil properties |
Generic | roof | | Roof |
Connectors
Type | Name | Description |
Bus | weaBus | |
Modelica definition
model Case650FF
extends Case600FF(
staRes(
minT( Min=-23.0+273.15, Max=-21.6+273.15, Mean=-22.7+273.15),
maxT( Min=63.2+273.15, Max=68.2+273.15, Mean=64.7+273.15),
meanT(Min=18.0+273.15, Max=19.6+273.15, Mean=18.7+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]) ;
equation
connect(multiSum.u[2],vent.y[1]);
end Case650FF;
Case 600, but with high thermal mass
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 Case600 (Case 600FF, but with dual-setpoint for heating and cooling).
Parameters
Type | Name | Default | Description |
Angle | S_ | Buildings.Types.Azimuth.S | Azimuth for south walls [rad] |
Angle | E_ | Buildings.Types.Azimuth.E | Azimuth for east walls [rad] |
Angle | W_ | Buildings.Types.Azimuth.W | Azimuth for west walls [rad] |
Angle | N_ | Buildings.Types.Azimuth.N | Azimuth for north walls [rad] |
Angle | C_ | Buildings.Types.Tilt.Ceiling | Tilt for ceiling [rad] |
Angle | F_ | Buildings.Types.Tilt.Floor | Tilt for floor [rad] |
Angle | Z_ | Buildings.Types.Tilt.Wall | Tilt for wall [rad] |
Integer | nConExtWin | 1 | Number of constructions with a window |
Integer | nConBou | 1 | Number of surface that are connected to constructions that are modeled inside the room |
Generic | matExtWal | extWalCase900 | Exterior wall |
Generic | matFlo | floorCase900 | Floor |
Generic | soil | | Soil properties |
Generic | roof | | Roof |
Connectors
Type | Name | Description |
Bus | weaBus | |
Modelica definition
model Case900
extends 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)));
Buildings.Rooms.Validation.BESTEST.Data.ExteriorWallCase900
extWalCase900 ;
Buildings.Rooms.Validation.BESTEST.Data.FloorCase900
floorCase900 ;
end Case900;
Case 600FF, but with high thermal mass
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 Case600FF (Basic test with light-weight construction and free floating temperature).
Parameters
Type | Name | Default | Description |
Angle | S_ | Buildings.Types.Azimuth.S | Azimuth for south walls [rad] |
Angle | E_ | Buildings.Types.Azimuth.E | Azimuth for east walls [rad] |
Angle | W_ | Buildings.Types.Azimuth.W | Azimuth for west walls [rad] |
Angle | N_ | Buildings.Types.Azimuth.N | Azimuth for north walls [rad] |
Angle | C_ | Buildings.Types.Tilt.Ceiling | Tilt for ceiling [rad] |
Angle | F_ | Buildings.Types.Tilt.Floor | Tilt for floor [rad] |
Angle | Z_ | Buildings.Types.Tilt.Wall | Tilt for wall [rad] |
Integer | nConExtWin | 1 | Number of constructions with a window |
Integer | nConBou | 1 | Number of surface that are connected to constructions that are modeled inside the room |
Generic | matExtWal | extWalCase900 | Exterior wall |
Generic | matFlo | floorCase900 | Floor |
Generic | soil | | Soil properties |
Generic | roof | | Roof |
Connectors
Type | Name | Description |
Bus | weaBus | |
Modelica definition
model Case900FF
extends Case600FF(
matExtWal = extWalCase900,
matFlo = floorCase900,
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)));
Buildings.Rooms.Validation.BESTEST.Data.ExteriorWallCase900
extWalCase900 ;
Buildings.Rooms.Validation.BESTEST.Data.FloorCase900
floorCase900 ;
end Case900FF;
Case 900, but with windows on East and West side walls
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.Rooms.Validation.BESTEST.Case900 (Case 600, but with high thermal mass).
Parameters
Type | Name | Default | Description |
Angle | S_ | Buildings.Types.Azimuth.S | Azimuth for south walls [rad] |
Angle | E_ | Buildings.Types.Azimuth.E | Azimuth for east walls [rad] |
Angle | W_ | Buildings.Types.Azimuth.W | Azimuth for west walls [rad] |
Angle | N_ | Buildings.Types.Azimuth.N | Azimuth for north walls [rad] |
Angle | C_ | Buildings.Types.Tilt.Ceiling | Tilt for ceiling [rad] |
Angle | F_ | Buildings.Types.Tilt.Floor | Tilt for floor [rad] |
Angle | Z_ | Buildings.Types.Tilt.Wall | Tilt for wall [rad] |
Integer | nConExtWin | 1 | Number of constructions with a window |
Integer | nConBou | 1 | Number of surface that are connected to constructions that are modeled inside the room |
Generic | matExtWal | extWalCase900 | Exterior wall |
Generic | matFlo | floorCase900 | Floor |
Generic | soil | | Soil properties |
Generic | roof | | Roof |
Connectors
Type | Name | Description |
Bus | weaBus | |
Modelica definition
model Case920
extends Buildings.Rooms.Validation.BESTEST.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;
Case 900, but with heating schedule
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:
-
From 2300 hours to 0700 hours, heat = on if zone temperature is below 10°C
-
From 0700 hours to 2300 hours, heat = on if zone temperature is above 20°C
-
All hours, cool = on if zone temperature below 27°C
-
Otherwise, mechanical equipment is off.
Extends from Case900 (Case 600, but with high thermal mass).
Parameters
Type | Name | Default | Description |
Angle | S_ | Buildings.Types.Azimuth.S | Azimuth for south walls [rad] |
Angle | E_ | Buildings.Types.Azimuth.E | Azimuth for east walls [rad] |
Angle | W_ | Buildings.Types.Azimuth.W | Azimuth for west walls [rad] |
Angle | N_ | Buildings.Types.Azimuth.N | Azimuth for north walls [rad] |
Angle | C_ | Buildings.Types.Tilt.Ceiling | Tilt for ceiling [rad] |
Angle | F_ | Buildings.Types.Tilt.Floor | Tilt for floor [rad] |
Angle | Z_ | Buildings.Types.Tilt.Wall | Tilt for wall [rad] |
Integer | nConExtWin | 1 | Number of constructions with a window |
Integer | nConBou | 1 | Number of surface that are connected to constructions that are modeled inside the room |
Generic | matExtWal | extWalCase900 | Exterior wall |
Generic | matFlo | floorCase900 | Floor |
Generic | soil | | Soil properties |
Generic | roof | | Roof |
Connectors
Type | Name | Description |
Bus | weaBus | |
Modelica definition
model Case940
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=-1.340*1000)));
end Case940;
Case 900, but cooling based on schedule, night venting, and no heating
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:
-
From 1800 hours to 0700 hours, vent fan = on
-
From 0700 hours to 1800 hours, vent fan = off
-
Heating is always off
-
From 0700 hours to 1800 hours, cooling is on if zone temperature > 27°C,
otherwise cool = off.
-
From 1800 hours to 0700 hours, cooling is always off.
-
Ventilation fan capacity is 1703.16 standard m3/h (in addition to specified
infiltration rate).
-
No waste heat from fan.
Extends from Case900 (Case 600, but with high thermal mass).
Parameters
Type | Name | Default | Description |
Angle | S_ | Buildings.Types.Azimuth.S | Azimuth for south walls [rad] |
Angle | E_ | Buildings.Types.Azimuth.E | Azimuth for east walls [rad] |
Angle | W_ | Buildings.Types.Azimuth.W | Azimuth for west walls [rad] |
Angle | N_ | Buildings.Types.Azimuth.N | Azimuth for north walls [rad] |
Angle | C_ | Buildings.Types.Tilt.Ceiling | Tilt for ceiling [rad] |
Angle | F_ | Buildings.Types.Tilt.Floor | Tilt for floor [rad] |
Angle | Z_ | Buildings.Types.Tilt.Wall | Tilt for wall [rad] |
Integer | nConExtWin | 1 | Number of constructions with a window |
Integer | nConBou | 1 | Number of surface that are connected to constructions that are modeled inside the room |
Generic | matExtWal | extWalCase900 | Exterior wall |
Generic | matFlo | floorCase900 | Floor |
Generic | soil | | Soil properties |
Generic | roof | | Roof |
Connectors
Type | Name | Description |
Bus | weaBus | |
Modelica definition
model Case950
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]) ;
equation
connect(multiSum.u[2], vent.y[1]);
end Case950;
Case 900, but no heating, no cooling, and ventilation as in case 650
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
Type | Name | Default | Description |
Angle | S_ | Buildings.Types.Azimuth.S | Azimuth for south walls [rad] |
Angle | E_ | Buildings.Types.Azimuth.E | Azimuth for east walls [rad] |
Angle | W_ | Buildings.Types.Azimuth.W | Azimuth for west walls [rad] |
Angle | N_ | Buildings.Types.Azimuth.N | Azimuth for north walls [rad] |
Angle | C_ | Buildings.Types.Tilt.Ceiling | Tilt for ceiling [rad] |
Angle | F_ | Buildings.Types.Tilt.Floor | Tilt for floor [rad] |
Angle | Z_ | Buildings.Types.Tilt.Wall | Tilt for wall [rad] |
Integer | nConExtWin | 1 | Number of constructions with a window |
Integer | nConBou | 1 | Number of surface that are connected to constructions that are modeled inside the room |
Generic | matExtWal | extWalCase900 | Exterior wall |
Generic | matFlo | floorCase900 | Floor |
Generic | soil | | Soil properties |
Generic | roof | | Roof |
Connectors
Type | Name | Description |
Bus | weaBus | |
Modelica definition
model Case950FF
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]) ;
equation
connect(multiSum.u[2],vent.y[1]);
end Case950FF;
Case 600, but with an unconditioned sun-space
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.Rooms.Validation.BESTEST.Case600 (Case 600FF, but with dual-setpoint for heating and cooling).
Parameters
Type | Name | Default | Description |
Angle | S_ | Buildings.Types.Azimuth.S | Azimuth for south walls [rad] |
Angle | E_ | Buildings.Types.Azimuth.E | Azimuth for east walls [rad] |
Angle | W_ | Buildings.Types.Azimuth.W | Azimuth for west walls [rad] |
Angle | N_ | Buildings.Types.Azimuth.N | Azimuth for north walls [rad] |
Angle | C_ | Buildings.Types.Tilt.Ceiling | Tilt for ceiling [rad] |
Angle | F_ | Buildings.Types.Tilt.Floor | Tilt for floor [rad] |
Angle | Z_ | Buildings.Types.Tilt.Wall | Tilt for wall [rad] |
Integer | nConExtWin | 1 | Number of constructions with a window |
Integer | nConBou | 1 | Number of surface that are connected to constructions that are modeled inside the room |
Generic | matExtWal | | Exterior wall |
Generic | matFlo | | Floor |
Generic | soil | | Soil properties |
Generic | roof | | Roof |
Brick120 | matLayPar | | Construction material for partition walls |
ExteriorWallCase900 | extWalCase900 | | Exterior wall |
FloorCase900 | floorCase900 | | Floor |
Connectors
Type | Name | Description |
Bus | weaBus | |
Modelica definition
model Case960
extends Buildings.Rooms.Validation.BESTEST.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) ;
parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Brick120
matLayPar(material={
Buildings.HeatTransfer.Data.Solids.Generic(
x=0.2,
k=0.510,
c=1000,
d=1400)}) ;
parameter Buildings.Rooms.Validation.BESTEST.Data.ExteriorWallCase900
extWalCase900 ;
parameter Buildings.Rooms.Validation.BESTEST.Data.FloorCase900
floorCase900 ;
Buildings.Rooms.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),
linearizeRadiation=false,
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) ;
Modelica.Blocks.Sources.Constant qConGai_flow1(k=0) ;
Modelica.Blocks.Sources.Constant qRadGai_flow1(k=0) ;
Modelica.Blocks.Routing.Multiplex3 multiplex3_2;
Modelica.Blocks.Sources.Constant qLatGai_flow1(k=0) ;
Buildings.HeatTransfer.Conduction.SingleLayer soiSunSpa(
material=soil,
steadyStateInitial=true,
A=16,
T_a_start=283.15,
T_b_start=283.75) ;
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) ;
Modelica.Blocks.Sources.Constant InfiltrationRate1(k=-16*2.7*0.5/3600) ;
Modelica.Blocks.Math.Product product1;
Buildings.Fluid.Sensors.Density density1(
redeclare package Medium = MediumA) ;
Modelica.Thermal.HeatTransfer.Sources.FixedTemperature TSoiSunSpa[nConBou](
each T=283.15) ;
Fluid.FixedResistances.FixedResistanceDpM 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) ;
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;
http://simulationresearch.lbl.gov/modelica