modelRadiatorEN442_2

Dynamic radiator for space heating

Extends from Buildings.Fluid.Interfaces.PartialTwoPortInterface (Partial model with two ports and declaration of quantities that are used by many models), Buildings.Fluid.Interfaces.LumpedVolumeDeclarations (Declarations for lumped volumes).

Information

This is a model of a radiator that can be used as a dynamic or steady-state model. The required parameters are data that are typically available from manufacturers that follow the European Norm EN 442-2.

However, to allow for varying mass flow rates, the transferred heat is computed using a discretization along the water flow path, and heat is exchanged between each compartment and a uniform room air and radiation temperature. This discretization is different from the computation in EN 442-2, which may yield water outlet temperatures that are below the room temperature at low mass flow rates. Furthermore, rather than using only one room temperature, this model uses a room air and room radiation temperature.

The transferred heat is modeled as follows: Let N denote the number of elements used to discretize the radiator model. For each element i ∈ {1, … , N}, the convective and radiative heat transfer Qic and Qir from the radiator to the room is

Qic = sign(Ti-Ta) (1-fr) UA ⁄ N |Ti-Ta|n

Qir = sign(Ti-Tr) fr UA ⁄ N |Ti-Tr|n

where Ti is the water temperature of the element, Ta is the temperature of the room air, Tr is the radiative temperature, 0 < fr < 1 is the fraction of radiant to total heat transfer, UA is the UA-value of the radiator, and n is an exponent for the heat transfer. The model computes the UA-value by numerically solving the above equations for given nominal heating power, nominal temperatures, fraction radiant to total heat transfer and exponent for heat transfer.

The parameter energyDynamics (in the Assumptions tab), determines whether the model computes the dynamic or the steady-state response. For the transient response, heat storage is computed using a finite volume approach for the water and the metal mass, which are both assumed to be at the same temperature.

The default parameters for the heat capacities are valid for a flat plate radiator without fins, with one plate of water carying fluid, and a height of 0.42 meters.

Parameters

TypeNameDefaultDescription
BooleanhomotopyInitializationtrue= true, use homotopy method
IntegernEle5Number of elements used in the discretization
RealfraRad0.35Fraction radiant heat transfer
Realn1.24Exponent for heat transfer
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal
Nominal condition
Modelica.Units.SI.MassFlowRatem_flow_nominal (from PartialTwoPortInterface)Nominal mass flow rate
Modelica.Units.SI.PowerQ_flow_nominalNominal heating power (positive for heating)
Modelica.Units.SI.TemperatureT_a_nominalWater inlet temperature at nominal condition
Modelica.Units.SI.TemperatureT_b_nominalWater outlet temperature at nominal condition
Modelica.Units.SI.TemperatureTAir_nominal293.15Air temperature at nominal condition
Modelica.Units.SI.TemperatureTRad_nominalTAir_nominalRadiative temperature at nominal condition
Modelica.Units.SI.PressureDifferencedp_nominal0Pressure drop at nominal mass flow rate
Advanced
Modelica.Units.SI.MassFlowRatem_flow_small (from PartialTwoPortInterface)1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow
Booleanfrom_dpfalse= true, use m_flow = f(dp) else dp = f(m_flow)
Booleanlinearizedfalse= true, use linear relation between m_flow and dp for any flow rate
Advanced › Diagnostics
Booleanshow_T (from PartialTwoPortInterface)false= true, if actual temperature at port is computed
Dynamics › Conservation equations
Modelica.Fluid.Types.DynamicsenergyDynamics (from LumpedVolumeDeclarations)Modelica.Fluid.Types.Dynamics.DynamicFreeInitialType of energy balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicssubstanceDynamics (from LumpedVolumeDeclarations)energyDynamicsType of independent mass fraction balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicstraceDynamics (from LumpedVolumeDeclarations)energyDynamicsType of trace substance balance: dynamic (3 initialization options) or steady state
Advanced › Dynamics
Modelica.Fluid.Types.DynamicsmassDynamics (from LumpedVolumeDeclarations)energyDynamicsType of mass balance: dynamic (3 initialization options) or steady state, must be steady state if energyDynamics is steady state
Initialization
Medium.AbsolutePressurep_start (from LumpedVolumeDeclarations)Medium.p_defaultStart value of pressure
Medium.TemperatureT_start (from LumpedVolumeDeclarations)Medium.T_defaultStart value of temperature
Medium.MassFraction[Medium.nX]X_start (from LumpedVolumeDeclarations)Medium.X_defaultStart value of mass fractions m_i/m
Medium.ExtraProperty[Medium.nC]C_start (from LumpedVolumeDeclarations)fill(0, Medium.nC)Start value of trace substances
Medium.ExtraProperty[Medium.nC]C_nominal (from LumpedVolumeDeclarations)fill(1E-2, Medium.nC)Nominal value of trace substances. (Set to typical order of magnitude.)
Dynamics
RealmSenFac (from LumpedVolumeDeclarations)1Factor for scaling the sensible thermal mass of the volume
Modelica.Units.SI.VolumeVWat5.8E-6*abs(Q_flow_nominal)Water volume of radiator
Modelica.Units.SI.MassmDry0.0263*abs(Q_flow_nominal)Dry mass of radiator that will be lumped to water heat capacity
Transition to laminar
RealdeltaM0.3Fraction of nominal mass flow rate where transition to turbulent occurs

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialTwoPort)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialTwoPort)Fluid connector b (positive design flow direction is from port_a to port_b)
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_aheatPortConHeat port for convective heat transfer with room air temperature
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_aheatPortRadHeat port for radiative heat transfer with room radiation temperature

