# Freeze-thaw simulation for shallow geothermal collectors

**URL:** <https://discourse.opengeosys.org/t/freeze-thaw-simulation-for-shallow-geothermal-collectors/1839>\
**Category:** Help & Support\
**Created:** [March 18, 2026, 9:28am UTC](https://discourse.opengeosys.org/t/freeze-thaw-simulation-for-shallow-geothermal-collectors/1839 "2026-03-18T09:28:34Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![kelu](https://discourse.opengeosys.org/letter_avatar_proxy/v4/letter/k/df705f/32.png) [@kelu](https://discourse.opengeosys.org/u/kelu)\
**Post date:** [March 18, 2026, 9:28am UTC](https://discourse.opengeosys.org/t/freeze-thaw-simulation-for-shallow-geothermal-collectors/1839/1 "2026-03-18T09:28:34Z")

</div>

Hello,

I am interested in modelling a shallow horizontal ground heat collector used for geothermal heat extraction. The goal is to simulate the annual freeze-thaw cycle in the surrounding soil.

Is it possible in OpenGeoSys to model for example: i) 3D heat transport with phase change (water-ice), ii) the development of a moving freezing front, iii) and seasonal boundary conditions over a yearly cycle?

The aim would be to evaluate the thermal response of the soil and determine operating conditions (e.g. inlet temperature of the circulating fluid) that allow full regeneration of the ground during summer.

Would this be feasible in OGS?

Thanks,

Lukas

---

<div class="post-metadata">

**Author:** ![felikskiszkurno](https://discourse.opengeosys.org/user_avatar/discourse.opengeosys.org/felikskiszkurno/32/968_2.png) [@felikskiszkurno](https://discourse.opengeosys.org/u/felikskiszkurno)\
**Post date:** [March 18, 2026, 9:34am UTC](https://discourse.opengeosys.org/t/freeze-thaw-simulation-for-shallow-geothermal-collectors/1839/2 "2026-03-18T09:34:08Z")

</div>

Hi Lukas,

Thank you for your interest in OpenGeoSys!

The following benchmarks may be of interest to you:

> **[Checking the volumetric expansion due to water-to-ice phase change](https://www.opengeosys.org/6.5.7/docs/benchmarks/thermo-hydro-mechanics/massbalance_with_freezing_2/)**
>
> OpenGeoSys

> **[Fully saturated column deformation and freezing](https://www.opengeosys.org/6.5.7/docs/benchmarks/thermo-hydro-mechanics/massbalance_with_freezing/)**
>
> OpenGeoSys

Regarding the seasonal BCs, OGS allows defining BCs with a Python script. It may be useful for you:

> **[Python Boundary Conditions](https://www.opengeosys.org/6.5.7/docs/benchmarks/python-bc/)**
>
> OpenGeoSys

> **[Defining boundary conditions with Python](https://www.opengeosys.org/6.5.7/docs/userguide/features/python_bc/)**
>
> OpenGeoSys

Depending on the complexity of your BCs, using a scaled curve parameter to define them may be sufficient:

> **[Parameters](https://www.opengeosys.org/stable/docs/userguide/blocks/parameters/#curvescaled)**
>
> OpenGeoSys

Best regards,  
Feliks
