Model that is used as a container for a multiple thermal zones that are to be exported as an FMU.

Typical use and important parameters

To use this model as a container for an FMU, extend from this model, rather than instantiate it, add your thermal zones. For each thermal zone, add a vector of mass flow rate sensors. By extending from this model, the top-level signal connectors on the left stay at the top-level, and hence will be visible at the FMI interface.

Note that

The example Buildings.Fluid.FMI.ExportContainers.Examples.FMUs.ThermalZones shows how multiple simple thermal zones can be implemented and exported as an FMU. The example Buildings.Fluid.FMI.ExportContainers.Validation.RoomHVAC shows how such an FMU can be connected to an HVAC system that has signal flow.

The conversion between the fluid ports and signal ports is done in the thermal zone adapter theZonAda[nZon]. This adapter has a vector of fluid ports called ports[nPorts] which needs to be connected to the air volume of the thermal zones. At this port, air exchanged between the thermal zones, the HVAC system and any infiltration flow paths.

This model has input signals fluPor[nZon, nPorts] which carry the mass flow rate for each flow that is connected to ports[1:nPorts] for the respective zone, together with its temperature, water vapor mass fraction per total mass of the air (not per kg dry air), and trace substances. These quantities are always as if the flow enters the respective room, even if the flow is zero or negative. If a medium has no moisture, e.g., if Medium.nXi=0, or if it has no trace substances, e.g., if Medium.nC=0, then the output signal for these properties are removed. Thus, a thermal zone model that uses these signals to compute the heat added by the HVAC system need to implement an equation such as

Qsen = max(0, ṁsup)   cp   (Tsup - Tair,zon),

where Qsen is the sensible heat flow rate added to the thermal zone, sup is the supply air mass flow rate from the port fluPor (which is negative if it is an exhaust), cp is the specific heat capacity at constant pressure, Tsup is the supply air temperature and Tair,zon is the zone air temperature. Note that without the max(·, ·), the energy balance would be wrong. For example, models in the package Buildings.ThermalZones.Detailed as well as the control volumes in Buildings.Fluid.MixingVolumes implement such a max(·, ·) function.

For each zone, its air temperature, water vapor mass fraction per total mass of the air (unless Medium.nXi=0) and trace substances (unless Medium.nC=0) can be obtained from the outupt connector fluPor[1:nZon].backward. These signals are the same as the inflowing fluid stream(s) at the port theAdaZon[1:nZon].ports[1:nPorts]. The fluid connector ports[nPorts] has a prescribed mass flow rate, but it does not set any pressure.

This model has a user-defined parameter nPorts which sets the number of fluid ports, which in turn is used for the ports fluPor and ports. All zones must have the same number of fluid ports nPorts. All nPorts ports[1:nPorts] need to be connected as demonstrated in the example Buildings.Fluid.FMI.ExportContainers.Examples.FMUs.ThermalZones.

The example Buildings.Fluid.FMI.ExportContainers.Validation.RoomHVAC shows conceptually how such an FMU can then be connected to a HVAC system that has signal flow.


Name Description
Medium Medium in the component


Generated at 2021-04-19T01:01:50Z by OpenModelicaOpenModelica 1.18.0~dev-228-gf450566 using GenerateDoc.mos