modelRoomHeating

Room Heating model according to DIN 12831 Part 1 with simplified building envelope model

Information

Model equations

The RoomHeating model describes basic building heating thermodynamics. A PI controller with anti-windup controls the building temperature by calculating the heat flow. A limiter with variable upper limit restricts the maximal possible heat flow between the heat exchanger (floor heating) and the room itself. The heat transfer is simplified by calculating:

Q = kA * (theta_supply - theta_room)

  • kA: Heat transfer coefficient between floor heating and room
  • theta_supply: Supply temperature
  • theta_room: Room temperature

The kA Value is calculated by the nominal heating load (NHL) at nominal temperature difference. It is assumed, that the floor heating is designed for this case:

Option 1

The kA value is calculated by NHL and a fixed assumed temperature difference at nominal operating conditions.

kA = NHL / (theta_supply_nom - theta_room)

  • NHL: Nominal Heating Load
  • theta_supply_nom: Nominal room temperature (usually 21 deg C)
Option 2 (default)

Calculation based on nominal k Values for different buildings. From a given U_total value, the construction year of the building is derived. Based on this number, the corresponding kA-value is calculated by a construction year specific nominal supply temperature for the heating system. The numbers are derived from the DIN EN 12831 Part 1.

Further informations

Between building and environment, the heat flow is calculated by conduction (thermal transmittance) and convection (ventilation). The coefficiencts should be calculated externally and are affected by many assumptions. The same applies to the calculation of the NHL.

In order to consider the inertia of the floor heating, a first order block introduces a delay between the controller output and the heat flow rate. Otherwise, incidetally, there is no delay in the controller loop making the PI controller obslote. Neglecting the intertia, a simple P controller with infinite gain would be sufficient, but is physically not meaningful.

Initialization

There are two possible initalization methods for this block, as defined in Modelica.Blocks.Types.Init

initType


NoInit

No initialization. States are zero

SteadyState

Initialization in steady state

InitialState

Not applicable

InitialOutput

Not applicable

  • NoInit: The system is initialized with states equal to zero. This is equivalent to a switched off system for simulation start. It can be useful to if the start of all components and controllers should be simulated.
  • SteadyState: The system is initialized in steady state. All derivatives are zero, and the states are calculated accordingly.

Parameters

TypeNameDefaultDescription
Modelica.Units.SI.HeatCapacityC30e6Heat capacity of consumer (= cp * m)
Modelica.Units.SI.ThermalConductanceG_conductance200Constant thermal conductance of consumer
Modelica.Units.SI.ThermalConductanceG_ventilation100Heat dissipation due to ventilation (calculated as thermal conductance)
Modelica.Units.SI.CoefficientOfHeatTransferU_totaltotal heat transfer coefficient of building
Modelica.Units.SI.AreaA_living100Living area
Real[2,2]T_supply_per_year[1995, 45; 2015, 36]
Real[2,2]U_per_year[1995, 0.51; 2015, 0.35]
Modelica.Units.SI.HeatFlowRateNHL_calcNHL*1.3
Integerconstruction_yearinteger(floor(Modelica.Math.Vectors.interpolate(Modelica.Math.Vectors.reverse(U_per_year[:, 2]), Modelica.Math.Vectors.reverse(U_per_year[:, 1]), U_total)))
Modelica.Units.SI.ThermalConductancekA_floorNHL/(Modelica.Math.Vectors.interpolate(T_supply_per_year[:, 1], T_supply_per_year[:, 2], construction_year) - 21)
Nominal values
Modelica.Units.SI.HeatFlowRateNHL10e3Nominal heating load
Modelica.Units.SI.TemperatureT_stor_nom273.15 + 45Nominal supply temperature at nominal conditions
Modelica.Units.SI.TemperatureT_room_nom273.15 + 21Nominal room temperature
Modelica.Units.SI.TemperatureT_amb_nom273.15 - 10Nominal ambient temperature
Initialization
Modelica.Units.SI.TemperatureT_room_start273.15 + 21Initial room temperature
InitinitTypeInit.NoInitType of initialization (1: no init, 2: steady state, others do not apply)
Controller
Realk_P10000Gain of PI controller
Realk_Ti60Integrator time constant of PI controller
External Control
ControlTypecontrolTypeTransiEnt.Basics.Types.ControlType.InternalType of control (see enumeration)

Connectors

TypeNameDefaultDescription
TransiEnt.Basics.Interfaces.General.TemperatureInT_amb
TransiEnt.Basics.Interfaces.General.TemperatureInT_room_set
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_aheatPort_supply
TransiEnt.Basics.Interfaces.General.TemperatureInT_room_offset
Modelica.Blocks.Interfaces.RealOutputT_bt_minMinimal buffer tank storage temperature needed for keeping nominal room temperature

Components

TypeNameDefaultDescription
Modelica.Thermal.HeatTransfer.Components.HeatCapacitorthermalMass
Modelica.Thermal.HeatTransfer.Components.ThermalConductorheatLossConductance
Modelica.Thermal.HeatTransfer.Components.ThermalConductorheatLossVentilation
Modelica.Thermal.HeatTransfer.Celsius.PrescribedTemperatureambientTemperature
Modelica.Thermal.HeatTransfer.Celsius.FromKelvintoDeg
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlowprescribedHeatFlow_source
Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensorT_room
TransiEnt.Basics.Blocks.PID_reset_limPI
Modelica.Blocks.Sources.RealExpressionQ_min_
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlowprescribedHeatFlow_sink
Modelica.Blocks.Math.Gaingain
Modelica.Blocks.Continuous.FirstOrderinertia_roomHeating
Modelica.Blocks.Math.Addadd
Modelica.Blocks.Sources.RealExpressionQ_max_
Modelica.Units.SI.HeatFlowRateQ_maxkA_floor*(min(T_stor_nom, heatPort_supply.T) - T_room.T)
Modelica.Units.SI.HeatFlowRateQ_requiredRequired heat flow rate to keep room temperature