Restricting numerical Jacobian perturbations to primary variable-wise and introducing a H2M excavation benchmark
The existing numerical Jacobian perturbations can be assigned either on a primary variable-wise basis or per element node per component. The latter cannot be applied to meshes with different element types, and it is difficult to choose values for so many components. The changes in this MR restrict the numerical Jacobian perturbations to a primary variable-wise approach, while enabling compatibility with the staggered scheme.
Up to now, if the number of perturbations exceeds the number of variable components, only a warning message has been issued. Therefore, the current numerical Jacobian benchmark project files, many of which involve more perturbations, remain unchanged. Moreover, the results of these benchmarks are not affected. It is evident that computation using perturbations per element node per component is unnecessary.
The detailed changes in the processes are as follows:
-
ThermalMechanicsprocess: use of the numerical Jacobian is prohibited because it is unnecessary. -
RichardsMechanicsprocess: a bug in the numerical Jacobian has been fixed. -
HydraulicMechanicsprocess: use of the numerical Jacobian is prohibited because it is unnecessary. -
ThermoHydraulicMechanicsprocess: using of the numerical Jacobian is prohibited because there is no Picard assembler. -
ThermoRichardsMechanicsprocess: using of the numerical Jacobian is prohibited because there is no Picard assembler. -
LIEprocess: using of the numerical Jacobian is prohibited because it is unnecessary. - Phasefield related processes: using of the numerical Jacobian is prohibited.
Benchmark
A new Juypter notebook benchmark, entitled as A 2D benchmark of excavation modelling under two phase flow condition, is included in this MR as well.
The benchmark is conducted using both elastic and elasto-plastic models with Taylor–Hood elements. The results demonstrate the influence of the elasto-plastic model on the simulation outcomes. To tailor the run for shorter computation times, a coarse mesh is generated and a large cohesion value is assigned to the plastic model to reduce non-linear iterations. Adjustments to the mesh element density and cohesion can be made directly within this notebook.
The purposes of the benchmark are threefold:
- to test the current source code changes,
- to test excavation modelling under two phase flow condition and plastic deformation using Taylor-Hood elements,
- to further test the previously introduced boundary conditions for excavation modelling:
TimeDecayDirichletandReleaseNodalForce.
-
Feature description was added to the changelog -
Tests covering your feature were added? -
Any new feature or behaviour change was documented?