model MixedAirFreeResponse
"Free response of room model"
extends Modelica.Icons.Example;
package MediumA =
Buildings.Media.Air "Medium model";
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.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=273.15+22)
"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://Buildings/Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos");
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 = 283.15)
"Boundary condition for construction";
Buildings.HeatTransfer.Sources.FixedTemperature TBou[nSurBou](
each T=288.15)
"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";
Fluid.Sources.FixedBoundary boundary(
nPorts=1,
redeclare package Medium = MediumA,
T=293.15)
"Boundary condition";
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]);
end MixedAirFreeResponse;