modelHeating

Building Heating System

Information

Basic Idea of the model

This model describes a Building Heating System (BHS) of a dwelling based on a Electric Heat Pump (EHP) with a Heater Rod (HR) as auxiliary heater as heat source, and RoomHeating as heat sink. Key part of this model is a PID-controller and a power splitter. The basic block diagram is shown below.

A PID controller controls the EHP+HR operating point based on a Buffer Storage Tank (BST) temperature set-point. The set-point is given by parameter. The Splitter splits the requested heat flow rate to the EHP and HR based on different ambient and system conditions. For more details, have a look at the Splitter model.

The parameters of the PID-Model were measured at a real EHP. The laboratory experiments were conducted at the SYSLAB at the Technical University of Denmark (DTU). Details of the project and the results can be found at: https://zenodo.org/records/17054821.

Control Bus - external control modes

The model is equiped with a expandable connector called ControlBus. Dependent on the ControlType, different control modes are possible, as described below.

  • Internal: No external control. The internal PID controller is active an controls the BST temperature based on the parameter set value.
  • Limit_P: Active power is limited from outside via controlBus.P_limit.
  • External_P: The internal PID controller is bypassed and a P controller is active, controlling the consumed active power set by controlBus.P_external from the grid. In this operation mode, the HP and HR are active independent from the temperature set point. Useful for externally controlled components, like aggregators.
  • External_T: External temperature set-value controlBus.T_buffer_offset will be used. The internal PID controller is still active.
Note that all external signals are only active if the control bus input controlBus.SignalActive is true. Otherwise, the internal PID controller is active as it is in the mode Internal. When controlBus.SignalActive changes, respective controllers are reinitialized.

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
StringtappingProfilePath""
BooleanuseTappingCyclestrue
TransiEnt.Basics.Units.AirChangeRateairChangeRate0.5
Modelica.Units.SI.SpecificHeatCapacitycp_air1012
Modelica.Units.SI.Densityrho_air1.225
Modelica.Units.SI.Densityrho_water998
Modelica.Units.SI.ThermalConductanceG_conductance(A_wall*U_wall + A_window*U_window + A_roof*U_roof + A_ground*U_ground)
Modelica.Units.SI.ThermalConductanceG_ventilationairChangeRate*cp_air*rho_air*V_air/3600
Building Geometry
Modelica.Units.SI.AreaA_livingliving area
Modelica.Units.SI.AreaA_wallarea of exterior walls
Modelica.Units.SI.AreaA_windowarea of windows
Modelica.Units.SI.AreaA_roofarea of rooftop
Modelica.Units.SI.AreaA_groundarea of building ground
Modelica.Units.SI.VolumeV_airVolume of air
Building Thermodynamics
Modelica.Units.SI.CoefficientOfHeatTransferU_wallheat transfer coefficient of walls
Modelica.Units.SI.CoefficientOfHeatTransferU_windowheat transfer coefficient of windows
Modelica.Units.SI.CoefficientOfHeatTransferU_roofheat transfer coefficient of rooftop
Modelica.Units.SI.CoefficientOfHeatTransferU_groundheat transfer coefficient of building ground
Modelica.Units.SI.HeatCapacitythermalMasstotal thermal mass of building
Heating System
Modelica.Units.SI.HeatFlowRateQ_HP10e3nominal heat output of heat pump
Modelica.Units.SI.HeatFlowRateQ_HR6e3maximum heat output of heater rod
Modelica.Units.SI.TemperatureT_HP_amb_min273.15 - 15minimal ambient temperature for heat pump
Modelica.Units.SI.TemperatureT_HP_bivalence273.15 - 3minimal ambient temperature for heat pump
Modelica.Units.SI.TemperatureT_HP_sup_max273.15 + 65maximum supply temperature for heat pump
Modelica.Units.SI.TemperatureT_HP_sup_min273.15 + 40minimum supply temperature for heat pump
Modelica.Units.SI.Timet_onOff_minOff300time between heat pump state change from off to on
Modelica.Units.SI.Timet_onOff_minOn180time between heat pump state change from on to off
Modelica.Units.SI.VolumeV_HS0.8volume of heat storage
Modelica.Units.SI.TemperatureT_room_set273.15 + 21set point of room temperature
Modelica.Units.SI.TemperatureT_buffer_set273.15 + 50set point of room temperature
External Control
ControlTypecontrolTypeTransiEnt.Basics.Types.ControlType.InternalType of control (see enumeration)
BooleanbusActivefalseActivate heat pump control bus
Initialization
InitinitTypeInit.NoInitType of initialization (1: no init, 2: steady state, others do not apply)
Modelica.Units.SI.TemperatureT_buffer_start323.15Buffer tank initialization temperature

