Thermo Hydro Mechanics Process

This page describes Thermo-Hydro-Mechanics Process (THM).

Work in progress

This page is a work in progress.

It was published in this state to make existing content available to users and highlight missing parts to the contributors.

Contributors: please see Documentation Contribution Guide to contribute to the documentation.

Users: the content of this page has been verified and is correct. Please return later for more content!

Introduction

Theoretical background

Implementation

Supported phases

  • Aqueous liquid
  • Frozen liquid
  • Solid

Input variables and parameters

List of medium properties required by THM process.

Medium properties

  • bulk modulus
  • density
  • specific heat capacity

Input parameters in the project file

THM process has to be declared in project file in the processes block. For example in following way:

<processes>
    <process>
        <type>THERMO_HYDRO_MECHANICS</type>
    </process>
</processes>

Process variables

Following process variables are available in THM process:

  • temperature
  • pressure
  • displacement

For more details, see Process variables.

Example of full section defining THM process

Features

Specific body force

Thermal porosity mixing

THM can automatically obtain thermal conductivity for the medium based on thermal conductivities of phases and porosity.

{# file path has to be relative to current file #} {# TODO: hugo server does not re-generate the included content on change #}

In some process, the effective thermal conductivity can be calculated automatically depending on the conductivities of solid and liquid phases and porosity.

Following example can be considered: the Layer0 is a porous clay fully saturated by water. In such a case, in order to run simulation for correct value of thermal conductivity for such a medium, there has to be separate values for thermal conductivity of water (in liquid phase) and clay (in solid phase) defined. Those two values together with porosity can be used to obtain parameter representative for the whole medium. It can be done with following equation for volumetric mixing:

$$ \lambda_{medium}=\lambda_{water}*\phi+\lambda_{clay}\cdot(1-\phi) $$

where $\lambda$ indicates thermal conductivity and $\phi$ indicates porosity. OpenGeoSys can do this internally. The requirement for it to work is that both phases have property with <name>thermal_conductivity</name> and porosity is defined for the whole medium. Than $\lambda$ for the whole medium can be defined as follows:

<property>
    <name>thermal_conductivity</name>
    <type>EffectiveThermalConductivityPorosityMixing</type>
</property>

This is how a media block with all required elements to use thermal porosity mixing can be defined:

<medium>
    <phases>
        <phase>
            <type>AqueousLiquid</type>
            <properties>
                <property>
                    <name>thermal_conductivity</name>
                    <type>Constant</type>
                    <value>thermal_conductivity_liquid_value</value>
                </property>
            </properties>
        <phase>
        <phase>
            <type>Solid</type>
            <properties>
                <property>
                    <name>thermal_conductivity</name>
                    <type>Constant</type>
                    <value>thermal_conductivity_solid_value</value>
                </property>
            </properties>
        </phase>
    </phases>
    <properties>
        <property>
            <name>porosity</name>
            <type>Constant</type>
            <value>medium_porosity_value</value>
        </property>
        <property>
            <name>thermal_conductivity</name>
            <type>EffectiveThermalConductivityPorosityMixing</type>
        </property>
    </properties>
</medium>

Examples

Available benchmarks

To gain more insight into THM process, you can investigate THM benchmarks.

References


This article was written by Feliks Kiszkurno. If you are missing something or you find an error please let us know.
Generated with Hugo 0.122.0 in CI job 482627 | Last revision: July 5, 2024
Commit: [T] Are times equivalent for tiny time increments 4bf1ab6  | Edit this page on