Buildings.ThermalZones.Detailed.Validation.LBNL_71T.RoomB
Validation models for LBNL 71T
Information
This package contains models that validate room B of the test cells 71T at the Lawrence Berkeley National Laboratory.
Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).
Package Content
Name | Description |
---|---|
ElectroChromicWindow | Validation model for the correct implementation of Electrochromic Window |
Buildings.ThermalZones.Detailed.Validation.LBNL_71T.RoomB.ElectroChromicWindow
Validation model for the correct implementation of Electrochromic Window
Information
This model tests the correct implementation of electrochromic window. The model represents the middle test cell (RoomB) of the window test facility 71T.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
Type | Name | Default | Description |
---|---|---|---|
Temperature | T_start | 273.15 + 24 | Initial value [K] |
Integer | nConExtWin | 1 | Number of constructions with a window |
Integer | nConExt | 0 | Number of constructions without a window |
Integer | nConBou | 5 | Number of surface that are connected to constructions that are modeled inside the room |
Integer | nSurBou | 0 | Number of surface that are connected to the room air volume |
Integer | nConPar | 0 | Number of surface that are partitions |
Generic | matExtWal | matExtWal( nLay=3, abs... | 71T: South Wall |
Generic | matCeil | matCeil( nLay=3, absIR... | 71T: Ceiling |
Generic | matFlo | matFlo( final nLay=4, ... | 71T: Floor |
Generic | matEWWal | matEWWal( final nLay=2, ... | 71T: East West Wall |
Generic | matNWal | matNWal( final nLay=4, ... | 71T: North Wall |
DoubleElectrochromicAir13Clear | glaSys | glaSys( UFra=2, haveIn... | Data record for the glazing system |
Connectors
Type | Name | Description |
---|---|---|
Bus | weaBus |
Modelica definition
model ElectroChromicWindow
"Validation model for the correct implementation of Electrochromic Window"
extends Modelica.Icons.Example;
package MediumA = Buildings.Media.Air "Medium model";
parameter Modelica.SIunits.Temperature T_start=273.15 + 24 "Initial value";
parameter Integer nConExtWin=1 "Number of constructions with a window";
parameter Integer nConExt=0 "Number of constructions without a window";
parameter Integer nConBou=5
"Number of surface that are connected to constructions that are modeled inside the room";
parameter Integer nSurBou=0
"Number of surface that are connected to the room air volume";
parameter Integer nConPar=0 "Number of surface that are partitions";
MixedAir roo(
redeclare package Medium = MediumA,
nConExt=nConExt,
nConExtWin=nConExtWin,
nConPar=nConPar,
nConBou=nConBou,
nSurBou=nSurBou,
T_start=T_start,
datConExtWin(
layers={matExtWal},
each A=10.22,
glaSys={glaSys},
each hWin=3.13,
each wWin=2.782751,
each fFra=0.000001,
each til=Buildings.Types.Tilt.Wall,
azi={Buildings.Types.Azimuth.S}),
datConBou(
layers={matFlo,matCeil,matEWWal,matNWal,matEWWal},
A={13.94,13.94,15.33,10.22,15.33},
til={Buildings.Types.Tilt.Floor,Buildings.Types.Tilt.Ceiling,Buildings.Types.Tilt.Wall,
Buildings.Types.Tilt.Wall,Buildings.Types.Tilt.Wall}),
AFlo=13.94,
hRoo=3.37,
intConMod=Buildings.HeatTransfer.Types.InteriorConvection.Temperature,
extConMod=Buildings.HeatTransfer.Types.ExteriorConvection.TemperatureWind,
conBou(opa(T(each start = T_start))),
lat=0.65484753534827,
energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial)
"Room model";
BoundaryConditions.WeatherData.ReaderTMY3 weaDat1(
relHum=0,
TDewPoi(displayUnit="K"),
filNam=
Modelica.Utilities.Files.loadResource("modelica://Buildings/Resources/weatherdata/USA_CA_San.Francisco.Intl.AP.724940_TMY3.mos"),
pAtmSou=Buildings.BoundaryConditions.Types.DataSource.File,
calTSky=Buildings.BoundaryConditions.Types.SkyTemperatureCalculation.HorizontalRadiation,
computeWetBulbTemperature=false);
Modelica.Blocks.Sources.Constant uSha(k=0)
"Control signal for the shading device";
Modelica.Blocks.Routing.Replicator replicator(nout=max(1, nConExtWin))
"Signal replicator";
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.000701,
k=45.345,
c=502.416,
d=7833.028),Buildings.HeatTransfer.Data.Solids.Generic(
x=0.0127,
k=0.12,
c=1210,
d=540),Buildings.HeatTransfer.Data.Solids.Generic(
x=0.133,
k=0.047,
c=1006,
d=93.84)}) "71T: South Wall";
parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Generic matCeil(
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.009525,
k=0.12,
c=1210,
d=540),Buildings.HeatTransfer.Data.Solids.Generic(
x=0.133,
k=0.047,
c=1006,
d=93.84),Buildings.HeatTransfer.Data.Solids.Generic(
x=0.015875,
k=0.17,
c=1090,
d=800)}) "71T: Ceiling";
parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Generic matFlo(
final nLay=4,
absIR_a=0.9,
absIR_b=0.9,
absSol_a=0.6,
absSol_b=0.6,
material={Buildings.HeatTransfer.Data.Solids.Generic(
x=5.28,
k=1,
c=0,
d=0),Buildings.HeatTransfer.Data.Solids.Generic(
x=0.01905,
k=0.15,
c=1630,
d=608),Buildings.HeatTransfer.Data.Solids.Generic(
x=0.01905,
k=0.12,
c=1210,
d=540),Buildings.HeatTransfer.Data.Solids.Generic(
x=0.22,
k=1,
c=0,
d=0)}) "71T: Floor";
parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Generic matEWWal(
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=0.133,
k=0.047,
c=1006,
d=93.84),Buildings.HeatTransfer.Data.Solids.Generic(
x=0.015875,
k=0.17,
c=1090,
d=800)}) "71T: East West Wall";
parameter Buildings.HeatTransfer.Data.OpaqueConstructions.Generic matNWal(
final nLay=4,
absIR_a=0.9,
absIR_b=0.9,
absSol_a=0.6,
absSol_b=0.6,
material={Buildings.HeatTransfer.Data.Solids.Generic(
x=0.015875,
k=0.17,
c=1090,
d=800),Buildings.HeatTransfer.Data.Solids.Generic(
x=0.009525,
k=0.12,
c=1210,
d=540),Buildings.HeatTransfer.Data.Solids.Generic(
x=0.133,
k=0.047,
c=1006,
d=93.84),Buildings.HeatTransfer.Data.Solids.Generic(
x=0.015875,
k=0.17,
c=1090,
d=800)}) "71T: North Wall";
parameter HeatTransfer.Data.GlazingSystems.DoubleElectrochromicAir13Clear glaSys(
UFra=2,
haveInteriorShade=false,
haveExteriorShade=false) "Data record for the glazing system";
BoundaryConditions.WeatherData.Bus weaBus;
Modelica.Blocks.Routing.Multiplex3 multiplex3_1 "Multiplex";
Modelica.Blocks.Sources.Constant qRadGai_flow(k=0) "Radiative heat gain";
Modelica.Blocks.Sources.Constant qConGai_flow(k=0) "Convective heat gain";
Modelica.Blocks.Sources.Constant qLatGai_flow(k=0) "Latent heat gain";
Modelica.Blocks.Sources.Constant uWin(k=1)
"Control signal for electrochromic window";
Modelica.Blocks.Sources.CombiTimeTable refRes(
tableOnFile=true,
tableName="EnergyPlus",
fileName=Modelica.Utilities.Files.loadResource(
"modelica://Buildings/Resources/Data/ThermalZones/Detailed/Validation/LBNL_71T/RoomB/EnergyPlusHeatingCoolingPower.txt"),
columns=2:2)
"Data reader with heating and cooling power from EnergyPlus. The output should be compared to roo.heaPorAir.Q_flow.";
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow preHea
"Prescribed heat flow for heating and cooling";
Controls.Continuous.LimPID conHea(
Td=60,
initType=Modelica.Blocks.Types.InitPID.InitialState,
controllerType=Modelica.Blocks.Types.SimpleController.PI,
yMin=-1,
k=5,
Ti=30) "Controller for heating";
Modelica.Blocks.Math.Gain gaiHea(k=1E4) "Gain for heating";
Modelica.Blocks.Sources.Constant TRooSet(k=297.15) "Set point for room air";
Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor TRooAir
"Room air temperature";
equation
connect(uSha.y, replicator.u);
connect(roo.uSha, replicator.y);
connect(weaBus, roo.weaBus);
connect(weaBus, weaDat1.weaBus);
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(uWin.y, roo.uWin[1]);
connect(preHea.port, roo.heaPorAir);
connect(gaiHea.y, preHea.Q_flow);
connect(conHea.y, gaiHea.u);
connect(TRooSet.y, conHea.u_s);
connect(preHea.port, TRooAir.port);
connect(TRooAir.T, conHea.u_m);
end ElectroChromicWindow;