|
| 1 | +# This file provides an optimized solver, the analogue of LU factorization, for the |
| 2 | +# saddle point system arising from problems with a fault. This should be used for |
| 3 | +# large production runs. |
| 4 | + |
| 5 | +[pylithapp.problem.formulation] |
| 6 | +# The split_fields flag must be specified, so that the PCFIELDSPLIT preconditioner |
| 7 | +# can be used. The matrix_type must be set to aij since we lose symmetry when |
| 8 | +# splitting. We have turned on the custom preconditioner for the fault problem. |
| 9 | +# |
| 10 | +split_fields = True |
| 11 | +matrix_type = aij |
| 12 | +use_custom_constraint_pc = True |
| 13 | + |
| 14 | +[pylithapp.petsc] |
| 15 | +# We use only the upper part of the Schur complement factorization and solve |
| 16 | +# the subsystems inexactly. The displacements are solved with algebraic |
| 17 | +# multigrid (GAMG), and the fault tractions with a standard Krylov method |
| 18 | +# since we do not explicitly form the Schur complement matrix. |
| 19 | +# |
| 20 | +#snes_view = true |
| 21 | +#ksp_monitor_true_residual = true |
| 22 | +fs_pc_type = fieldsplit |
| 23 | +fs_pc_use_amat = true |
| 24 | +fs_pc_fieldsplit_type = schur |
| 25 | +fs_pc_fieldsplit_schur_factorization_type = upper |
| 26 | +fs_pc_fieldsplit_schur_precondition = user |
| 27 | +fs_fieldsplit_displacement_ksp_type = gmres |
| 28 | +fs_fieldsplit_displacement_ksp_rtol = 5.0e-10 |
| 29 | +fs_fieldsplit_displacement_pc_type = gamg |
| 30 | +fs_fieldsplit_lagrange_multiplier_pc_type = jacobi |
| 31 | +fs_fieldsplit_lagrange_multiplier_ksp_type = gmres |
| 32 | +fs_fieldsplit_lagrange_multiplier_ksp_rtol = 1.0e-05 |
| 33 | +fs_fieldsplit_lagrange_multiplier_ksp_converged_reason = true |
0 commit comments