Buildings.ThermalZones.Detailed.Validation.Initialization
Package with models that validate the initialization
Information
This package contains models that validate the initialization of the thermal zone models.
Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).
Package Content
Name | Description |
---|---|
MixedAir | Validation model for the correct initialization of the mixed air model |
Buildings.ThermalZones.Detailed.Validation.Initialization.MixedAir
Validation model for the correct initialization of the mixed air model
Information
This model tests the correct initialization of Buildings.ThermalZones.Detailed.MixedAir. The air temperature starts at -15°C and remains there.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
Type | Name | Default | Description |
---|---|---|---|
Temperature | T_start | 273.15 - 15 | Initial value [K] |
Insulation100Concrete200 | matLayExt | Construction material for exterior walls | |
Brick120 | matLayPar | Construction material for partition walls | |
Generic | matLayRoo | matLayRoo(material={HeatTran... | Construction material for roof |
Generic | matLayFlo | matLayFlo(material={HeatTran... | Construction material for floor |
DoubleClearAir13Clear | glaSys | glaSys(UFra=2, shade=Buildin... | Data record for the glazing system |
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 |
Integer | nSurBou | 1 | Number of surface that are connected to the room air volume |
Modelica definition
model MixedAir
"Validation model for the correct initialization of the mixed air model"
extends Modelica.Icons.Example;
package MediumA = Buildings.Media.Air "Medium model";
parameter Modelica.Units.SI.Temperature T_start=273.15 - 15 "Initial value";
parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Insulation100Concrete200
matLayExt "Construction material for exterior walls";
parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Brick120 matLayPar
"Construction material for partition walls";
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) "Construction material for roof";
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) "Construction material for floor";
parameter Buildings.HeatTransfer.Data.GlazingSystems.DoubleClearAir13Clear glaSys(
UFra=2,
shade=Buildings.HeatTransfer.Data.Shades.Gray(),
haveInteriorShade=false,
haveExteriorShade=false) "Data record for the glazing system";
parameter Integer nConExtWin = 1 "Number of constructions with a window";
parameter Integer nConBou = 1
"Number of surface that are connected to constructions that are modeled inside the room";
parameter Integer nSurBou = 1
"Number of surface that are connected to the room air volume";
Buildings.ThermalZones.Detailed.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,
T_start=T_start) "Room model";
Modelica.Blocks.Sources.Constant qConGai_flow(k=0) "Convective heat gain";
Modelica.Blocks.Sources.Constant qRadGai_flow(k=0) "Radiative heat gain";
Modelica.Blocks.Routing.Multiplex3 multiplex3_1;
Modelica.Blocks.Sources.Constant qLatGai_flow(k=0) "Latent heat gain";
Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(
filNam=Modelica.Utilities.Files.loadResource("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)
"Control signal for the shading device";
Modelica.Blocks.Routing.Replicator replicator(nout=max(1,nConExtWin));
Buildings.HeatTransfer.Sources.FixedTemperature TSoi[nConBou](each T=T_start)
"Boundary condition for construction";
Buildings.HeatTransfer.Sources.FixedTemperature TBou[nSurBou](each T=T_start)
"Boundary condition for construction";
HeatTransfer.Conduction.MultiLayer conOut[nSurBou](
each A=6*4,
each layers=matLayPar,
each steadyStateInitial=true)
"Construction that is modeled outside of room";
Buildings.Fluid.Sources.Boundary_pT boundary(
nPorts=1,
redeclare package Medium = MediumA,
T=T_start) "Boundary condition";
Modelica.Blocks.Sources.Constant HSol(k=0) "Solar irradition";
Modelica.Blocks.Sources.Constant T(k=T_start)
"Dry bulb and black body sky temperature";
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 MixedAir;