This MR
- fixes the errors in the calculation of global PETSc matrix and PETSc vector on the test machines of envinf2 and envinf3
- adds a benchmark to solve TaskCDECOVALEX2023 using the Picard nonlinear solver.
- uses the above added new benchmark as a parallel computing benchmark.
- adds a benchmark to solve TaskCDECOVALEX2023 sequentially using PETSc linear solver.
The existing benchmark of TaskCDECOVALEX2023, which uses the Newton-Raphson nonlinear solver, can not be solved by parallel computing. After several tests, none of the settings of PETSc ksp and PETSc preconditioner can give converged solution of the parallel computing of that benchmark. The reason could be that the linearization equation of this benchmark has larger condition number than that of the linearization equation by the Picard nonlinear solver such that it cannot be handled by the exiting setting of PETSc solver configuration in the source code (e.g Dirichlet BC).
The following figures compare the results obtained by using serial computing (with Eigen linear solver) and parallel computing (3 partitions, PETSc linear solver), respectively:
where the left figures show the temporal variation of temperature and saturation at the position marked with the pink color point in the left figures.
The parallel computing test takes only one forth of the time used by the serial computing.
This MR fixes #3217 (closed) and fixes #3275 (closed) as well.
-
Feature description was added to the changelog -
Tests covering your feature were added? -
Any new feature or behavior change was documented?