modelPartialTerminalUnit

Partial model for HVAC terminal unit

Information

Partial model to be used for modeling an HVAC terminal unit.

The models inheriting from this class are typically used in conjunction with Buildings.DHC.Loads.BaseClasses.FlowDistribution. They must compute a so-called required mass flow rate defined as the heating or chilled water mass flow rate needed to meet the load. It can be approximated using a control loop to avoid inverting a heat exchanger model as illustrated in Buildings.DHC.Loads.BaseClasses.Examples.

The model connectivity can be modified to address various use cases:

  • On the source side (typically connected to Buildings.DHC.Loads.BaseClasses.FlowDistribution):
    • Fluid ports for chilled water and heating water can be conditionally instantiated by respectively setting have_chiWat and have_heaWat to true.
  • On the load side (typically connected to a room model):
    • Fluid ports can be conditionally instantiated by setting have_fluPor to true.
    • Alternatively heat ports (for convective and radiative heat transfer) can be conditionally instantiated by setting have_heaPor to true.
    • Real input connectors can be conditionally instantiated by setting have_QReq_flow to true. Those connectors can be used to provide heating and cooling loads as time series, see Buildings.DHC.Loads.BaseClasses.Examples.CouplingTimeSeries for an illustration of that use case. The impact on the room air temperature of an unmet load can be assessed with Buildings.DHC.Loads.BaseClasses.SimpleRoomODE.

The heating or cooling nominal capacity is provided for the water based heat exchangers only. Electric heating or cooling systems are supposed to have an infinite capacity.

Connection with the flow distribution model

When connecting the model to Buildings.DHC.Loads.BaseClasses.FlowDistribution:

  • The nominal pressure drop on the source side (heating or chilled water) is irrelevant as the computation of the pump head relies on a specific algorithm described in Buildings.DHC.Loads.BaseClasses.FlowDistribution.
  • The parameter allowFlowReversal must be set to false (default) in consistency with Buildings.DHC.Loads.BaseClasses.FlowDistribution. This requirement only applies to the source side. On the load side one is free to use whatever option suitable for the modeling needs. Note that typically for an air flow network connected to the outdoor air (either at the room level for modeling infiltration or at the system level for the fresh air source), the unidirectional air flow condition cannot be guaranteed. The reason is the varying pressure of the outdoor air that can lead to a negative pressure difference at the terminal unit boundaries when the fan is off.

Scaling

Scaling is implemented by means of two multiplier factors.

  • The parameter facMul serves as a terminal unit multiplier. Each extensive quantity (mass and heat flow rate, electric power) flowing out through fluid or heat ports, or connected to an output connector is multiplied by facMul. Each extensive quantity (mass and heat flow rate, electric power) flowing in through fluid or heat ports, or connected to an input connector is multiplied by 1/facMul. This parameter allows modeling, with a single instance, multiple identical units served by the same distribution system, and serving an aggregated load (e.g., a thermal zone representing several rooms).
  • The parameter facMulZon serves as a thermal zone multiplier. Except for the variables connected to the load side, which are not affected by facMulZon, the logic is otherwise identical to the one described for facMul. This parameter allows modeling, with a single instance (of both the terminal unit model and the load model), multiple identical units served by the same distribution system, and serving multiple identical loads (e.g., a thermal zone representing a single room).

Note that the two multiplier factors serve different modeling purposes. As such they typically should not be used simultaneously. Both multiplier factors are of type real (as opposed to integer) to allow for instance modeling a set of terminal units based on manufacturer data, while still being able to size the full set based on a peak load. See Buildings.DHC.Loads.BaseClasses.Validation.TerminalUnitScaling for an illustration of the use case when heating and cooling loads are provided as time series.

Change-over mode

When modeling a change-over system:

  • The parameters have_chiWat and have_chaOve must both be set to true and have_heaWat must be set to false.
  • The heat exchanger is sized by providing the nominal parameters for the cooling configuration (suffix ChiWat). The nominal mass flow rate on the source and the load side must also be provided for the heating configuration (suffix HeaWat) as it can differ from the cooling configuration.
  • The computed heat flow rate must be split into its positive part that gets connected to QActHea_flow and its negative part that gets connected to QActCoo_flow.
  • The computed required mass flow rate must be connected to mReqChiWat_flow.

Base class parameters

All the parameters of this base class that pertain to the nominal conditions shall not be exposed in the derived class, as this would lead to an overdetermined model. For instance, the nominal mass flow rate may not be exposed but rather computed from the nominal heat flow rate, entering and leaving fluid temperature. However, those parameters are included in the base class because other components are likely to reference them. For instance the distribution system model may use the nominal mass flow rate of each terminal unit to compute the nominal mass flow rate of the circulation pump.

Parameters

