LBL logo

Buildings.Rooms

Package with models for rooms

Information

This package contains models for the heat transfer in rooms and through the building envelope.

Extends from Modelica.Icons.Package (Icon for standard packages).

Package Content

Name Description
Buildings.Rooms.UsersGuide UsersGuide User's Guide
Buildings.Rooms.CFD CFD Model of a room in which the air is computed using Computational Fluid Dynamics (CFD)
Buildings.Rooms.MixedAir MixedAir Model of a room in which the air is completely mixed
Buildings.Rooms.Constructions Constructions Package with models for constructions that are used in the room model
Buildings.Rooms.FLEXLAB FLEXLAB Models that can be used to model the FLEXLAB
Buildings.Rooms.Types Types Package with type definitions
Buildings.Rooms.Examples Examples Collection of models that illustrate model use and test models
Buildings.Rooms.Validation Validation Collection of validation models
Buildings.Rooms.BaseClasses BaseClasses Package with base classes for Buildings.Rooms

Buildings.Rooms.CFD Buildings.Rooms.CFD

Model of a room in which the air is computed using Computational Fluid Dynamics (CFD)

Buildings.Rooms.CFD

Information

Room model that computes the room air flow using computational fluid dynamics (CFD). The CFD simulation is coupled to the thermal simulation of the room and, through the fluid port, to the air conditioning system.

Currently, the supported CFD program is the Fast Fluid Dynamics (FFD) program (Zuo 2010). See Buildings.Rooms.UsersGuide for detailed explanations.

References

Wangda Zuo. Advanced simulations of air distributions in buildings. Ph.D. Thesis, School of Mechanical Engineering, Purdue University, 2010.

Extends from Buildings.Rooms.BaseClasses.RoomHeatMassBalance (Base model for a room).

Parameters

