Buildings.Fluid.Geothermal.BuriedPipes

Package with models for buried pipes

Information

This package contains models for buried pipes, such as those found in district heating and cooling distribution networks.

Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).

Package Content

Name Description
Buildings.Fluid.Geothermal.BuriedPipes.GroundCoupling GroundCoupling Thermal coupling between buried pipes and ground
Buildings.Fluid.Geothermal.BuriedPipes.Examples Examples Collection of models that illustrate model use and test models
Buildings.Fluid.Geothermal.BuriedPipes.Validation Validation Collection of validation models
Buildings.Fluid.Geothermal.BuriedPipes.BaseClasses BaseClasses Package with base classes for Buildings.Fluid.Geothermal.BuriedPipes

Buildings.Fluid.Geothermal.BuriedPipes.GroundCoupling Buildings.Fluid.Geothermal.BuriedPipes.GroundCoupling

Thermal coupling between buried pipes and ground

Buildings.Fluid.Geothermal.BuriedPipes.GroundCoupling

Information

This model simulates the heat transfer between multiple buried pipes and the ground, using climate and soil information and the geometry of the pipes network.

The model can take any number of pipes, and can be discretized axially in any number of segments. Currently, the model only allows for pipes that run co-axially and parallel to the ground, and the axial segmentation must be the same for each pipe.

The heat transfer solution is based upon the potential flow theory and obtained by the use of "mirror-image" technique suggested by Eckert (1959). This technique is extended to a network with multiple pipes by Kusuda (1981) in the equation:

image

where:
L = pipe length [m]
ks = soil thermal conductivity [W/(m.K)]
Pij = geometric factor (see Buildings.Fluid.Geothermal.BuriedPipes.BaseClasses.groundCouplingFactors for more information)
Qi = net heat transfer from pipe i [W]
Ti = temperature at the exterior surface of pipe i [degC]
Tg = undisturbed ground temperature at the depth of the network. [degC]

This model relies on the following assumptions.

References

Eckert, E. R. G. (1959). Heat and Mass Transfer. McGraw-Hill Book Company.
Kusuda, T. (1981). Heat transfer analysis of underground heat and chilled-water distribution systems. National Bureau of Standards.

Parameters

TypeNameDefaultDescription
IntegernPip Number of buried pipes
IntegernSeg1Number of axial segments
GenericsoiDatredeclare parameter Building...Soil thermal properties
GenericcliConredeclare parameter Building...Surface temperature climatic conditions
Lengthlen[nSeg] Pipes length [m]
Lengthdep[nPip] Pipes buried depth [m]
Lengthpos[nPip] Pipes horizontal coordinate (to an arbitrary reference point) [m]
Lengthrad[nPip] Pipes external radius [m]

Connectors

TypeNameDescription
HeatPort_aports[nPip, nSeg]Buried pipes heatports

Modelica definition

model GroundCoupling "Thermal coupling between buried pipes and ground" parameter Integer nPip(min=1) "Number of buried pipes"; parameter Integer nSeg(min=1) = 1 "Number of axial segments"; replaceable parameter Buildings.HeatTransfer.Data.Soil.Generic soiDat "Soil thermal properties"; replaceable parameter Buildings.BoundaryConditions.GroundTemperature.ClimaticConstants.Generic cliCon "Surface temperature climatic conditions"; parameter Modelica.Units.SI.Length len[nSeg] "Pipes length"; parameter Modelica.Units.SI.Length dep[nPip] "Pipes buried depth"; parameter Modelica.Units.SI.Length pos[nPip] "Pipes horizontal coordinate (to an arbitrary reference point)"; parameter Modelica.Units.SI.Length rad[nPip] "Pipes external radius"; Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a ports[nPip, nSeg] "Buried pipes heatports"; Buildings.BoundaryConditions.GroundTemperature.UndisturbedSoilTemperature soi(cliCon=cliCon, soiDat=soiDat, dep=depMea) "Soil temperature"; protected parameter Modelica.Units.SI.Length depMea=sum(dep)/nPip "Average depth"; parameter Real P[nPip,nPip]=BaseClasses.groundCouplingFactors( nPip, dep, pos, rad) "Thermal coupling geometric factors"; equation for seg in 1:nSeg loop ports[:,seg].T .- soi.T = P * ports[:,seg].Q_flow / (2 * Modelica.Constants.pi * soiDat.k * len[seg]); end for; end GroundCoupling;