Components

TypeNameDefaultDescription
Modelica.Units.SI.MassFlowRatem_flow (from PartialTwoPortInterface)port_a.m_flowMass flow rate from port_a to port_b (m_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedp (from PartialTwoPortInterface)port_a.p - port_b.pPressure difference between port_a and port_b
Medium.ThermodynamicStatesta_a (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_a.p, noEvent(actualStream(port_a.h_outflow)), noEvent(actualStream(port_a.Xi_outflow))) else Medium.setState_phX(port_a.p, noEvent(inStream(port_a.h_outflow)), noEvent(inStream(port_a.Xi_outflow)))Medium properties in port_a
Medium.ThermodynamicStatesta_b (from PartialTwoPortInterface)if allowFlowReversal then Medium.setState_phX(port_b.p, noEvent(actualStream(port_b.h_outflow)), noEvent(actualStream(port_b.Xi_outflow))) else Medium.setState_phX(port_b.p, noEvent(port_b.h_outflow), noEvent(port_b.Xi_outflow))Medium properties in port_b
Modelica.Units.SI.HeatFlowRateQCon_flowheatPortCon.Q_flowHeat input into the water due to convective heat transfer with room air
Modelica.Units.SI.HeatFlowRateQRad_flowheatPortRad.Q_flowHeat input into the water due to radiative heat transfer with room
Modelica.Units.SI.HeatFlowRateQ_flowQCon_flow + QRad_flowHeat input into the water
Buildings.Fluid.MixingVolumes.MixingVolumevolVolume for fluid stream

Revisions

  • June 17, 2026, by Michael Wetter:
    Updated implementation to allow a flow coefficient n that is different from 2. This allows use of the model for not fully turbulent flow.
    This is for Buildings, #4620.
  • March 7, 2022, by Michael Wetter:
    Set final massDynamics=energyDynamics.
    This is for #1542.
  • April 14, 2020, by Michael Wetter:
    Changed homotopyInitialization to a constant.
    This is for IBPSA, #1341.
  • February 21, 2020, by Michael Wetter:
    Changed icon to display its operating state.
    This is for #1294.
  • November 17, 2016, by Filip Jorissen:
    Added pressure drop equations and parameters.
    This is for #586.
  • November 3, 2016, by Michael Wetter:
    Set preHea(final alpha=0) as this allows to simplify the system of equations.
    This is for #570.
  • March 17, 2016, by Michael Wetter:
    Reformulated model to reduce the dimension of the nonlinear system of equations. This is for #435.
  • November 19, 2015, by Michael Wetter:
    Removed assignment of parameter showDesignFlowDirection in extends statement. This is for #349.
  • April 11, 2015, by Filip Jorissen:
    Propagated vol.massDynamics to top level parameter massDynamics instead of energyDynamics.
  • November 25, 2014, by Carles Ribas Tugores:
    Interchange position of fraRad parameter and the complementary (1-fraRad) in the equation used to calculate the nominal heating power of each element, QEle_flow_nominal[i].
  • October 29, 2014, by Michael Wetter:
    Made assignment of mFactor final, and changed computation of density to use default medium states as are also used to compute the specific heat capacity.
  • October 21, 2014, by Filip Jorissen:
    Added parameter mFactor and removed thermal capacity which can lead to an index reduction.
  • May 29, 2014, by Michael Wetter:
    Removed undesirable annotation Evaluate=true.
  • October 8, 2013 by Michael Wetter:
    Removed conditional statement in the declaration of the parameter mDry, as this is incorrect syntax.
  • September 26, 2013 by Michael Wetter:
    Reformulated implementation to avoid mixing textual and graphical declarations in the equation section.
  • April 4, 2011 by Michael Wetter:
    Changed the implementation to use Buildings.Utilities.Math.Functions.regNonZeroPower. This allows formulating the model without any non-differentiable function inside the equation section.
  • April 2, 2011 by Michael Wetter:
    Added homotopy operator.
  • February 11, 2011 by Michael Wetter:
    Revised the initialization to ensure that at the nominal conditions, the amount of transferred heat is excatly the same as the specified nominal power. In the previous implementation, the UA-value was computed using a simplified expression for the temperature difference, leading to a slightly different amount of heat transfer.
  • February 4, 2011 by Michael Wetter:
    Simplified implementation.
  • January 30, 2009 by Michael Wetter:
    First implementation.