Skip to content

ThermalConductivityCalculator API Reference

geoloop.lithology.process_lithology.ThermalConductivityCalculator

A class to calculate subsurface thermal conductivity and porosity based on lithological and thermal parameters.

Attributes:

Name Type Description
phi0 float

Porosity at the surface.

kv_phi0_20 float

Thermal conductivity at 20°C (W/mK).

sorting_factor float

Sorting factor, describing the degree of sorting in sediments.

anisotropy float

Anisotropy factor, describing the anisotropy in sediments.

c_p float

Specific heat capacity (J/kgK).

rho float

Density (kg/m³).

k_athy float

Compaction constant, used in the porosity-depth relation.

calculate_porosity

calculate_porosity(depth: float) -> float

Calculates porosity at a given depth using Athy's exponential compaction model.

Parameters:

Name Type Description Default
depth float

Depth in meters.

required

Returns:

Type Description
float

Porosity (fraction between 0 and 1).

calculate_k_compaction_correction

calculate_k_compaction_correction(phi: float) -> float

Apply a compaction correction to the reference vertical thermal conductivity at phi 0.

Parameters:

Name Type Description Default
phi float

Porosity (fraction).

required

Returns:

Type Description
float

Corrected vertical thermal conductivity at 20°C (W/m·K).

calculate_kh_rock_matrix

calculate_kh_rock_matrix(
    temperature_top: float,
    temperature_base: float,
    phi: float,
) -> float

Estimate the horizontal rock-matrix thermal conductivity (dimensionless kh_matrix) using an empirical formula that depends on compaction-corrected conductivities and temperature.

Parameters:

Name Type Description Default
temperature_top float

Temperature at the top of the segment (°C).

required
temperature_base float

Temperature at the base of the segment (°C).

required
phi float

Effective porosity for the segment.

required

Returns:

Type Description
float

Estimated matrix conductivity parameter kh_matrix used in bulk mixing.

calculate_k_water

calculate_k_water(temperature_base: float) -> float

Calculates the thermal conductivity of water at the given temperature.

Parameters:

Name Type Description Default
temperature_base float

Temperature in °C at the base of the segment.

required

Returns:

Type Description
float

Thermal conductivity of water (W/m·K).

calculate_kh_bulk

calculate_kh_bulk(
    temperature_base: float, kh_matrix: float, phi: float
) -> float

Compute bulk horizontal thermal conductivity by combining matrix and pore fluid.

Uses a geometric mixing law: k_bulk = KxRM^(1-phi) * kw^(phi).

Parameters:

Name Type Description Default
temperature_base float

Temperature at segment base (°C).

required
kh_matrix float

Horizontal thermal conductivity of the rock matrix (W/mK).

required
phi float

Porosity (fraction).

required

Returns:

Type Description
float

Bulk horizontal thermal conductivity (W/m·K).