AixLib.Fluid.FMI.Adaptors.HVAC

# .AixLib.Fluid.FMI.Adaptors.HVAC

Adaptor for connecting an HVAC system to signal ports which then can be exposed at an FMI interface

## Information

Adaptor that can be used to connect an HVAC system (with acausal ports) to input/output signals, which then can be exposed in an FMI interface.

The adaptor has a vector of fluid ports called `ports`. The supply and return air ducts need to be connected to these ports. Also, if a thermal zone has interzonal air exchange or air infiltration, these flow paths also need be connected to `ports`.

This model outputs at the port `fluPor` the mass flow rate for each flow that is connected to `ports`, 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 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. These quantities are always as if the flow enters the room, even if the flow is zero or negative. 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(·, ·) function, the energy balance would be wrong.

The output signals of this model are the zone air temperature, the water vapor mass fraction per total mass of the air (unless `Medium.nXi=0`) and trace substances (unless `Medium.nC=0`). These output connectors can be used to connect to a controller. These values are obtained from the fluid stream(s) that flow into this component at the port `fluPor`, e.g., from the connector `fluPor.backward`. Note that there are `nPorts` of these signals. For a completely mixed room, they will all have the same value, but for a room with non-uniform temperatures, they can have different values.

#### Assumption and limitations

The mass flow rates at `ports` sum to zero, hence this model conserves mass.

This model does not impose any pressure, other than setting the pressure of all fluid connections to `ports` to be equal. The reason is that setting a pressure can lead to non-physical system models, for example if a mass flow rate is imposed and the HVAC system is connected to a model that sets a pressure boundary condition such as AixLib.Fluid.Sources.Outside. Also, setting a pressure would make it impossible to use multiple instances of this model (one for each thermal zone) and build in Modelica an airflow network model with pressure driven mass flow rates.

The model has no pressure drop. Hence, the pressure drop of an air diffuser or of an exhaust grill need to be modelled in models that are connected to `ports`.

#### Typical use and important parameters

See AixLib.Fluid.FMI.ExportContainers.HVACZone for a model that uses this model.

## Contents

Name | Description
--- | ---
Medium | Medium in the component

## Revisions

- January 18, 2019, by Jianjun Hu:
  Limited the media choice to moist air only. See #1050.
- September 13, 2017, by Michael Wetter:
  Removed erroneous `each`.
- October 4, 2016, by Michael Wetter:
  Corrected assignment of `quantity` in `CZon`.
- June 29, 2016, by Michael Wetter:
  Revised implementation.
- April 14, 2016, by Michael Wetter:
  First implementation.

Generated at 2026-05-09T18:18:56Z by OpenModelicaOpenModelica 1.26.7 using GenerateDoc.mos