Heat Carrier Fluid

class pygld.HeatCarrierFluid(fluid='water', Tref=20, fr=0)[source]

The HeatCarrierFluid class holds all the thermophysical properties related to the fluid circulating in the ground-loop of the heat exchanger system. The HeatCarrierFluid is initialized by default as a pure water fluid with an antifreeze volumetric fraction (fr) of 0 and at a reference temperature (Tref) of 20°C.

The fluid type of HeatCarrierFluid can be changed with the set_fluid() method and a list of all available heat carrier fluid types can be obtained from the get_avail_fluid_types() method. The reference temperature and antifreeze volumetric fraction can be changed by setting directly the value of the Tref and fr attributes. Printing an instance of HeatCarrierFluid will print a summary of the fluid’s independent and dependent properties.

The freezing and boiling points of the fluid are evaluated for a given value of fr from a piecewise one-dimensional cubic interpolation of the fluid’s thermophysical properties table. The thermophysical properties of the fluid are determined for a given set of Tref and fr values from a two dimensional piecewise cubic interpolation of the fluid’s thermophysical properties table. The derived thermophysical properties of the fluid are calculated from the interpolated values of the primary properties.

An Example is available at the end of this section.

Note

Extrapolation is not allowed when evaluating the thermophysical properties of the fluid. A nan value is returned for sets of Tref and fr whose values fall outside of the thermophysical properties table of the fluid.

Fluid type and data

HeatCarrierFluid.hcfdata

Return a dict containing the tables of thermophysical properties of the heat carrier fluid.

HeatCarrierFluid.fluid

Return the type of fluid of the heat carrier.

The type of fluid of the heat carrier is set to pure water by default. The heat carrier fluid is assumed to be pure water when fr is set to 0.

HeatCarrierFluid.set_fluid(x)

Set the type of fluid of the heat carrier fluid and load the tables of thermophysical properties of the fluid.

If the specified fluid type is not available, an error is raised. The list of available heat carrier fluid types can be obtained with the get_avail_fluid_types() method.

Fluid independent properties

HeatCarrierFluid.Tref

Temperature of the fluid in °C.

Get or set the temperature of the heat carrier fluid as a single value or a series of values stored in a dict, a tuple or a numpy array. A numpy array will always be returned when getting Tref, independently of the format used to set the attribute.

HeatCarrierFluid.fr

Antifreeze volumetric fraction of the heat carrier fluid in m³/m³ (0 ≤ fr ≤ 1).

Get or set the antifreeze volumetric fraction of the heat carrier fluid. The value of fr must be between 0 and 1 and is assumed to be 0 when fluid is set to ‘water’.

Fluid freezing and boiling points

HeatCarrierFluid.Tfp

Freezing point temperature in °C.

Return the freezing point temperature of the fluid calculated from a piecewise one-dimensional linear interpolation of the fluid’s thermophysical properties table.

HeatCarrierFluid.Tbp

Boiling point temperature in °C.

Return the boiling point temperature of the fluid calculated from a piecewise one-dimensional linear interpolation of the fluid’s thermophysical properties table.

Fluid dependent properties

HeatCarrierFluid.rho

Fluid density in kg/m³.

Return a numpy array of a length that match that of Tref containing the values for the density of the fluid calculated from a piecewise two-dimensional cubic interpolation of the fluid’s thermophysical properties table.

HeatCarrierFluid.mu

Cinematic viscosity in Pa·s.

Return a numpy array of a length that match that of Tref containing the values for the cinematic viscosity of the fluid calculated from a piecewise two-dimensional cubic interpolation of the fluid’s thermophysical properties table.

HeatCarrierFluid.kth

Thermal conductivity in W/(m·k).

Return a numpy array of a length that match that of Tref containing the values for the thermal conductivity of the fluid calculated from a piecewise two-dimensional cubic interpolation of the fluid’s thermophysical properties table.

HeatCarrierFluid.cp

Specific heat capacity in J/(kg·K)

Return a numpy array of a length that match that of Tref containing the values for the specific heat capacity of the fluid calculated from a two dimensional piecewise cubic interpolation of the fluid’s thermophysical properties table.

Fluid derived dependent properties

HeatCarrierFluid.nu

Kynematic viscosity in m²/s.

