Replaced the hard coded solid density model in THM with the MPL property
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.
-
Feature description was added to the changelog -
Tests covering your feature were added? With the existing THM benchmarks -
Any new feature or behavior change was documented?