Buildings.Fluid.Geothermal.BuriedPipes.BaseClasses

Package with base classes for Buildings.Fluid.Geothermal.BuriedPipes

Information

This package contains base classes that are used to construct the models in Buildings.Fluid.Geothermal.BuriedPipes.

Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).

Package Content

Name Description
Buildings.Fluid.Geothermal.BuriedPipes.BaseClasses.groundCouplingFactors groundCouplingFactors Geometric factors for buried pipe-ground coupling

Buildings.Fluid.Geothermal.BuriedPipes.BaseClasses.groundCouplingFactors Buildings.Fluid.Geothermal.BuriedPipes.BaseClasses.groundCouplingFactors

Geometric factors for buried pipe-ground coupling

Information

This function computes the multiple buried pipe system coupling matrix P described by Kusuda (1981).

For a network of n buried pipes that are coaxial, the matrix P of size n x n is computed from the system geometry:

image

where:
ai = horizontal position of pipe i
di = depth of pipe i
ri = external radius of pipe i

References

Kusuda, T. (1981). Heat transfer analysis of underground heat and chilled-water distribution systems. National Bureau of Standards.

Extends from Modelica.Icons.Function (Icon for functions).

Inputs

TypeNameDefaultDescription
IntegernPip Number of pipes
Lengthdep[nPip] Pipes Buried Depth [m]
Lengthpos[nPip] Pipes Horizontal Coordinate (to an arbitrary reference point) [m]
Lengthrad[nPip] Pipes external radius [m]

Outputs

TypeNameDescription
RealP[nPip, nPip]Thermal coupling geometric factors

Modelica definition

function groundCouplingFactors "Geometric factors for buried pipe-ground coupling" extends Modelica.Icons.Function; input Integer nPip(min=1, fixed=true) "Number of pipes"; input Modelica.Units.SI.Length dep[nPip] "Pipes Buried Depth"; input Modelica.Units.SI.Length pos[nPip] "Pipes Horizontal Coordinate (to an arbitrary reference point)"; input Modelica.Units.SI.Length rad[nPip] "Pipes external radius"; output Real P[nPip, nPip] "Thermal coupling geometric factors"; algorithm for i in 1:nPip loop for j in 1:nPip loop if i == j then P[i,j] := Modelica.Math.log(2*dep[i]/rad[i]); else P[i,j] := 0.5 * Modelica.Math.log( ((pos[i] - pos[j])^2 + (dep[i] + dep[j])^2)/ ((pos[i] - pos[j])^2 + (dep[i] - dep[j])^2)); end if; end for; end for; end groundCouplingFactors;