TypeNameDefaultDescription
ParameterConstructiondatConExt[NConExt] Data for exterior construction
ParameterConstructionWithWindowdatConExtWin[NConExtWin] Data for exterior construction with window
ParameterConstructiondatConPar[NConPar] Data for partition construction
ParameterConstructiondatConBou[NConBou] Data for construction boundary
OpaqueSurfacesurBou[NSurBou] Record for data of surfaces whose heat conduction is modeled outside of this room
Brick120dummyCon Dummy construction to assign a parameter to the instance
SingleClear3dummyGlaSys Dummy construction to assign a parameter to the instance
replaceable package MediumPartialMediumMedium in the component
Anglelat Latitude [rad]
AreaAFlo Floor area [m2]
LengthhRoo Average room height [m]
BooleanlinearizeRadiationtrueSet to true to linearize emissive power
RealuSha_fixed[nConExtWin]zeros(nConExtWin)Constant control signal for the shading device (0: unshaded; 1: fully shaded)
Exterior constructions
IntegernConExt Number of exterior constructions
IntegernConExtWin Number of window constructions
Partition constructions
IntegernConPar Number of partition constructions
Boundary constructions
IntegernConBou Number of constructions that have their outside surface exposed to the boundary of this room
IntegernSurBou Number of surface heat transfer models that connect to constructions that are modeled outside of this room
Convective heat transfer
InteriorConvectionintConModBuildings.HeatTransfer.Types...Convective heat transfer model for room-facing surfaces of opaque constructions
CoefficientOfHeatTransferhIntFixed3.0Constant convection coefficient for room-facing surfaces of opaque constructions [W/(m2.K)]
ExteriorConvectionextConModBuildings.HeatTransfer.Types...Convective heat transfer model for exterior facing surfaces of opaque constructions
CoefficientOfHeatTransferhExtFixed10.0Constant convection coefficient for exterior facing surfaces of opaque constructions [W/(m2.K)]
Nominal condition
MassFlowRatem_flow_nominalV*1.2/3600Nominal mass flow rate [kg/s]
CFD
BooleanuseCFDtrueSet to false to deactivate the CFD computation and use instead yFixed as output
StringsensorName[:] Names of sensors as declared in the CFD input file
StringportName[nPorts]{"port_" + String(i) for i i...Names of fluid ports as declared in the CFD input file
StringcfdFilNam CFD input file name
Sampling
TimesamplePeriod Sample period of component [s]
Advanced
BooleanhomotopyInitializationtrue= true, use homotopy method
Dynamics
Equations
DynamicsmassDynamicsModelica.Fluid.Types.Dynamic...Formulation of mass balance
Initialization
AbsolutePressurep_startMedium.p_defaultStart value of pressure [Pa]

Connectors

TypeNameDescription
VesselFluidPorts_bports[nPorts]Fluid inlets and outlets
HeatPort_aheaPorAirHeat port to air volume
HeatPort_aheaPorRadHeat port for radiative heat gain and radiative temperature
input RealInputuWin[nConExtWin]Control signal for window state (used for electrochromic windows, removed otherwise) [1]
HeatPort_asurf_conBou[nConBou]Heat port at surface b of construction conBou
HeatPort_asurf_surBou[nSurBou]Heat port of surface that is connected to the room air
input RealInputqGai_flow[3]Radiant, convective and latent heat input into room (positive if heat gain) [W/m2]
BusweaBus 
output RealOutputyCFD[nSen]Sensor for output from CFD

Modelica definition

model CFD "Model of a room in which the air is computed using Computational Fluid Dynamics (CFD)" extends Buildings.Rooms.BaseClasses.RoomHeatMassBalance( redeclare BaseClasses.CFDAirHeatMassBalance air( final massDynamics = massDynamics, final cfdFilNam = cfdFilNam, final useCFD=useCFD, final samplePeriod=samplePeriod, final haveSensor=haveSensor, final nSen=nSen, final sensorName=sensorName, final portName=portName, final uSha_fixed=uSha_fixed, final p_start=p_start)); // Assumptions parameter Modelica.Fluid.Types.Dynamics massDynamics=Modelica.Fluid.Types.Dynamics.DynamicFreeInitial "Formulation of mass balance"; // Initialization parameter Medium.AbsolutePressure p_start = Medium.p_default "Start value of pressure"; parameter Boolean useCFD = true "Set to false to deactivate the CFD computation and use instead yFixed as output"; parameter Modelica.SIunits.Time samplePeriod(min=100*Modelica.Constants.eps) "Sample period of component"; parameter Real uSha_fixed[nConExtWin] = zeros(nConExtWin) "Constant control signal for the shading device (0: unshaded; 1: fully shaded)"; parameter String sensorName[:] "Names of sensors as declared in the CFD input file"; parameter String portName[nPorts] = {"port_" + String(i) for i in 1:nPorts} "Names of fluid ports as declared in the CFD input file"; parameter String cfdFilNam "CFD input file name"; Modelica.Blocks.Interfaces.RealOutput yCFD[nSen] if haveSensor "Sensor for output from CFD"; protected BaseClasses.CFDHeatGain heaGai(final AFlo=AFlo) "Model to convert internal heat gains"; protected final parameter Boolean haveSensor = Modelica.Utilities.Strings.length(sensorName[1]) > 0 "Flag, true if the model has at least one sensor"; final parameter Integer nSen(min=0) = size(sensorName, 1) "Number of sensors that are connected to CFD output"; Modelica.Blocks.Sources.Constant conSha[nConExtWin](final k=uSha_fixed) if haveShade "Constant signal for shade"; equation connect(qGai_flow, heaGai.qGai_flow); connect(heaGai.QRad_flow, add.u2); connect(air.QCon_flow, heaGai.QCon_flow); connect(air.QLat_flow, heaGai.QLat_flow); connect(air.yCFD, yCFD); connect(conSha.y, conExtWin.uSha); connect(conSha.y, bouConExtWin.uSha); connect(conSha.y, conExtWinRad.uSha); connect(irRadGai.uSha,conSha.y); connect(conSha.y, radTem.uSha); connect(conSha.y, shaSig.u); connect(air.uSha,conSha.y); end CFD;

Buildings.Rooms.MixedAir Buildings.Rooms.MixedAir

Model of a room in which the air is completely mixed

Buildings.Rooms.MixedAir

Information

Room model that assumes the air to be completely mixed.

See Buildings.Rooms.UsersGuide for detailed explanations.

Extends from Buildings.Rooms.BaseClasses.RoomHeatMassBalance (Base model for a room), Buildings.Fluid.Interfaces.LumpedVolumeDeclarations (Declarations for lumped volumes).

Parameters

TypeNameDefaultDescription
OpaqueSurfacesurBou[NSurBou] Record for data of surfaces whose heat conduction is modeled outside of this room
Brick120dummyCon Dummy construction to assign a parameter to the instance
SingleClear3dummyGlaSys Dummy construction to assign a parameter to the instance
replaceable package MediumPartialMediumMedium in the component
Anglelat Latitude [rad]
AreaAFlo Floor area [m2]
LengthhRoo Average room height [m]
BooleanlinearizeRadiationtrueSet to true to linearize emissive power
Exterior constructions
IntegernConExt Number of exterior constructions
IntegernConExtWin Number of window constructions
Partition constructions
IntegernConPar Number of partition constructions
Boundary constructions
IntegernConBou Number of constructions that have their outside surface exposed to the boundary of this room
IntegernSurBou Number of surface heat transfer models that connect to constructions that are modeled outside of this room
Convective heat transfer
InteriorConvectionintConModBuildings.HeatTransfer.Types...Convective heat transfer model for room-facing surfaces of opaque constructions
CoefficientOfHeatTransferhIntFixed3.0Constant convection coefficient for room-facing surfaces of opaque constructions [W/(m2.K)]
ExteriorConvectionextConModBuildings.HeatTransfer.Types...Convective heat transfer model for exterior facing surfaces of opaque constructions
CoefficientOfHeatTransferhExtFixed10.0Constant convection coefficient for exterior facing surfaces of opaque constructions [W/(m2.K)]
Nominal condition
MassFlowRatem_flow_nominalV*1.2/3600Nominal mass flow rate [kg/s]
Advanced
BooleanhomotopyInitializationtrue= true, use homotopy method
Dynamics
Equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state
DynamicsmassDynamicsenergyDynamicsType of mass balance: dynamic (3 initialization options) or steady state
RealmSenFac1Factor for scaling the sensible thermal mass of the volume
Initialization
AbsolutePressurep_startMedium.p_defaultStart value of pressure [Pa]
TemperatureT_startMedium.T_defaultStart value of temperature [K]
MassFractionX_start[Medium.nX]Medium.X_defaultStart value of mass fractions m_i/m [kg/kg]
ExtraPropertyC_start[Medium.nC]fill(0, Medium.nC)Start value of trace substances
ExtraPropertyC_nominal[Medium.nC]fill(1E-2, Medium.nC)Nominal value of trace substances. (Set to typical order of magnitude.)

Connectors

TypeNameDescription
VesselFluidPorts_bports[nPorts]Fluid inlets and outlets
HeatPort_aheaPorAirHeat port to air volume
HeatPort_aheaPorRadHeat port for radiative heat gain and radiative temperature
input RealInputuWin[nConExtWin]Control signal for window state (used for electrochromic windows, removed otherwise) [1]
HeatPort_asurf_conBou[nConBou]Heat port at surface b of construction conBou
HeatPort_asurf_surBou[nSurBou]Heat port of surface that is connected to the room air
input RealInputqGai_flow[3]Radiant, convective and latent heat input into room (positive if heat gain) [W/m2]
BusweaBus 
input RealInputuSha[nConExtWin]Control signal for the shading device (removed if no shade is present)

Modelica definition

model MixedAir "Model of a room in which the air is completely mixed" extends Buildings.Rooms.BaseClasses.RoomHeatMassBalance( redeclare Buildings.Rooms.BaseClasses.MixedAirHeatMassBalance air( final energyDynamics=energyDynamics, final massDynamics = massDynamics, final p_start=p_start, final T_start=T_start, final X_start=X_start, final C_start=C_start, final C_nominal=C_nominal, final m_flow_nominal=m_flow_nominal, final homotopyInitialization=homotopyInitialization, final conMod=intConMod, final hFixed=hIntFixed), datConExt( each T_a_start = T_start, each T_b_start = T_start), datConExtWin( each T_a_start = T_start, each T_b_start = T_start), datConBou( each T_a_start = T_start, each T_b_start = T_start), datConPar( each T_a_start = T_start, each T_b_start = T_start)); extends Buildings.Fluid.Interfaces.LumpedVolumeDeclarations; protected Buildings.Rooms.BaseClasses.MixedAirHeatGain heaGai( redeclare package Medium = Medium, final AFlo=AFlo) "Model to convert internal heat gains"; public Modelica.Blocks.Interfaces.RealInput uSha[nConExtWin](each min=0, each max=1) if haveShade "Control signal for the shading device (removed if no shade is present)"; equation connect(heaGai.qGai_flow, qGai_flow); connect(heaGai.QRad_flow, add.u2); connect(heaGai.QLat_flow, air.QLat_flow); connect(air.heaPorAir, heaGai.QCon_flow); connect(uSha, conExtWin.uSha); connect(uSha, bouConExtWin.uSha); connect(uSha, conExtWinRad.uSha); connect(irRadGai.uSha,uSha); connect(uSha, radTem.uSha); connect(uSha, shaSig.u); connect(air.uSha,uSha); end MixedAir;

http://simulationresearch.lbl.gov/modelica