modelDH_dhc2021_example

Example used in DHC 2021 conference

Extends from dhcSim.DHC.Networks.BaseClasses.BaseGrid (Base class for grid module).

Information

This network can be characterized as a three-level district heating network with decentralized feed-in. A graphical scheme of this network is shown in the figure (a) and (b) below. The horizontal structure of the district heating (DH) network from Figure (a) represents the geographical alignment of the network. It shows a simple branch structure without loops, to which four consumers (C1-C4), two central producers (P1, P2) and two decentral producers (DP1 and DP2) are connected. The vertical network structure of the used example from Figure (b) represents a vertical plane perspective of the network in which the multiple network levels and their interaction with consumers and producers can be identified. Within the vertical network structure three network levels called L1, L2 and L3 are available. It is assumed that the network set temperatures decrease from L1 to L3. This network concept can be advantageous in areas with existing and new buildings and several available heat sources. Consumers C1 and C4 can be characterized as high temperature consumers which are located between L1 and L2. These types of consumers are assumed to meet their space heating demand through radiators with system design temperatures of 70/50 °C and their domestic hot water (DHW) demand through storage tank charging systems. This limits the lowest possible supply temperature on the building side to 60 °C due to thermal disinfection requirements for DHW. Therefore, the set temperature of L1 varies within a temperature range between 80-65 °C with regards to the ambient temperature. Consumer C2 and C3 can be characterized as low temperature consumer types which are located between L2 and L3. These types of consumers are assumed to meet their space heating demands by floor heating systems with design temperatures of 45/35 °C. It is assumed that these consumer types cover their space heating demands through floor heating systems with design temperatures of 45/35 °C and their hot water demand through freshwater stations. Thus, supply temperatures can be significantly lower than 60 °C. Based on this characterization, the set temperature of L2 is defined to be constant at 50 °C throughout the year. The resulting nominal temperature of L3 is 37 °C. It is assumed that all consumers are designed passively, i.e., the load control is realized by valves. This requires a sufficient pressure difference between supply and return at each consumer substation. Heat production in the network is realized by two central producer units P1 and P2 which are located between L1 and L2 as well as L2 and L3. Furthermore, two decentralized producer units DP1 and DP2 are located between L2 and L3 and provide a constant heat flow to the network. Centralized and decentralized producer types are actively designed, i.e., their individual pumps ensure a sufficient pressure difference to feed the network.

image

Parameters