TypeNameDefaultDescription
Assumptions
BooleanallowFlowReversalfalseSet to true to allow flow reversal in building distribution system
BooleanallowFlowReversalLoatrueSet to true to allow flow reversal on the load side
Scaling
RealfacMul1Multiplier factor
RealfacMulZon1Zone multiplier factor
Configuration
Booleanhave_heaWatfalseSet to true if the system uses heating water
Booleanhave_chiWatfalseSet to true if the system uses chilled water
Booleanhave_chaOvefalseSet to true if the chilled water based heat exchanger operates in change-over
Booleanhave_eleHeafalseSet to true if the system has electric heating system
Booleanhave_eleCoofalseSet to true if the system has electric cooling system
Booleanhave_heaPorfalseSet to true for heat ports on the load side
Booleanhave_fluPorfalseSet to true for fluid ports on the load side
Booleanhave_TSenfalseSet to true for measured temperature as an input
Booleanhave_QReq_flowfalseSet to true for required heat flow rate as an input
Booleanhave_weaBusfalseSet to true to use a weather bus
Booleanhave_fanfalseSet to true if fan power is computed
Booleanhave_pumfalseSet to true if pump power is computed
Nominal condition
Modelica.Units.SI.HeatFlowRateQHea_flow_nominal0Nominal heating capacity (>=0)
Modelica.Units.SI.HeatFlowRateQCoo_flow_nominal0Nominal cooling capacity (<=0)
Modelica.Units.SI.MassFlowRatemHeaWat_flow_nominal0Heating water mass flow rate at nominal conditions
Modelica.Units.SI.MassFlowRatemChiWat_flow_nominal0Chilled water mass flow rate at nominal conditions
Modelica.Units.SI.MassFlowRatemLoaHea_flow_nominal0Load side mass flow rate at nominal conditions in heating mode
Modelica.Units.SI.MassFlowRatemLoaCoo_flow_nominal0Load side mass flow rate at nominal conditions in cooling mode
Modelica.Units.SI.TemperatureT_aHeaWat_nominal273.15 + 60Heating water inlet temperature at nominal conditions
Modelica.Units.SI.TemperatureT_bHeaWat_nominalT_aHeaWat_nominal - 22.2Heating water outlet temperature at nominal conditions
Modelica.Units.SI.TemperatureT_aChiWat_nominal273.15 + 7.2Chilled water inlet temperature at nominal conditions
Modelica.Units.SI.TemperatureT_bChiWat_nominalT_aChiWat_nominal + 5.6Chilled water outlet temperature at nominal conditions
Modelica.Units.SI.TemperatureT_aLoaHea_nominal273.15 + 21.1Load side inlet temperature at nominal conditions in heating mode
Modelica.Units.SI.TemperatureT_aLoaCoo_nominal273.15 + 26.7Load side inlet temperature at nominal conditions in cooling mode
Modelica.Units.SI.MassFractionw_aLoaCoo_nominal0.011Load side inlet humidity ratio at nominal conditions in cooling mode

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInputTSenTemperature (measured)
Modelica.Blocks.Interfaces.RealInputTSetHeaHeating set point
Modelica.Blocks.Interfaces.RealInputTSetCooCooling set point
Modelica.Blocks.Interfaces.RealInputQReqHea_flowRequired heat flow rate to meet heating set point (>=0)
Modelica.Blocks.Interfaces.RealInputQReqCoo_flowRequired heat flow rate to meet cooling set point (<=0)
Modelica.Blocks.Interfaces.RealOutputQActHea_flowHeating heat flow rate transferred to the load (>=0)
Modelica.Blocks.Interfaces.RealOutputQActCoo_flowCooling heat flow rate transferred to the load (<=0)
Modelica.Blocks.Interfaces.RealOutputPHeaPower drawn by heating system
Modelica.Blocks.Interfaces.RealOutputPCooPower drawn by cooling system
Modelica.Blocks.Interfaces.RealOutputPFanPower drawn by fans motors
Modelica.Blocks.Interfaces.RealOutputPPumPower drawn by pumps motors
Modelica.Blocks.Interfaces.RealOutputmReqHeaWat_flowRequired heating water flow rate to meet heating set point
Modelica.Blocks.Interfaces.RealOutputmReqChiWat_flowRequired chilled water flow rate to meet cooling set point
Modelica.Fluid.Interfaces.FluidPort_aport_aLoaFluid stream inlet port on the load side
Modelica.Fluid.Interfaces.FluidPort_bport_bLoaFluid stream outlet port on the load side
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_bheaPorConHeat port transferring convective heat to the load
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_bheaPorRadHeat port transferring radiative heat to the load
BoundaryConditions.WeatherData.BusweaBusWeather data bus
Modelica.Fluid.Interfaces.FluidPort_aport_aHeaWatHeating water inlet port
Modelica.Fluid.Interfaces.FluidPort_aport_aChiWatChilled water inlet port
Modelica.Fluid.Interfaces.FluidPort_bport_bHeaWatHeating water outlet port
Modelica.Fluid.Interfaces.FluidPort_bport_bChiWatChilled water outlet port

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulQReqHea_flowScaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulQReqCoo_flowScaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulQActHea_flowScaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulQActCoo_flowScaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulPHeaScaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulPCooScaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulPFanScaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulPPumScaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulMasFloReqHeaWatScaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulMasFloReqChiWatScaling
Fluid.BaseClasses.MassFlowRateMultipliermulHeaWatFloInlMass flow rate multiplier
Fluid.BaseClasses.MassFlowRateMultipliermulHeaWatFloOutMass flow rate multiplier
Fluid.BaseClasses.MassFlowRateMultipliermulChiWatFloInlMass flow rate multiplier
Fluid.BaseClasses.MassFlowRateMultipliermulChiWatFloOutMass flow rate multiplier
Fluid.BaseClasses.MassFlowRateMultipliermulLoaMasFloOutLoad side mass flow rate multiplier
Fluid.BaseClasses.MassFlowRateMultipliermulLoaMasFloInlLoad side mass flow rate multiplier
Fluid.HeatExchangers.RadiantSlabs.BaseClasses.HeatFlowRateMultipliermulHeaFloConConvective heat flow rate multiplier
Fluid.HeatExchangers.RadiantSlabs.BaseClasses.HeatFlowRateMultipliermulHeaFloRadRadiative heat flow rate multiplier

Contents

NameDescription
Medium1
Medium2

Revisions

  • December 21, 2020, by Antoine Gautier:
    Refactored scaling mechanism and renamed parameters.
    This is for issue 2291.
  • February 21, 2020, by Antoine Gautier:
    First implementation.