Note that most validation models contain simple input data
which may not be realistic, but for which the correct
output can be obtained through an analytic solution.
The examples plot various outputs, which have been verified against these
solutions. These model outputs are stored as reference data and
used for continuous validation whenever models in the library change.
Name |
Description |
MixedAirInitialization
|
Validation model for the correct initialization of the mixed air model |
BESTEST
|
This package contains the models for the BESTEST validation |
LBNL_71T
|
Validation models for LBNL 71T |
TestConditionalConstructions
|
Package that tests rooms with few constructions only |
Note that there are still very small heat flows even if all solar radiation
is set to zero and all boundary conditions and start values are set to
-15ˆ C.
The reasons are as follows:
model MixedAirInitialization
extends Modelica.Icons.Example;
package MediumA =
Buildings.Media.Air ;
parameter Modelica.SIunits.Temperature T_start=273.15-15 ;
parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Insulation100Concrete200
matLayExt ;
parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Brick120 matLayPar ;
parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Generic matLayRoo(
material={
HeatTransfer.Data.Solids.InsulationBoard(x=0.2),
HeatTransfer.Data.Solids.Concrete(x=0.2)},
final nLay=2) ;
parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Generic matLayFlo(
material={
HeatTransfer.Data.Solids.Concrete(x=0.2),
HeatTransfer.Data.Solids.InsulationBoard(x=0.15),
HeatTransfer.Data.Solids.Concrete(x=0.05)},
final nLay=3) ;
parameter Buildings.HeatTransfer.Data.GlazingSystems.DoubleClearAir13Clear glaSys(
UFra=2,
shade=
Buildings.HeatTransfer.Data.Shades.Gray(),
haveInteriorShade=false,
haveExteriorShade=false) ;
parameter Integer nConExtWin = 1 ;
parameter Integer nConBou = 1 ;
parameter Integer nSurBou = 1 ;
Buildings.Rooms.MixedAir roo(
redeclare package Medium = MediumA,
AFlo=6*4,
hRoo=2.7,
nConExt=2,
datConExt(layers={matLayRoo, matLayExt},
A={6*4, 6*3},
til={Buildings.Types.Tilt.Ceiling, Buildings.Types.Tilt.Wall},
azi={Buildings.Types.Azimuth.S, Buildings.Types.Azimuth.W}),
nConExtWin=nConExtWin,
datConExtWin(
layers={matLayExt},
each A=4*3,
glaSys={glaSys},
each hWin=2,
each wWin=4,
ove(wR={0},wL={0}, gap={0.1}, dep={1}),
each fFra=0.1,
each til=Buildings.Types.Tilt.Wall,
azi={Buildings.Types.Azimuth.S}),
nConPar=1,
datConPar(layers={matLayPar},
each A=10,
each til=Buildings.Types.Tilt.Wall),
nConBou=1,
datConBou(layers={matLayFlo},
each A=6*4,
each til=Buildings.Types.Tilt.Floor),
nSurBou=1,
surBou(
each A=6*3,
each absIR=0.9,
each absSol=0.9,
each til=Buildings.Types.Tilt.Wall),
linearizeRadiation = false,
nPorts=1,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
lat=0.73268921998722,
T_start=T_start) ;
Modelica.Blocks.Sources.Constant qConGai_flow(k=0) ;
Modelica.Blocks.Sources.Constant qRadGai_flow(k=0) ;
Modelica.Blocks.Routing.Multiplex3 multiplex3_1;
Modelica.Blocks.Sources.Constant qLatGai_flow(k=0) ;
Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(
filNam="modelica://Buildings/Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos",
HInfHorSou=Buildings.BoundaryConditions.Types.DataSource.Parameter,
HSou=Buildings.BoundaryConditions.Types.RadiationDataSource.Input_HGloHor_HDifHor,
TDewPoiSou=Buildings.BoundaryConditions.Types.DataSource.Parameter,
calTSky=Buildings.BoundaryConditions.Types.SkyTemperatureCalculation.TemperaturesAndSkyCover,
relHumSou=Buildings.BoundaryConditions.Types.DataSource.Parameter,
relHum=0,
TDewPoi(displayUnit="K") = T_start,
TDryBulSou=Buildings.BoundaryConditions.Types.DataSource.Input,
TBlaSkySou=Buildings.BoundaryConditions.Types.DataSource.Input);
Modelica.Blocks.Sources.Constant uSha(k=0) ;
Modelica.Blocks.Routing.Replicator replicator(nout=
max(1,nConExtWin));
Buildings.HeatTransfer.Sources.FixedTemperature TSoi[nConBou](
each T=T_start) ;
Buildings.HeatTransfer.Sources.FixedTemperature TBou[nSurBou](
each T=T_start) ;
HeatTransfer.Conduction.MultiLayer conOut[nSurBou](
each A=6*4,
each layers=matLayPar,
each steadyStateInitial=true) ;
Fluid.Sources.FixedBoundary boundary(
nPorts=1,
redeclare package Medium = MediumA,
T=T_start) ;
Modelica.Blocks.Sources.Constant HSol(k=0) ;
Modelica.Blocks.Sources.Constant T(k=T_start) ;
equation
connect(qRadGai_flow.y, multiplex3_1.u1[1]);
connect(qConGai_flow.y, multiplex3_1.u2[1]);
connect(qLatGai_flow.y, multiplex3_1.u3[1]);
connect(multiplex3_1.y, roo.qGai_flow);
connect(weaDat.weaBus, roo.weaBus);
connect(uSha.y, replicator.u);
connect(TSoi.port, roo.surf_conBou);
connect(TBou.port,conOut. port_b);
connect(roo.surf_surBou, conOut.port_a);
connect(roo.uSha, replicator.y);
connect(roo.ports[1], boundary.ports[1]);
connect(HSol.y, weaDat.HGloHor_in);
connect(HSol.y, weaDat.HDifHor_in);
connect(T.y, weaDat.TDryBul_in);
connect(weaDat.TBlaSky_in, T.y);
end MixedAirInitialization;