modelIndirectStationEBH

Extends from BaseClasses.BaseStation.

Information

This is a model for an indirect district heating substation. Its main components are a heat exchanger, a flow regulating valve/pump, an expansion vessel and controller that maintains the temperature at the secondary side by setting the position of the flow regulating valve/pump. The supply temperature setpoint at the secondary side can thereby be set to a constant or can be changed depending on the outside temperature.

A mismatch between the setpoint and the actual value of the secondary supply temperature can have different reasons:

  • The differential pressure at the station is too low, resulting in a too low mass flow at the primary side even if the valve is completely open.
  • The nominal mass flow rate at the primary side is too low, leading to a too low secondary supply temperature even with a fully opend valve.
  • The supply temperature at the primary side is too low, i.e., lower than the secondary supply temperature setpoint, leading to a fully opened valve.


Redimensioning the substation, e.g., by using a more efficient heat exchanger or a higher differential pressure at the primary side, might solve these issues.

Parameters

TypeNameDefaultDescription
Assumptions
BooleanallowFlowReversal1 (from PartialFourPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1
BooleanallowFlowReversal2 (from PartialFourPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2
Nominal condition
Modelica.SIunits.MassFlowRatem1_flow_nominal (from PartialFourPortInterface)Nominal mass flow rate
Modelica.SIunits.MassFlowRatem2_flow_nominal (from PartialFourPortInterface)Nominal mass flow rate
Advanced
Medium1.MassFlowRatem1_flow_small (from PartialFourPortInterface)1E-4*abs(m1_flow_nominal)Small mass flow rate for regularization of zero flow
Medium2.MassFlowRatem2_flow_small (from PartialFourPortInterface)1E-4*abs(m2_flow_nominal)Small mass flow rate for regularization of zero flow
Advanced › Diagnostics
Booleanshow_T (from PartialFourPortInterface)false= true, if actual temperature at port is computed
Flow resistance › Primary side
Booleanfrom_dp (from BaseStation)false= true, use m_flow = f(dp) else dp = f(m_flow)
BooleanlinearizeFlowResistance (from BaseStation)false= true, use linear relation between m_flow and dp for any flow rate
Primary side
Modelica.SIunits.PowerQ1_flow_nominal (from BaseStation)m1_flow_nominal*(TemSup1_nominal - TemRet1_nominal)*cp_defaultNominal heat flow rate at primary side
Modelica.SIunits.TemperatureTemSup1_nominal (from BaseStation)80.0 + 273.15Nominal supply temperature
Modelica.SIunits.TemperatureTemRet1_nominal (from BaseStation)45.0 + 273.15Nominal return temperature
Modelica.SIunits.PressureDifferencedp1_nominal (from BaseStation)Nominal pressure difference
Secondary side
Modelica.SIunits.PowerQ2_flow_nominal (from BaseStation)m2_flow_nominal*(TemSup2_nominal - TemRet2_nominal)*cp_defaultNominal heat flow rate at primary side
Modelica.SIunits.TemperatureTemSup2_nominal (from BaseStation)60.0 + 273.15Nominal supply temperature
Modelica.SIunits.TemperatureTemRet2_nominal (from BaseStation)35.0 + 273.15Nominal return temperature
BooleanOutsideDependent (from BaseStation)falseOutside temperature dependent secondary supply temperature
Temperature control secondary side
Modelica.SIunits.TemperatureTemOut_max15.0 + 273.15Outdoor temperature where minimum secondary supply temperature is needed
Modelica.SIunits.TemperatureTemOut_min-5.0 + 273.15Outdoor temperature where maximum secondary supply temperature is needed
Modelica.SIunits.TemperatureTemSup2_min50.0 + 273.15Secondary supply temperature where maximum outdoor temperature is reached
Modelica.SIunits.TemperatureTemSup2_max60.0 + 273.15Secondary supply temperature where minimum outdoor temperature is reached
Heat exchanger and flow
Modelica.SIunits.Efficiencyhex_efficiency0.90Constant efficiency of the heat exchanger
Modelica.SIunits.PressureDifferencedp_hex_nominal0Nominal pressure difference at the heat exchanger at primary side
Realk0.01Gain of flow controller
Modelica.SIunits.TimeTi120Time constant of Integrator block of flow controller
Realmin_y0.0Minimum position of flow controller (e.g, to mimic bypass)

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a1 (from PartialFourPort)Fluid connector a1 (positive design flow direction is from port_a1 to port_b1)
Modelica.Fluid.Interfaces.FluidPort_bport_b1 (from PartialFourPort)Fluid connector b1 (positive design flow direction is from port_a1 to port_b1)
Modelica.Fluid.Interfaces.FluidPort_aport_a2 (from PartialFourPort)Fluid connector a2 (positive design flow direction is from port_a2 to port_b2)
Modelica.Fluid.Interfaces.FluidPort_bport_b2 (from PartialFourPort)Fluid connector b2 (positive design flow direction is from port_a2 to port_b2)
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_aport_ht (from BaseStation)Outside temperature port
Modelica.Blocks.Interfaces.RealOutputP (from BaseStation)Electric power

Components

TypeNameDefaultDescription
Medium1.MassFlowRatem1_flow (from PartialFourPortInterface)port_a1.m_flowMass flow rate from port_a1 to port_b1 (m1_flow > 0 is design flow direction)
Modelica.SIunits.PressureDifferencedp1 (from PartialFourPortInterface)port_a1.p - port_b1.pPressure difference between port_a1 and port_b1
Medium2.MassFlowRatem2_flow (from PartialFourPortInterface)port_a2.m_flowMass flow rate from port_a2 to port_b2 (m2_flow > 0 is design flow direction)
Modelica.SIunits.PressureDifferencedp2 (from PartialFourPortInterface)port_a2.p - port_b2.pPressure difference between port_a2 and port_b2
Medium1.ThermodynamicStatesta_a1 (from PartialFourPortInterface)Medium1.setState_phX(port_a1.p, noEvent(actualStream(port_a1.h_outflow)), noEvent(actualStream(port_a1.Xi_outflow)))Medium properties in port_a1
Medium1.ThermodynamicStatesta_b1 (from PartialFourPortInterface)Medium1.setState_phX(port_b1.p, noEvent(actualStream(port_b1.h_outflow)), noEvent(actualStream(port_b1.Xi_outflow)))Medium properties in port_b1
Medium2.ThermodynamicStatesta_a2 (from PartialFourPortInterface)Medium2.setState_phX(port_a2.p, noEvent(actualStream(port_a2.h_outflow)), noEvent(actualStream(port_a2.Xi_outflow)))Medium properties in port_a2
Medium2.ThermodynamicStatesta_b2 (from PartialFourPortInterface)Medium2.setState_phX(port_b2.p, noEvent(actualStream(port_b2.h_outflow)), noEvent(actualStream(port_b2.Xi_outflow)))Medium properties in port_b2
Modelica.Blocks.Sources.RealExpressiontotal_power (from BaseStation)sum of all power consumption/generation in component
IBPSA.Fluid.HeatExchangers.ConstantEffectivenesshex
IBPSA.Fluid.Sensors.TemperatureTwoPortsenTem
Controls.TemSup_controlTemSup_controlleroutside temperature dependent supply temperature set-point
Modelica.Blocks.Sources.RealExpressionTConst
Controls.flow_controlvalve_control
Supply.Supply_TelectricBoosterHeater
DisHeatLib.BaseClasses.FlowUnitflowUnit

Revisions

  • Feburary 27, 2019, by Benedikt Leitner:
    Implementation and added User's guide.