This page describes Thermo-Richards-Mechanics Process (TRM)
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 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!
Global assembler for the monolithic scheme of the non-isothermal Richards flow coupled with mechanics.
The energy balance equation is given by:
$$ (\rho c_p)^{eff}\dot T - \nabla (\mathbf{k}_T^{eff} \nabla T)+\rho^l c_p^l \nabla T \cdot \mathbf{v}^l = Q_T $$with $T$ the temperature, $(\rho c_p)^{eff}$ the effective volumetric heat capacity, $\mathbf{k}_T^{eff}$ the effective thermal conductivity, $\rho^l$ the density of liquid, $c_p^l$ the specific heat capacity of liquid, $\mathbf{v}^l$ the liquid velocity, and $Q_T$ the point heat source.
The effective volumetric heat can be considered as a composite of the contributions of solid phase and the liquid phase as
$$ (\rho c_p)^{eff} = (1-\phi) \rho^s c_p^s + S^l \phi \rho^l c_p^l $$with $\phi$ the porosity, $S^l$ the liquid saturation, $\rho^s$ the solid density, and $c_p^s$ the specific heat capacity of solid. Similarly, the effective thermal conductivity is given by:
$$ \mathbf{k}_T^{eff} = (1-\phi) \mathbf{k}_T^s + S^l \phi k_T^l \mathbf I $$where $\mathbf{k}_T^s$ is the thermal conductivity tensor of solid, $k_T^l$ is the thermal conductivity of liquid, and $\mathbf I$ is the identity tensor.
The mass balance equation is given by:
$$ \begin{eqnarray*}{ \left(S^l\beta - \phi\frac{\partial S}{\partial p_c}\right) \rho^l\dot p - S \left( \frac{\partial \rho^l}{\partial T} + \rho^l(\alpha_B -S) \alpha_T^s \right)\dot T\\ +\nabla (\rho^l \mathbf{v}^l) + S \alpha_B \rho^l \nabla \cdot \dot{\mathbf u}= Q_H } \end{eqnarray*} $$where $p$ is the pore pressure, $p_c$ is the capillary pressure, which is $-p$ under the single phase assumption, $\beta$ is a composite coefficient by the liquid compressibility and solid compressibility, $\alpha_B$ is the Biot’s constant, $\alpha_T^s$ is the linear thermal expansivity of solid, $Q_H$ is the point source or sink term, $\mathbf u$ is the displacement, and $H(S-1)$ is the Heaviside function. The liquid velocity $\mathbf{v}^l$ is described by the Darcy’s law as
$$ \mathbf{v}^l=-\frac{{\mathbf k} k_{ref}}{\mu} (\nabla p - \rho^l \mathbf g) $$with ${\mathbf k}$ the intrinsic permeability, $k_{ref}$ the relative permeability, $\mathbf g$ the gravitational force.
The momentum balance equation takes the form of
$$ \nabla (\mathbf{\sigma}-b(S)\alpha_B p^l \mathbf I) +\mathbf f=0 $$with $\mathbf{\sigma}$ the effective stress tensor, $b(S)$ the Bishop model, $\mathbf f$ the body force, and $\mathbf I$ the identity. The primary unknowns of the momentum balance equation are the displacement $\mathbf u$, which is associated with the stress by the generalized Hook’s law as
$$ {\dot {\mathbf {\sigma}}} = C {\dot {\mathbf \epsilon}}^e = C ( {\dot {\mathbf \epsilon}} - {\dot {\mathbf \epsilon}}^T -{\dot {\mathbf \epsilon}}^p - {\dot {\mathbf \epsilon}}^{sw}-\cdots ) $$with $C$ the forth order elastic tensor, ${\dot {\mathbf \epsilon}}$ the total strain rate, ${\dot {\mathbf \epsilon}}^e$ the elastic strain rate, ${\dot {\mathbf \epsilon}}^T$ the thermal strain rate, ${\dot {\mathbf \epsilon}}^p$ the plastic strain rate, ${\dot {\mathbf \epsilon}}^{sw}$ the swelling strain rate.
The strain tensor is given by displacement vector as
$$ \mathbf \epsilon = \frac{1}{2} \left((\nabla \mathbf u)^{\text T}+\nabla \mathbf u\right) $$where the superscript ${\text T}$ means transpose.
List of medium properties required by TRM process.
Those properties are defined on the phase level for each medium. See phase properties for more details on defining them.
Property name | Mandatory | Constant | Function | Linear | Parameter | Other |
---|---|---|---|---|---|---|
Bulk modulus | Yes | Yes | No | No | No | - |
Density | Yes | Yes | Yes | No | No | - |
Latent heat | Yes | No | No | No | No | LatentWaterVapourLatentHeat |
Specific heat capacity | Yes | Yes | No | Yes | No | - |
Storage | Yes | Yes | No | No | No | - |
Swelling stress rate | Yes | No | No | No | No | SaturationDependentSwelling |
Thermal conductivity | Yes | Yes | No | No | No | - |
Thermal diffusion enhancement factor | Yes | Yes | No | No | No | - |
Vapour density | Yes | No | No | No | No | WaterVapourDensity |
Vapour diffusion | Yes | No | No | No | No | VapourDiffusionFEBEX |
Thermal expansivity | No | Yes | No | No | Yes | - |
Thermo-osmosis coefficient | No | Yes | No | No | No | - |
Those properties are defined on medium level. See medium properties for more details on defining them.
Property name | Mandatory | Constant | Function | Curve | Parameter | Other |
---|---|---|---|---|---|---|
Biot coefficient | Yes | Yes | No | No | No | - |
Bishop effective stress | Yes | No | No | No | No | BishopPowerLaw, BishopSturationCutoff |
Permeability | Yes | Yes | Yes | No | Yes | PermeabilityOrthotropicPowerLaw |
Porosity | Yes | Yes | No | No | No | PorosityFromMassBalance |
Relative permeability | Yes | Yes | No | Yes | No | RelPermBrooksCorey, RelativePermeabilityVanGenuchten |
Saturation | Yes | Yes | No | Yes | No | SaturationLiakopoulos, SaturationVanGenuchten |
Storage | Yes | Yes | No | No | No | - |
Thermal conductivity | Yes | Yes | Yes | Yes | Yes | EffectiveThermalConductivityPorosityMixing |
Transport porosity | Yes | No | No | No | No | TransportPorosityFromMassBalance |
TRM process has to be declared in the project file in the processes block. For example in following way:
<processes>
<process>
<type>THERMO_RICHARDS_MECHANICS</type>
</process>
</processes>
Following process variables are available in TRM process:
temperature
pressure
displacement
For more details, see Process variables.
For more detailed description of tags used in this snippet, please see Processes.
<processes>
<process>
<name>BodyForceTest</name>
<type>THERMO_RICHARDS_MECHANICS</type>
<mass_lumping>false</mass_lumping>
<integration_order>3</integration_order>
<constitutive_relation id="0">
...
</constitutive_relation>
<process_variables>
<temperature>temperature</temperature>
<pressure>pressure</pressure>
<displacement>displacement</displacement>
</process_variables>
<secondary_variables>
...
</secondary_variables>
<specific_body_force>0 -9.81</specific_body_force>
<apply_body_force_for_deformation>false</apply_body_force_for_deformation>
<initial_stress>Initial_stress</initial_stress>
</process>
</processes>
For more information on tags <apply_body_force_to_deformation>
and <mass_lumping>
see section Features at this page.
The diagonal lumping of the mass matrix of the Richards equation can be using by adding following tag to the <process> </process>
block:
<mass_lumping>true</mass_lumping>
TRM 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>
To gain more insight into TRM process, you can investigate TRM benchmarks.
This article was written by Feliks Kiszkurno, Wenqing Wang. If you are missing something or you find an error please let us know.
Generated with Hugo 0.122.0
in CI job 493443
|
Last revision: September 23, 2024
Commit: [MeL/IO/XDMF] Return also computed parent data type 09baf91
| Edit this page on