Skip to main content

BHResist

A pure Python library for calculating the effective thermal resistance of grouted single U-tube, parallel double U-tube, and coaxial borehole heat exchangers. The single- and double-U-tube models use first-order closed-form multipole approximations. The coaxial model uses a one-dimensional resistance network. Uniform heat-flux and uniform borehole-wall-temperature boundary conditions are supported.

The public calculation methods accept total borehole mass flow rate. For a parallel double U-tube, BHResist divides that flow equally between the two U-tubes. Thermal resistances are reported in K/(W/m), equivalently m-K/W.

BHResist is intended to be a lightweight library that can be imported into other Python applications without bulky dependencies.

Fluid properties

BHResist uses the public fluid API provided by SecondaryCoolantProps 1.5 or newer. Built-in fluids can be selected with the fluid_type and fluid_concentration initializer arguments.

User-defined fluids can contain constant or temperature-dependent properties:

from scp import get_fluid

custom_fluid = get_fluid(
    "user_defined",
    name="BoreholeFluid",
    viscosity=lambda temp: 0.003 - 1.0e-5 * temp,
    specific_heat=3200.0,
    density=lambda temp: 1050.0 - 0.4 * temp,
    conductivity=0.42,
    t_min=-20.0,
    t_max=80.0,
)

Pass this object as fluid=custom_fluid when initializing a borehole and omit fluid_type and fluid_concentration. An initialized model can adopt another SecondaryCoolantProps fluid with borehole.set_fluid(custom_fluid).

Documentation

Documentation for BHResist can be found at https://bhresist.readthedocs.io.

Citation

Mitchell, Matt, Adams, Sonja, Lee, Edwin, and Swindler, Alexander. BHResist [SWR-25-57]. Computer Software. https://github.com/NatLabRockies/BHResist. USDOE Office of Energy Efficiency and Renewable Energy (EERE), Renewable Power Office. Geothermal Technologies Office. 04 Apr. 2025. Web. doi:10.11578/dc.20250421.3.

References

Hellström, G. 1991. "Ground Heat Storage: Thermal Analyses of Duct Storage Systems." PhD dissertation. Department of Mathematical Physics, University of Lund, Sweden.

Grundmann, R.M. 2016. "Improved design methods for ground heat exchangers." Master’s thesis, Oklahoma State University.

Javed, S. and J.D. Spitler. 2016. "Calculation of borehole thermal resistance." In Advances in Ground-Source Heat Pump Systems. Ed. S.J. Rees. Woodhead Publishing. https://doi.org/10.1016/B978-0-08-100311-4.00003-0

Javed, S., and J.D. Spitler. 2017. "Accuracy of borehole thermal resistance calculation methods for grouted single U-tube ground heat exchangers." Applied Energy, 187:790-806. https://doi.org/10.1016/j.apenergy.2016.11.079

Claesson, J., and S. Javed. 2019. "Explicit multipole formulas and thermal network models for calculating thermal resistances of double U-pipe borehole heat exchangers." Science and Technology for the Built Environment, 25(8) pp. 980–992. https://doi.org/10.1080/23744731.2019.1620565

Metadata

Release files for BHResist 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for BHResist 0.4.0
File Size Uploaded
bhresist-0.4.0.tar.gz 15.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for BHResist 0.4.0
File Interpreter ABI Platform
bhresist-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 36.0 kB

Release files / bhresist-0.4.0.tar.gz

Download URL bhresist-0.4.0.tar.gz
Size 15.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5d03ce0ceddba1f581b93d0cfb581c3e32b0d092f1ce660b846ca8dac12e55e6
BLAKE2b-256 checksum
How to use checksums
d6f1344d9d6247e51b4c56e21f9a9731de4581ed5a2094ae9b2810e4184e5a69
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 14, 2026.

Transparency log

Release files / bhresist-0.4.0-py3-none-any.whl

Download URL bhresist-0.4.0-py3-none-any.whl
Size 20.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c768524ad8d486c7d03498cf1a18054e57fa299cd4070387971a73d31c2b510c
BLAKE2b-256 checksum
How to use checksums
9b3e23da7f15e7c65d0e5e494586282735e1b73fe70fe3e3ca772ae10293e7e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3

2 release files

0.2.0

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page