Pipe Material

class pygld.PipeMaterial(kth=None, Cp=None)[source]

The PipeMaterial class holds all the thermophysical properties relative to the pipes that are required for the modeling of ground-loop heat exchanger systems.

A database of predefined pipe materials is available and can be obtained or printed with the get_predefined_materials() and print_predefined_materials() methods. The PipeMaterial can be initialized directly from a predefined material with the init_as(), passing as argument the index of the material in the database.

An Example is available at the end of this section.

Thermal Properties

PipeMaterial.Cp

Volumetric heat capacity in J/m³·K.

Get or set the volumetric heat capacity of the material as a single positive float value.

PipeMaterial.kth

Thermal conductivity in W/m·K.

Get or set the thermal conductivity of the material as a single positive float value.

PipeMaterial.al

Thermal diffusivity in m²/s.

Return the thermal diffusivity of the material as a single positive float value calculated as:

al[i] = \frac{kth[i]}{cp[i] \cdot rho[i]}

where kth is the thermal conductivity in W/m·k and Cp is the volumetric heat capacity of the material in J/m³·K.

Utilities

classmethod PipeMaterial.get_predefined_materials()

Return a dict containing the predefined PipeMaterial.

classmethod PipeMaterial.print_predefined_materials(end='\n')

Print the predefined PipeMaterial.

classmethod PipeMaterial.init_as(material_index)

Initialize the thermal properties of the PipeMaterial based on the specified material index.

This is a convenience function; the member variables can also be initialized manually.

Example

Import and print the list of predefined PipeMaterial:

>>> from pygld import PipeMaterial
>>> PipeMaterial.print_predefined_materials()
Predefined materials for the 'Pipe':
    0 - HDPE ...... kth=0.400 W/m·k, Cp=1500 J/m³·K
    1 - Geoperformx kth=0.700 W/m·k, Cp=1500 J/m³·K

Initialize PipeMaterial from the predefined material at index #1 and print the results:

>>> pipe = PipeMaterial.init_as(1)
>>> print(pipe)
Pipe material: Geoperformx
Thermal conductivity: 0.700 W/m·k
Volumetric heat capacity: 1500 J/m³·K
Thermal diffusivity: 4.67e-04 m²/s

Change the thermal conductivity for another value and print the results:

>>> pipe.kth = 1.75
>>> print(pipe)
Pipe material: User Defined
Thermal conductivity: 0.670 W/m·k
Volumetric heat capacity: 1500 J/m³·K
Thermal diffusivity: 4.47e-04 m²/s

Note that the grout material is now labeled as ‘User defined’.

It is also possible to initialize an empty PipeMaterial and set the value of the properties manually:

>>> pipe = PipeMaterial()
>>> pipe.kth = 2
>>> pipe.Cp = 3500
>>> print(pipe)
Pipe material: User Defined
Thermal conductivity: 0.530 W/m·k
Volumetric heat capacity: 1767 J/m³·K
Thermal diffusivity: 3.00e-04 m²/s