LBL logo

Buildings.Rooms.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
Buildings.Rooms.Validation.LBNL_71T.RoomB.ElectroChromicWindow ElectroChromicWindow Validation model for the correct implementation of Electrochromic Window

Buildings.Rooms.Validation.LBNL_71T.RoomB.ElectroChromicWindow Buildings.Rooms.Validation.LBNL_71T.RoomB.ElectroChromicWindow

Validation model for the correct implementation of Electrochromic Window

Buildings.Rooms.Validation.LBNL_71T.RoomB.ElectroChromicWindow

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

TypeNameDefaultDescription
TemperatureT_start273.15 + 24Initial value [K]
IntegernConExtWin1Number of constructions with a window
IntegernConExt0Number of constructions without a window
IntegernConBou5Number of surface that are connected to constructions that are modeled inside the room
IntegernSurBou0Number of surface that are connected to the room air volume
IntegernConPar0Number of surface that are partitions
GenericmatExtWal 71T: South Wall
GenericmatCeil 71T: Ceiling
GenericmatFlo 71T: Floor
GenericmatEWWal 71T: East West Wall
GenericmatNWal 71T: North Wall
DoubleElectrochromicAir13ClearglaSys Data record for the glazing system

Connectors

TypeNameDescription
BusweaBus 

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, linearizeRadiation=false, 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, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, lat=0.65484753534827, each conBou(opa(T(each start = T_start)))) "Room model"; BoundaryConditions.WeatherData.ReaderTMY3 weaDat1( relHum=0, TDewPoi(displayUnit="K"), filNam= "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); Modelica.Blocks.Sources.Constant uSha(k=0) "Control signal for the shading device"; Modelica.Blocks.Routing.Replicator replicator(nout=max(1, nConExtWin)); 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; 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.Thermal.HeatTransfer.Sources.FixedTemperature preTem(T=297.15) "Prescribed room air temperature"; block Infiltration extends Modelica.Blocks.Icons.Block; parameter Modelica.SIunits.VolumeFlowRate V_flow "Infiltration flow rate at current outdoor air density"; parameter Real A "Constant term coefficient"; parameter Real B(unit="1/K") "Temperature term coefficient"; parameter Real C(unit="s/m") "Velocity term coefficient"; BoundaryConditions.WeatherData.Bus weaBus; Modelica.Blocks.Interfaces.RealOutput m_flow "Infiltration mass flow rate"; Modelica.Blocks.Interfaces.RealInput TRoo(unit="K") "Room air temperature"; Modelica.Blocks.Math.Add dT(k2=-1) "Temperature difference"; Modelica.Blocks.Math.Product m "Mass flow rate"; Modelica.Blocks.Sources.Constant V(k=V_flow) "Volume flow rate"; Utilities.Psychrometrics.Density_pTX rho "Density"; Utilities.Psychrometrics.X_pTphi x_pTphi(use_p_in=true); Modelica.Blocks.Math.Abs dTAbs "Temperature difference"; Modelica.Blocks.Sources.Constant ACoef(k=A) "Constant coefficient"; Modelica.Blocks.Math.Gain gainB(k=B) "Gain for temperature dependent effect"; Modelica.Blocks.Math.Gain gainC(k=C) "Gain for wind dependent effect"; Modelica.Blocks.Math.Add3 add3_1; Modelica.Blocks.Math.Product mAct_flow "Mass flow rate"; Modelica.Blocks.Math.Gain ter(k=(270/10)^0.14*((3.35/2)/370)^0.22) "Wind speed correction for terrain and zone height"; equation connect(m.u1, V.y); connect(rho.T, weaBus.TDryBul); connect(x_pTphi.p_in, weaBus.pAtm); connect(x_pTphi.T, weaBus.TDryBul); connect(x_pTphi.phi, weaBus.relHum); connect(rho.X_w, x_pTphi.X[1]); connect(rho.p, weaBus.pAtm); connect(rho.d, m.u2); connect(dT.u1, TRoo); connect(dT.u2, weaBus.TDryBul); connect(dT.y, dTAbs.u); connect(gainB.u, dTAbs.y); connect(add3_1.u1, ACoef.y); connect(add3_1.u2, gainB.y); connect(add3_1.u3, gainC.y); connect(mAct_flow.y, m_flow); connect(add3_1.y, mAct_flow.u2); connect(m.y, mAct_flow.u1); connect(ter.y, gainC.u); connect(ter.u, weaBus.winSpe); end Infiltration; Modelica.Blocks.Sources.Constant uWin(k=1) "Control signal for electrochromic window"; Modelica.Blocks.Sources.CombiTimeTable refRes( tableOnFile=true, tableName="EnergyPlus", fileName=ModelicaServices.ExternalReferences.loadResource( "modelica://Buildings/Resources/Data/Rooms/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."; 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(roo.heaPorAir, preTem.port); connect(uWin.y, roo.uWin[1]); end ElectroChromicWindow;

http://simulationresearch.lbl.gov/modelica