Connectors

TypeNameDefaultDescription
TransiEnt.Basics.Interfaces.Electrical.ComplexPowerPortepp
TransiEnt.Basics.Interfaces.General.TemperatureInT_amb
TransiEnt.Basics.Interfaces.General.ControlBuscontrolBus

Components

TypeNameDefaultDescription
TransiEnt.SimCentersimCenter
TransiEnt.Producer.Heat.Power2Heat.Heatpump.Heatpumpheatpump
Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlowheaterRod
TransiEnt.Components.Boundaries.Electrical.ComplexPower.PQBoundarypq_heaterRod
Modelica.Thermal.HeatTransfer.Components.HeatCapacitorbufferTank
Modelica.Thermal.HeatTransfer.Components.HeatCapacitorbufferTank2
Modelica.Thermal.HeatTransfer.Components.ThermalConductorthermalConductor
Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensorT_bufferTank
Modelica.Blocks.Continuous.FirstOrderT_delay
TransiEnt.Producer.Heat.Power2Heat.Heatpump.Controller.Base.Splittersplitter
RoomHeatingroomHeating
TransiEnt.Basics.Blocks.PID_reset_limPID_Storage
TransiEnt.Basics.Blocks.Hysteresis_withDelayhysteresis_withDelay
Modelica.Blocks.Sources.RealExpressionT_buffer_set_
Modelica.Blocks.Sources.RealExpressionT_room_set_
Modelica.Blocks.Logical.Notnot1
Modelica.Blocks.Sources.RealExpressionQ_varLimiter_min
TransiEnt.Components.Sensors.ElectricPowerComplexmeasuring_power
TransiEnt.Producer.Heat.Power2Heat.Heatpump.Controller.LimitControllerlimitController
Modelica.Blocks.Logical.Oror1
Modelica.Blocks.Logical.Notnot2
Modelica.Blocks.Math.AddT_buffer_add
Modelica.Blocks.Sources.RealExpressionQ_varLimiter_max
Modelica.Blocks.Sources.RealExpressionSOCState of charge of the buffer tank. Could be below zero or above one in case of extraordinary but physically possible temperatures.
Modelica.Blocks.Sources.RealExpressionP_min_
Modelica.Blocks.Logical.Switchswitch_controller
Modelica.Units.SI.TemperatureT_meanbufferTank.T*bufferTank.C/(bufferTank.C + bufferTank2.C) + bufferTank2.T*bufferTank2.C/(bufferTank.C + bufferTank2.C)
Modelica.Blocks.Sources.RealExpressionP_el_max
Modelica.Blocks.Sources.RealExpressionP_HP_max
Modelica.Blocks.Sources.BooleanExpressionHP_blocked
Modelica.Blocks.Sources.BooleanExpressionHP_status
TransiEnt.Producer.Heat.Power2Heat.Heatpump.Controller.ActivePowerControllerhP_P_controller
Modelica.Blocks.Sources.RealExpressionSOC_dynDynamic SOC according to minimal buffer tank temperature needed
TappingCyclestappingCycles