modelSubstationCascade
Extends from DisHeatLib.Substations.BaseClasses.SubstationCascadeInterface.
Information
This is a model for a district heating substation with a single subtation together with an optional bypass valve. The bypass valve can be used to ensure a minimum supply temperature at the connection point at the primary side.
Care must be taken when chosing the nominal values for differential presure, mass flow and/or heat load, as different issues might occure:
- In cases where the differential pressure is below its nominal value, the nominal mass flow is not reached. Thus, in times of high heat demand, not enough heat might be delivered to the individual stations.
- For differential pressure above the nominal value, the mass flow through the valve might be quite high. This, can lead to a flicker in the valve controllers in the base stations.
- Nominal values of mass flow should be chosen such that the heat load can be satisfied (maybe even with supply and return temperatures away from their nominal value).
- Nominal heat load should not be set too strict, as nominal values for supply and return temperature are used to derive nominal mass flow values.
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 | |
| Modelica.SIunits.MassFlowRate | m1_flow_nominal_supply (from SubstationCascadeInterface) | Q1_flow_nominal_supply/((TemSup1_nominal - TemRet1_nominal)*cp_default) | Nominal mass flow rate (port_c1) |
| 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 SubstationCascadeInterface) | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearizeFlowResistance (from SubstationCascadeInterface) | false | = true, use linear relation between m_flow and dp for any flow rate |
| Primary side | |||
| Modelica.SIunits.Power | Q1_flow_nominal (from SubstationCascadeInterface) | m1_flow_nominal*(TemRet1_supply_nominal - TemRet1_nominal)*cp_default | Nominal heat flow rate at primary side |
| Modelica.SIunits.Power | Q1_flow_nominal_supply (from SubstationCascadeInterface) | m1_flow_nominal_supply*(TemSup1_nominal - TemRet1_nominal)*cp_default | Nominal heat flow rate at primary side taken from supply line |
| Modelica.SIunits.Temperature | TemSup1_nominal (from SubstationCascadeInterface) | 80.0 + 273.15 | Nominal supply temperature |
| Modelica.SIunits.Temperature | TemRet1_supply_nominal (from SubstationCascadeInterface) | 45.0 + 273.15 | Nominal return temperature |
| Modelica.SIunits.Temperature | TemRet1_nominal (from SubstationCascadeInterface) | 35.0 + 273.15 | Nominal return temperature after cascading |
| Modelica.SIunits.PressureDifference | dp1_nominal (from SubstationCascadeInterface) | dp_hex_nominal + dpCheckValve_nominal | Nominal pressure difference of pump (port_a1 to port_b1) |
| Modelica.SIunits.PressureDifference | dp1_nominal_supply (from SubstationCascadeInterface) | Nominal pressure difference of valve (port_c1 to port_b1) | |
| Modelica.SIunits.PressureDifference | dpCheckValve_nominal (from SubstationCascadeInterface) | 5000 | Nominal pressure drop of fully open check valve, used if CvData=IBPSA.Fluid.Types.CvTypes.OpPoint |
| Modelica.SIunits.TemperatureDifference | TemSupMargin (from SubstationCascadeInterface) | 5.0 | Temperature difference of primary supply inlet and secondary supply setpoint |
| Secondary side | |||
| Modelica.SIunits.Power | Q2_flow_nominal (from SubstationCascadeInterface) | m2_flow_nominal*(TemSup2_nominal - TemRet2_nominal)*cp_default | Nominal heat flow rate at primary side |
| Modelica.SIunits.Temperature | TemSup2_nominal (from SubstationCascadeInterface) | 60.0 + 273.15 | Nominal supply temperature |
| Modelica.SIunits.Temperature | TemRet2_nominal (from SubstationCascadeInterface) | 35.0 + 273.15 | Nominal return temperature |
| Boolean | OutsideDependent (from SubstationCascadeInterface) | false | Outside temperature dependent secondary supply temperature |
| Temperature control secondary side | |||
| Modelica.SIunits.Temperature | TemOut_max (from SubstationCascadeInterface) | 15.0 + 273.15 | Outdoor temperature where minimum secondary supply temperature is needed |
| Modelica.SIunits.Temperature | TemOut_min (from SubstationCascadeInterface) | -5.0 + 273.15 | Outdoor temperature where maximum secondary supply temperature is needed |
| Modelica.SIunits.Temperature | TemSup2_min (from SubstationCascadeInterface) | 50.0 + 273.15 | Secondary supply temperature where maximum outdoor temperature is reached |
| Modelica.SIunits.Temperature | TemSup2_max (from SubstationCascadeInterface) | 60.0 + 273.15 | Secondary supply temperature where minimum outdoor temperature is reached |
| Heat exchanger | |||
| Modelica.SIunits.Efficiency | hex_efficiency (from SubstationCascadeInterface) | 0.90 | Constant efficiency of the heat exchanger |
| Modelica.SIunits.PressureDifference | dp_hex_nominal (from SubstationCascadeInterface) | 0 | Nominal pressure difference at the heat exchanger at primary side |
| Pump control | |||
| Real | k (from SubstationCascadeInterface) | 0.01 | Gain of flow controller |
| Modelica.SIunits.Time | Ti (from SubstationCascadeInterface) | 120 | Time constant of Integrator block of flow controller |
| Valve control | |||
| Real | k_valve (from SubstationCascadeInterface) | 0.01 | Gain of controller |
| Modelica.SIunits.Time | Ti_valve (from SubstationCascadeInterface) | 30 | Time constant of Integrator block |
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.Fluid.Interfaces.FluidPort_a | port_c1 (from SubstationCascadeInterface) | Fluid connector c1 (positive design flow direction is from port_c1 to port_b1) | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a | port_ht | Outside temperature port |
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 |
| Medium1.MassFlowRate | m1_flow_supply (from SubstationCascadeInterface) | port_c1.m_flow | Mass flow rate from port_a1 to port_b1 (m1_flow > 0 is design flow direction) |
| Modelica.SIunits.PressureDifference | dp1_supply (from SubstationCascadeInterface) | port_c1.p - port_b1.p | Pressure difference between port_c1 and port_b1 |
| Medium1.ThermodynamicState | sta_c1 (from SubstationCascadeInterface) | Medium1.setState_phX(port_c1.p, noEvent(actualStream(port_c1.h_outflow)), noEvent(actualStream(port_c1.Xi_outflow))) | Medium properties in port_c1 |
| IBPSA.Fluid.HeatExchangers.ConstantEffectiveness | hex | ||
| IBPSA.Fluid.Sensors.TemperatureTwoPort | senTem2 | ||
| DisHeatLib.Controls.TemSup_control | TemSup_controller | outside temperature dependent supply temperature set-point | |
| Modelica.Blocks.Sources.RealExpression | TConst | ||
| DisHeatLib.Controls.flow_control | pump_control | ||
| DisHeatLib.BaseClasses.FlowUnit | flowUnit | ||
| IBPSA.Fluid.FixedResistances.CheckValve | cheVal | ||
| IBPSA.Fluid.Movers.FlowControlled_dp | pump | ||
| Modelica.Blocks.Math.Gain | gain | ||
| DisHeatLib.Controls.flow_control | valve_control | ||
| IBPSA.Fluid.Sensors.TemperatureTwoPort | senTem1 | ||
| Modelica.Blocks.Sources.RealExpression | TConst1 | ||
| IBPSA.Fluid.FixedResistances.Junction | jun |
Revisions
- Feburary 27, 2019, by Benedikt Leitner:
Implementation and added User's guide.