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
| Type | Name | Default | Description |
|---|---|---|---|
| Assumptions | |||
| Boolean | allowFlowReversal1 (from PartialFourPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
| Boolean | allowFlowReversal2 (from PartialFourPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
| Nominal condition | |||
| Modelica.SIunits.MassFlowRate | m1_flow_nominal (from PartialFourPortInterface) | Nominal mass flow rate | |
| Modelica.SIunits.MassFlowRate | m2_flow_nominal (from PartialFourPortInterface) | Nominal mass flow rate | |
| Advanced | |||
| Medium1.MassFlowRate | m1_flow_small (from PartialFourPortInterface) | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Medium2.MassFlowRate | m2_flow_small (from PartialFourPortInterface) | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialFourPortInterface) | false | = true, if actual temperature at port is computed |
| Flow resistance › Primary side | |||
| Boolean | from_dp (from BaseStation) | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearizeFlowResistance (from BaseStation) | false | = true, use linear relation between m_flow and dp for any flow rate |
| Primary side | |||
| Modelica.SIunits.Power | Q1_flow_nominal (from BaseStation) | m1_flow_nominal*(TemSup1_nominal - TemRet1_nominal)*cp_default | Nominal heat flow rate at primary side |
| Modelica.SIunits.Temperature | TemSup1_nominal (from BaseStation) | 80.0 + 273.15 | Nominal supply temperature |
| Modelica.SIunits.Temperature | TemRet1_nominal (from BaseStation) | 45.0 + 273.15 | Nominal return temperature |
| Modelica.SIunits.PressureDifference | dp1_nominal (from BaseStation) | Nominal pressure difference | |
| Secondary side | |||
| Modelica.SIunits.Power | Q2_flow_nominal (from BaseStation) | m2_flow_nominal*(TemSup2_nominal - TemRet2_nominal)*cp_default | Nominal heat flow rate at primary side |
| Modelica.SIunits.Temperature | TemSup2_nominal (from BaseStation) | 60.0 + 273.15 | Nominal supply temperature |
| Modelica.SIunits.Temperature | TemRet2_nominal (from BaseStation) | 35.0 + 273.15 | Nominal return temperature |
| Boolean | OutsideDependent (from BaseStation) | false | Outside temperature dependent secondary supply temperature |
| Temperature control secondary side | |||
| Modelica.SIunits.Temperature | TemOut_max | 15.0 + 273.15 | Outdoor temperature where minimum secondary supply temperature is needed |
| Modelica.SIunits.Temperature | TemOut_min | -5.0 + 273.15 | Outdoor temperature where maximum secondary supply temperature is needed |
| Modelica.SIunits.Temperature | TemSup2_min | 50.0 + 273.15 | Secondary supply temperature where maximum outdoor temperature is reached |
| Modelica.SIunits.Temperature | TemSup2_max | 60.0 + 273.15 | Secondary supply temperature where minimum outdoor temperature is reached |
| Heat exchanger and flow | |||
| Modelica.SIunits.Efficiency | hex_efficiency | 0.90 | Constant efficiency of the heat exchanger |
| Modelica.SIunits.PressureDifference | dp_hex_nominal | 0 | Nominal pressure difference at the heat exchanger at primary side |
| Real | k | 0.01 | Gain of flow controller |
| Modelica.SIunits.Time | Ti | 120 | Time constant of Integrator block of flow controller |
| Real | min_y | 0.0 | Minimum position of flow controller (e.g, to mimic bypass) |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a1 (from PartialFourPort) | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b1 (from PartialFourPort) | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) | |
| Modelica.Fluid.Interfaces.FluidPort_a | port_a2 (from PartialFourPort) | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b2 (from PartialFourPort) | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a | port_ht (from BaseStation) | Outside temperature port | |
| Modelica.Blocks.Interfaces.RealOutput | P (from BaseStation) | Electric power |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Medium1.MassFlowRate | m1_flow (from PartialFourPortInterface) | port_a1.m_flow | Mass flow rate from port_a1 to port_b1 (m1_flow > 0 is design flow direction) |
| Modelica.SIunits.PressureDifference | dp1 (from PartialFourPortInterface) | port_a1.p - port_b1.p | Pressure difference between port_a1 and port_b1 |
| Medium2.MassFlowRate | m2_flow (from PartialFourPortInterface) | port_a2.m_flow | Mass flow rate from port_a2 to port_b2 (m2_flow > 0 is design flow direction) |
| Modelica.SIunits.PressureDifference | dp2 (from PartialFourPortInterface) | port_a2.p - port_b2.p | Pressure difference between port_a2 and port_b2 |
| Medium1.ThermodynamicState | sta_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.ThermodynamicState | sta_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.ThermodynamicState | sta_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.ThermodynamicState | sta_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.RealExpression | total_power (from BaseStation) | sum of all power consumption/generation in component | |
| IBPSA.Fluid.HeatExchangers.ConstantEffectiveness | hex | ||
| IBPSA.Fluid.Sensors.TemperatureTwoPort | senTem | ||
| Controls.TemSup_control | TemSup_controller | outside temperature dependent supply temperature set-point | |
| Modelica.Blocks.Sources.RealExpression | TConst | ||
| Controls.flow_control | valve_control | ||
| Supply.Supply_T | electricBoosterHeater | ||
| DisHeatLib.BaseClasses.FlowUnit | flowUnit |
Revisions
- Feburary 27, 2019, by Benedikt Leitner:
Implementation and added User's guide.