modelPartialFanCoil4Pipe

Partial model of a sensible only four-pipe fan coil unit computing a required water mass flow rate

Extends from Buildings.DHC.Loads.BaseClasses.PartialTerminalUnit (Partial model for HVAC terminal unit).

Information

This is a simplified partial model of a sensible only four-pipe fan coil unit for heating and cooling. It is intended to be used in conjunction with Buildings.DHC.Loads.BaseClasses.FlowDistribution, and hence it computes the water mass flow rate required to meet the temperature set point.

For the sake of simplicity, a sensible only heat exchanger model is considered.

For the sake of computational performance, a PI controller is used instead of an inverse model of the heat exchanger to assess the required water mass flow rate. Each controller output signal is mapped linearly to the water mass flow rate, from zero to its nominal value. The maximum of the two output signals is mapped linearly to the air mass flow rate, from zero to its nominal value.

The model takes the measured room air temperature as an input (as opposed to the fan inlet temperature) to maintain a valid control loop output in case of zero air flow rate.

The model is partial to allow various connectivity options on the load side: either with fluid ports or with heat ports.

Parameters

TypeNameDefaultDescription
hexConfigurationhexConHeahexConfiguration.CounterFlowHeating heat exchanger configuration
hexConfigurationhexConCoohexConfiguration.CounterFlowCooling heat exchanger configuration
Assumptions
BooleanallowFlowReversal (from PartialTerminalUnit)falseSet to true to allow flow reversal in building distribution system
BooleanallowFlowReversalLoa (from PartialTerminalUnit)trueSet to true to allow flow reversal on the load side
Scaling
RealfacMul (from PartialTerminalUnit)1Multiplier factor
RealfacMulZon (from PartialTerminalUnit)1Zone multiplier factor
Configuration
Booleanhave_heaWat (from PartialTerminalUnit)falseSet to true if the system uses heating water
Booleanhave_chiWat (from PartialTerminalUnit)falseSet to true if the system uses chilled water
Booleanhave_chaOve (from PartialTerminalUnit)falseSet to true if the chilled water based heat exchanger operates in change-over
Booleanhave_eleHea (from PartialTerminalUnit)falseSet to true if the system has electric heating system
Booleanhave_eleCoo (from PartialTerminalUnit)falseSet to true if the system has electric cooling system
Booleanhave_heaPor (from PartialTerminalUnit)falseSet to true for heat ports on the load side
Booleanhave_fluPor (from PartialTerminalUnit)falseSet to true for fluid ports on the load side
Booleanhave_TSen (from PartialTerminalUnit)falseSet to true for measured temperature as an input
Booleanhave_QReq_flow (from PartialTerminalUnit)falseSet to true for required heat flow rate as an input
Booleanhave_weaBus (from PartialTerminalUnit)falseSet to true to use a weather bus
Booleanhave_fan (from PartialTerminalUnit)falseSet to true if fan power is computed
Booleanhave_pum (from PartialTerminalUnit)falseSet to true if pump power is computed
Nominal condition
Modelica.Units.SI.HeatFlowRateQHea_flow_nominal (from PartialTerminalUnit)0Nominal heating capacity (>=0)
Modelica.Units.SI.HeatFlowRateQCoo_flow_nominal (from PartialTerminalUnit)0Nominal cooling capacity (<=0)
Modelica.Units.SI.MassFlowRatemHeaWat_flow_nominal (from PartialTerminalUnit)0Heating water mass flow rate at nominal conditions
Modelica.Units.SI.MassFlowRatemChiWat_flow_nominal (from PartialTerminalUnit)0Chilled water mass flow rate at nominal conditions
Modelica.Units.SI.MassFlowRatemLoaHea_flow_nominal (from PartialTerminalUnit)0Load side mass flow rate at nominal conditions in heating mode
Modelica.Units.SI.MassFlowRatemLoaCoo_flow_nominal (from PartialTerminalUnit)0Load side mass flow rate at nominal conditions in cooling mode
Modelica.Units.SI.TemperatureT_aHeaWat_nominal (from PartialTerminalUnit)273.15 + 60Heating water inlet temperature at nominal conditions
Modelica.Units.SI.TemperatureT_bHeaWat_nominal (from PartialTerminalUnit)T_aHeaWat_nominal - 22.2Heating water outlet temperature at nominal conditions
Modelica.Units.SI.TemperatureT_aChiWat_nominal (from PartialTerminalUnit)273.15 + 7.2Chilled water inlet temperature at nominal conditions
Modelica.Units.SI.TemperatureT_bChiWat_nominal (from PartialTerminalUnit)T_aChiWat_nominal + 5.6Chilled water outlet temperature at nominal conditions
Modelica.Units.SI.TemperatureT_aLoaHea_nominal (from PartialTerminalUnit)273.15 + 21.1Load side inlet temperature at nominal conditions in heating mode
Modelica.Units.SI.TemperatureT_aLoaCoo_nominal (from PartialTerminalUnit)273.15 + 26.7Load side inlet temperature at nominal conditions in cooling mode
Modelica.Units.SI.MassFractionw_aLoaCoo_nominal (from PartialTerminalUnit)0.011Load side inlet humidity ratio at nominal conditions in cooling mode

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInputTSen (from PartialTerminalUnit)Temperature (measured)
Modelica.Blocks.Interfaces.RealInputTSetHea (from PartialTerminalUnit)Heating set point
Modelica.Blocks.Interfaces.RealInputTSetCoo (from PartialTerminalUnit)Cooling set point
Modelica.Blocks.Interfaces.RealInputQReqHea_flow (from PartialTerminalUnit)Required heat flow rate to meet heating set point (>=0)
Modelica.Blocks.Interfaces.RealInputQReqCoo_flow (from PartialTerminalUnit)Required heat flow rate to meet cooling set point (<=0)
Modelica.Blocks.Interfaces.RealOutputQActHea_flow (from PartialTerminalUnit)Heating heat flow rate transferred to the load (>=0)
Modelica.Blocks.Interfaces.RealOutputQActCoo_flow (from PartialTerminalUnit)Cooling heat flow rate transferred to the load (<=0)
Modelica.Blocks.Interfaces.RealOutputPHea (from PartialTerminalUnit)Power drawn by heating system
Modelica.Blocks.Interfaces.RealOutputPCoo (from PartialTerminalUnit)Power drawn by cooling system
Modelica.Blocks.Interfaces.RealOutputPFan (from PartialTerminalUnit)Power drawn by fans motors
Modelica.Blocks.Interfaces.RealOutputPPum (from PartialTerminalUnit)Power drawn by pumps motors
Modelica.Blocks.Interfaces.RealOutputmReqHeaWat_flow (from PartialTerminalUnit)Required heating water flow rate to meet heating set point
Modelica.Blocks.Interfaces.RealOutputmReqChiWat_flow (from PartialTerminalUnit)Required chilled water flow rate to meet cooling set point
Modelica.Fluid.Interfaces.FluidPort_aport_aLoa (from PartialTerminalUnit)Fluid stream inlet port on the load side
Modelica.Fluid.Interfaces.FluidPort_bport_bLoa (from PartialTerminalUnit)Fluid stream outlet port on the load side
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_bheaPorCon (from PartialTerminalUnit)Heat port transferring convective heat to the load
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_bheaPorRad (from PartialTerminalUnit)Heat port transferring radiative heat to the load
BoundaryConditions.WeatherData.BusweaBus (from PartialTerminalUnit)Weather data bus
Modelica.Fluid.Interfaces.FluidPort_aport_aHeaWat (from PartialTerminalUnit)Heating water inlet port
Modelica.Fluid.Interfaces.FluidPort_aport_aChiWat (from PartialTerminalUnit)Chilled water inlet port
Modelica.Fluid.Interfaces.FluidPort_bport_bHeaWat (from PartialTerminalUnit)Heating water outlet port
Modelica.Fluid.Interfaces.FluidPort_bport_bChiWat (from PartialTerminalUnit)Chilled water outlet port

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulQReqHea_flow (from PartialTerminalUnit)Scaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulQReqCoo_flow (from PartialTerminalUnit)Scaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulQActHea_flow (from PartialTerminalUnit)Scaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulQActCoo_flow (from PartialTerminalUnit)Scaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulPHea (from PartialTerminalUnit)Scaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulPCoo (from PartialTerminalUnit)Scaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulPFan (from PartialTerminalUnit)Scaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulPPum (from PartialTerminalUnit)Scaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulMasFloReqHeaWat (from PartialTerminalUnit)Scaling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametermulMasFloReqChiWat (from PartialTerminalUnit)Scaling
Fluid.BaseClasses.MassFlowRateMultipliermulHeaWatFloInl (from PartialTerminalUnit)Mass flow rate multiplier
Fluid.BaseClasses.MassFlowRateMultipliermulHeaWatFloOut (from PartialTerminalUnit)Mass flow rate multiplier
Fluid.BaseClasses.MassFlowRateMultipliermulChiWatFloInl (from PartialTerminalUnit)Mass flow rate multiplier
Fluid.BaseClasses.MassFlowRateMultipliermulChiWatFloOut (from PartialTerminalUnit)Mass flow rate multiplier
Fluid.BaseClasses.MassFlowRateMultipliermulLoaMasFloOut (from PartialTerminalUnit)Load side mass flow rate multiplier
Fluid.BaseClasses.MassFlowRateMultipliermulLoaMasFloInl (from PartialTerminalUnit)Load side mass flow rate multiplier
Fluid.HeatExchangers.RadiantSlabs.BaseClasses.HeatFlowRateMultipliermulHeaFloCon (from PartialTerminalUnit)Convective heat flow rate multiplier
Fluid.HeatExchangers.RadiantSlabs.BaseClasses.HeatFlowRateMultipliermulHeaFloRad (from PartialTerminalUnit)Radiative heat flow rate multiplier
Buildings.Controls.OBC.CDL.Reals.PIDconHeaPI controller for heating
Buildings.Fluid.Movers.FlowControlled_m_flowfan
Buildings.Fluid.HeatExchangers.DryCoilEffectivenessNTUhexHea
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametergaiHeaFloNom
Modelica.Blocks.Sources.RealExpressionQ_flowHea
Fluid.HeatExchangers.WetCoilEffectivenessNTUhexWetNtu
Modelica.Blocks.Sources.RealExpressionQ_flowCoo
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametergaiFloNom2
Buildings.Controls.OBC.CDL.Reals.PIDconCooPI controller for cooling
Buildings.Controls.OBC.CDL.Reals.MultiplyByParametergaiCooFloNomScaling
Utilities.Math.SmoothMaxsmoothMaxC1 maximum

Revisions

  • February 21, 2020, by Antoine Gautier:
    First implementation.