Skip to content

Replaced the hard coded solid density model in THM with the MPL property

wenqing requested to merge wenqing/ogs:THM_update into master

In the local assembler of THM, the solid density is hard coded with an increment way of expressing the solid density variation along with the temperature change via the solid mass balance as

  \rho_s^{n+1}  V^{n+1} = \rho_s^n  V^n,

with \rho_s the density, V, the volume, and n the index of the time step. Under pure thermo-mechanics condition, the volume change along with the temperature change is given by

 V^{n+1} = V^{n} +  \alpha_T  dT  V^{n} = (1+\alpha_T  dT)V^{n},

where \alpha_T is the volumetric thermal expansivity of the solid. This gives

\rho_s^{n+1} +  \alpha_T  dT \rho_s^{n+1} =  \rho_s^n.

Therefore, we can obtain the differential expression of the temperature dependent solid density as

        \frac{d \rho_s}{d T} = -\alpha_T \rho_s.
 The solution of the above ODE, i.e the density expression, is derived as
       \rho_s = {\rho_0} \mathrm{exp} (- \alpha_T (T-T_0)),

with reference density \rho_0 at a reference temperature of T_0. By this way, an analytical temperature dependent solid density expression is derived based on the increment model of the solid density.

An MPL property with the type of Exponential (see MaterialPropertyLib::Exponential) can be used for the presented analytic temperature dependent solid model.

The local assemble with the hard coded solid density model can cause problem in the calculation of the initial stress in a very large domain by the gravitational force. Besides the density does not only depend on temperature under the THM conditions.

This MR replaces the hard coded solid density model with a MPL property. Along with the new changes, the input parameter of reference_temperature is dropped.

For all existing benchmarks, there is very tiny difference in the solid density value by using a constant solid density or the hard coded solid density with the constant density as the reference due to the small magnitude of temperature change or due to the small domain size. Therefore, the solid density input data, which was used for the solid density reference value before, is not change in all project file except that for ThermoHydroMechanics/Linear/CylindricalCavity. In the project file for ThermoHydroMechanics/Linear/CylindricalCavity, as an example of using the exponential MPL property, its solid density is replaced.

  1. Feature description was added to the changelog
  2. Tests covering your feature were added? With the existing THM benchmarks
  3. Any new feature or behavior change was documented?
Edited by wenqing

Merge request reports