TypeNameDefaultDescription
IntegernLev (from LumpedMultiVolumeDeclarations)2Number of grid levels
Medium.SpecificEnthalpyh_start (from LumpedMultiVolumeDeclarations)Medium.specificEnthalpy(state = Medium.setState_pTX(p = p_start, T = T_start, X = X_start))
IntegernMix (from BaseGrid)Number of mixing connection points
IntegernPip (from BaseGrid)Number of pipes
Modelica.SIunits.PressurepAbs (from BaseGrid)p_start[1]Absolute pressure level of grid in pressure point
IntegernSeg (from BaseGrid)fill(1, nPip)Number of volume segments
Modelica.SIunits.Lengthdiameter (from BaseGrid)fill(0.1, nPip, nLev)Pipe diameter
Modelica.SIunits.Lengthlength (from BaseGrid)fill(10, nPip)Length of the pipe
Modelica.SIunits.Velocityv_nominal_pip (from BaseGrid)fill(2, nPip, nLev)Velocity at m_flow_nominal (used to compute default diameter)
Modelica.SIunits.PressureDifferencedp_fixed_nominal_pip (from BaseGrid)zeros(nPip, nLev)Additional nominal pressure drop of pipes
Modelica.SIunits.Lengthroughness (from BaseGrid)2.5e-5Absolute roughness of pipe, with a default for a smooth steel pipe (dummy if use_roughness = false)
Modelica.SIunits.PressureDifferencedp_nominal_pip (from BaseGrid)fill(10, nPip, nLev)Pressure difference
Modelica.SIunits.MassFlowRatem_flow_nominal_pip (from BaseGrid)fill(1, nPip, nLev)Pressure difference
Integer[nMix]MixNPrt (from BaseGrid)ones(nMix)Number of connection ports for each mixing volume
Modelica.SIunits.MassFlowRatem_flow_nominal_conPoi (from BaseGrid)1Nominal mass flow rate for connection points
Modelica.SIunits.Timetau (from BaseGrid)10Time constant at nominal flow for dynamic energy and momentum balance
Modelica.SIunits.Lengthdiameter_input{{0.0703, 0.0431, 0.0545}, {0.0545, 0.0545, 0.0372}, {0.0545, 0.0545, 0.0372}, {0.0545, 0.0545, 0.0285}}Input parameter diameter
Modelica.SIunits.Lengthlength_inputfill(100, nPip)Input parameter of pipe length
Modelica.SIunits.MassFlowRatem_flow_nominal_pip_input{{2.7, 1.2, 2.2}, {1.6, 1.4, 0.7}, {1.6, 2.1, 0.6}, {1.6, 1.8, 0.35}}Input parameter nominal mass flow rate of pipes
Modelica.SIunits.LengththicknessIns_input{{0.042, 0.038, 0.040}, {0.040, 0.040, 0.041}, {0.040, 0.040, 0.041}, {0.040, 0.040, 0.038}}Input parameter of pipe insulation thickness
Modelica.SIunits.TemperatureT_nominal{273.15 + 80, 273.15 + 50, 273.15 + 35}Nominal network temperature
IntegernProCen2Number of central producers
IntegernProDec2Number of decentral producers
IntegernCon4Number of consumer
StringfileNameCon{gp("modelica://dhcSim/Resources/LoadProf/NomNet/dynamic/con_1.txt"), gp("modelica://dhcSim/Resources/LoadProf/NomNet/dynamic/con_1.txt"), gp("modelica://dhcSim/Resources/LoadProf/NomNet/dynamic/con_2.txt"), gp("modelica://dhcSim/Resources/LoadProf/NomNet/dynamic/con_1.txt")}location of consumer profiles
Dynamics › Equations
Modelica.Fluid.Types.DynamicsenergyDynamics (from LumpedMultiVolumeDeclarations)Modelica.Fluid.Types.Dynamics.DynamicFreeInitialType of energy balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicsmassDynamics (from LumpedMultiVolumeDeclarations)energyDynamicsType of mass balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicssubstanceDynamics (from LumpedMultiVolumeDeclarations)energyDynamicsType of independent mass fraction balance: dynamic (3 initialization options) or steady state
Modelica.Fluid.Types.DynamicstraceDynamics (from LumpedMultiVolumeDeclarations)energyDynamicsType of trace substance balance: dynamic (3 initialization options) or steady state
Initialization
Modelica.SIunits.AbsolutePressurep_start (from LumpedMultiVolumeDeclarations)fill(Medium.p_default, nLev)Start value of pressure
Modelica.SIunits.TemperatureT_start (from LumpedMultiVolumeDeclarations)fill(Medium.T_default, nLev)Start value of temperature
Medium.MassFractionX_start (from LumpedMultiVolumeDeclarations)fill(Medium.X_default, nLev)Start value of mass fractions m_i/m
Medium.ExtraPropertyC_start (from LumpedMultiVolumeDeclarations)fill(0, nLev, Medium.nC)Start value of trace substances
Medium.ExtraPropertyC_nominal (from LumpedMultiVolumeDeclarations)fill(1E-2, nLev, Medium.nC)Nominal value of trace substances. (Set to typical order of magnitude.)
Dynamics
RealmSenFac (from LumpedMultiVolumeDeclarations)1Factor for scaling the sensible thermal mass of the volume
Pressure drop
dhcSim.DHC.Submodules.TwoPortModules.Pipe.Types.dpTypesdpType (from BaseGrid)dhcSim.DHC.Submodules.TwoPortModules.Pipe.Types.dpTypes.dp_nominalDefine pressure drop calculation
Assumptions
BooleanallowFlowReversal (from BaseGrid)true= true to allow flow reversal, false restricts to design direction (port_a -> port_b)
Advanced
Medium.MassFlowRatem_flow_small_pip (from BaseGrid)1E-4.*abs(m_flow_nominal_pip)Small mass flow rate for regularization of zero flow
Advanced › Diagnostics
Booleanshow_T (from BaseGrid)false= true, if actual temperature at port is computed
Flow resistance
RealReC (from BaseGrid)4000Reynolds number where transition to turbulent starts
Booleanfrom_dp (from BaseGrid)false= true, use m_flow = f(dp) else dp = f(m_flow)
BooleanlinearizeFlowResistance (from BaseGrid)false= true, use linear relation between m_flow and dp for any flow rate
RealdeltaM (from BaseGrid)0.1Fraction of nominal flow rate where flow transitions to laminar
Heat losses
Modelica.SIunits.LengthdisPip (from BaseGrid)10Fictive pipe distance, used to calculate fictive Resistance
Modelica.SIunits.LengthuniWidth (from BaseGrid)1Universal width
Initialization › Heat losses
Modelica.SIunits.TemperatureT_surf_a_start (from BaseGrid)293.15Initial temperature at surf_a, used if steadyStateInitial = false
Modelica.SIunits.TemperatureT_surf_b_start (from BaseGrid)283.15Initial temperature at surf_b, used if steadyStateInitial = false

Components

TypeNameDefaultDescription
Buildings.Fluid.Storage.ExpansionVesselexpansionVessel (from BaseGrid)
dhcSim.Fluid.Delays.MultipleDelaysmix (from BaseGrid)
dhcSim.DHC.Submodules.MultiPortModules.Pipe.AdiabatePipepipe (from BaseGrid)
dhcSim.Data.SysTemp_70_55_20sysTem_70_55_20
dhcSim.Data.SysTemp_45_35_20sysTem_45_35_20
Submodules.MultiPortModules.DistrictHeating.Producer.DH_ActiveDirectProducercentralProducer
Submodules.MultiPortModules.DistrictHeating.Consumer.DH_DirectConsumerconsumer
Modelica.Blocks.Sources.RealExpressionpressureDiffExp
Submodules.MultiPortModules.DistrictHeating.Producer.DH_PrescribedDirectProducerdecentralProducer
ControlSystems.decentralNetControllerdecentralNetController
dhcSim.Weather.CombinedWeathercombinedWeather
Modelica.Blocks.Sources.RealExpressionT_0
Modelica.Blocks.Math.Addadd
Modelica.Blocks.Tables.CombiTable1DscombiTable1Ds
Modelica.Blocks.Sources.RealExpressionTNominalExp