Return a numpy array of a length that match that of Tref containing the values for the kynematic viscosity of the fluid calculated as:

nu[i] = mu[i] \, / \, rho[i]

where i is the index at which nu is computed, mu is the cinematic viscosity in Pa·s, and rho is the density of the fluid in kg/m³.

HeatCarrierFluid.Pr

Prantl number.

Return a numpy array of a length that match that of Tref containing the values for the Prantl number of the fluid calculated as:

Pr[i] = \frac{mu[i]}{cp[i] \cdot kth[i]}

where i is the index at which Pr is computed, mu is the cinematic viscosity in Pa·s, cp is the specific heat capacity in J/(kg·K), and kth is the thermal conductivity in W/(m·k).

HeatCarrierFluid.al

Thermal diffusivity in m²/s.

Return a numpy array of a length that match that of Tref containing the values for the thermal diffusivity of the fluid calculated as:

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

where i is the index at which al is computed, kth is the thermal conductivity in W/(m·k), cp is the specific heat capacity in J/(kg·K), and rho is the density of the fluid in kg/m³.

HeatCarrierFluid.Cp

Volumetric Heat Capacity in J/(m³·K).

Return a numpy array of a length that match that of Tref containing the values for the volumetric heat capacity of the fluid calculated as:

Cp[i] = cp[i] \cdot rho[i]

where i is the index at which Cp is computed, cp is the specific heat capacity in J/(kg·K), and rho is the density of the fluid in kg/m³.

Utilities

HeatCarrierFluid.get_avail_fluid_types()

Return a list of all available heat carrier fluid types.

References

Properties for pure water were taken from p.154 of:

VDI-Gesellschaft, 2010. VDI Heat Atlas. VDI-Verlag GmbH, Dusseldorf,
Germany, Berlin; London.

Properties for propylene and ethlyne glycol were taken from:

ASHRAE, 2009. 2009 ASHRAE Handbook - Fundamentals. Si edition ed.,
American Society of Heating, Refrigerating and Air-Conditioning Engineers, Atlanta, GA. chap.31, pp. 823-835.

Example

Import and instantiate the HeatCarrierFluid class and print a summary of the fluid’s default properties:

>>> from pygld import HeatCarrierFluid
>>> hcfluid = HeatCarrierFluid()
>>> print(hcfluid)
Type of fluid: water
Antifreeze volumetric fraction: 0.00
Freezing point temperature (°C): 0.0
Boiling point temperature (°C): 100.0
Temperature of reference (°C): 20.0
Fluid density in (kg/m³): 998.21
Cinematic viscosity (Pa·s): 1.00e-03
Thermal conductivity (W/m·k): 0.599
Specific heat capacity (J/kg·K): 4185.0
Kynematic viscosity (m²/s): 1.00e-06
Prantl number: 7.0
Thermal diffusivity (m²/s): 1.44e-07
Volumetric Heat Capacity (J/m³·K): 4.18e+06

Print the list of available heat carrier fluids:

>>> print(hcfluid.get_avail_fluid_types())
['prop_glycol', 'ethyl_glycol', 'water']

Change the fluid type, fr, and Tref values and print a summary of the fluid’s updated properties:

>>> hcfluid.set_fluid('prop_glycol')
>>> hcfluid.fr = 0.3
>>> hcfluid.Tref = [28, 14, 0]
>>> print(hcfluid)
Type of fluid: prop_glycol
Antifreeze volumetric fraction: 0.30
Freezing point temperature (°C): -13.1
Boiling point temperature (°C): 102.2
Temperature of reference (°C): [28.0, 14.0, 0.0]
Fluid density in (kg/m³): [1024.65, 1030.92, 1036.24]
Cinematic viscosity (Pa·s): [2.33e-03, 3.85e-03, 7.07e-03]
Thermal conductivity (W/m·k): [0.439, 0.425, 0.409]
Specific heat capacity (J/kg·K): [3869.9, 3831.1, 3793.0]
Kynematic viscosity (m²/s): [2.28e-06, 3.73e-06, 6.82e-06]
Prantl number: [20.6, 34.7, 65.6]
Thermal diffusivity (m²/s): [1.11e-07, 1.08e-07, 1.04e-07]
Volumetric Heat Capacity (J/m³·K): [3.97e+06, 3.95e+06, 3.93e+06]