modelCFD
Model of a room in which the air is computed using Computational Fluid Dynamics (CFD)
Extends from Buildings.ThermalZones.Detailed.BaseClasses.RoomHeatMassBalance (Base model for a room).
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.ThermalZones.Detailed.UsersGuide for detailed explanations.
References
Wangda Zuo. Advanced simulations of air distributions in buildings. Ph.D. Thesis, School of Mechanical Engineering, Purdue University, 2010.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | NConExt (from ConstructionNumbers) | max(1, nConExt) | Number of elements for exterior constructions |
| Integer | NConExtWin (from ConstructionNumbers) | max(1, nConExtWin) | Number of elements for exterior constructions with windows |
| Integer | NConPar (from ConstructionNumbers) | max(1, nConPar) | Number of elements for partition constructions |
| Integer | NConBou (from ConstructionNumbers) | max(1, nConBou) | Number of elements for constructions that have their outside surface exposed to the boundary of this room |
| Integer | NSurBou (from ConstructionNumbers) | max(1, nSurBou) | Number of elements for surface heat transfer models that connect to constructions that are modeled outside of this room |
| Boolean | haveConExt (from ConstructionNumbers) | nConExt > 0 | Flag to conditionally remove components |
| Boolean | haveConExtWin (from ConstructionNumbers) | nConExtWin > 0 | Flag to conditionally remove components |
| Boolean | haveConPar (from ConstructionNumbers) | nConPar > 0 | Flag to conditionally remove components |
| Boolean | haveConBou (from ConstructionNumbers) | nConBou > 0 | Flag to conditionally remove components |
| Boolean | haveSurBou (from ConstructionNumbers) | nSurBou > 0 | Flag to conditionally remove components |
| ParameterConstruction[NConExt] | datConExt (from ConstructionRecords) | Data for exterior construction | |
| Buildings.ThermalZones.Detailed.BaseClasses.ParameterConstructionWithWindow[NConExtWin] | datConExtWin (from ConstructionRecords) | Data for exterior construction with window | |
| Buildings.ThermalZones.Detailed.BaseClasses.ParameterConstruction[NConPar] | datConPar (from ConstructionRecords) | Data for partition construction | |
| Buildings.ThermalZones.Detailed.BaseClasses.ParameterConstruction[NConBou] | datConBou (from ConstructionRecords) | Data for construction boundary | |
| Buildings.ThermalZones.Detailed.BaseClasses.OpaqueSurface[NSurBou] | surBou (from ConstructionRecords) | Record for data of surfaces whose heat conduction is modeled outside of this room | |
| HeatTransfer.Data.OpaqueConstructions.Brick120 | dummyCon (from ConstructionRecords) | Dummy construction to assign a parameter to the instance | |
| Buildings.HeatTransfer.Data.GlazingSystems.SingleClear3 | dummyGlaSys (from ConstructionRecords) | Dummy construction to assign a parameter to the instance | |
| Boolean | homotopyInitialization (from RoomHeatMassBalance) | true | = true, use homotopy method |
| Modelica.Units.SI.Volume | V (from RoomHeatMassBalance) | AFlo*hRoo | Volume |
| Modelica.Units.SI.Area | AFlo (from RoomHeatMassBalance) | Floor area | |
| Modelica.Units.SI.Length | hRoo (from RoomHeatMassBalance) | Average room height | |
| Boolean | linearizeRadiation (from RoomHeatMassBalance) | true | Set to true to linearize emissive power |
| Real[nConExtWin] | uSha_fixed | zeros(nConExtWin) | Constant control signal for the shading device (0: unshaded; 1: fully shaded) |
| Exterior constructions | |||
| Integer | nConExt (from ConstructionNumbers) | Number of exterior constructions | |
| Integer | nConExtWin (from ConstructionNumbers) | Number of window constructions | |
| Partition constructions | |||
| Integer | nConPar (from ConstructionNumbers) | Number of partition constructions | |
| Boundary constructions | |||
| Integer | nConBou (from ConstructionNumbers) | Number of constructions that have their outside surface exposed to the boundary of this room | |
| Integer | nSurBou (from ConstructionNumbers) | Number of surface heat transfer models that connect to constructions that are modeled outside of this room | |
| General › Ports | |||
| Integer | nPorts (from RoomHeatMassBalance) | 0 | Number of ports |
| Dynamics › Glazing system | |||
| Boolean | steadyStateWindow (from RoomHeatMassBalance) | false | Set to false to add thermal capacity at window, which generally leads to faster simulation |
| Convective heat transfer | |||
| Buildings.HeatTransfer.Types.InteriorConvection | intConMod (from RoomHeatMassBalance) | Buildings.HeatTransfer.Types.InteriorConvection.Temperature | Convective heat transfer model for room-facing surfaces of opaque constructions |
| Modelica.Units.SI.CoefficientOfHeatTransfer | hIntFixed (from RoomHeatMassBalance) | 3.0 | Constant convection coefficient for room-facing surfaces of opaque constructions |
| Buildings.HeatTransfer.Types.ExteriorConvection | extConMod (from RoomHeatMassBalance) | Buildings.HeatTransfer.Types.ExteriorConvection.TemperatureWind | Convective heat transfer model for exterior facing surfaces of opaque constructions |
| Modelica.Units.SI.CoefficientOfHeatTransfer | hExtFixed (from RoomHeatMassBalance) | 10.0 | Constant convection coefficient for exterior facing surfaces of opaque constructions |
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | m_flow_nominal (from RoomHeatMassBalance) | V*1.2/3600 | Nominal mass flow rate |
| Experimental (may be changed in future releases) | |||
| Boolean | sampleModel (from RoomHeatMassBalance) | false | Set to true to time-sample the model, which can give shorter simulation time if there is already time sampling in the system model |
| Dynamics › Conservation equations | |||
| Modelica.Fluid.Types.Dynamics | massDynamics | Modelica.Fluid.Types.Dynamics.DynamicFreeInitial | Formulation of mass balance |
| Initialization | |||
| Medium.AbsolutePressure | p_start | Medium.p_default | Start value of pressure |
| CFD | |||
| Boolean | useCFD | true | Set to false to deactivate the CFD computation and use instead yFixed as output |
| String[:] | sensorName | Names of sensors as declared in the CFD input file | |
| String[nPorts] | portName | {"port_" + String(i) for i in 1:nPorts} | Names of fluid ports as declared in the CFD input file |
| String | cfdFilNam | CFD input file name | |
| Sampling | |||
| Modelica.Units.SI.Time | samplePeriod | Sample period of component | |
Connectors
Components
Revisions
-
September 16, 2021, by Michael Wetter:
Removed parameterlatbecause the latitude is now obtained from the weather data bus.
This is for IBPSA, #1477. -
May 2, 2016, by Michael Wetter:
Refactored implementation of latent heat gain. This is for issue 515. -
April 21, 2016, by Michael Wetter:
Added parameterabsCfdFilNamas the call to Buildings.BoundaryConditions.WeatherData.BaseClasses.getAbsolutePath was removed from Buildings.ThermalZones.Detailed.BaseClasses.CFDExchange. This is for Buildings, #506. -
August 1, 2013, by Michael Wetter and Wangda Zuo:
First Implementation.