Hi, Brad. I updated the 3d model shown as follows and set the absolute solver tolerances according to your advice.
When I used the ASM preconditioner, I changed the zero_tolerance_normal to 1.0e-1 and still got the error of RuntimeError: WARNING! Fault opening with nonzero traction., v_fault: 2173, opening: 0.0101055, normal traction: 7.6532e-08
. Whereas, the simulation can run to completion when I specify the buried edge. Here is the part of slover setting and log.txt using the ASM preconditioner.
[pylithapp.petsc]
friction_pc_type = asm
friction_sub_pc_factor_shift_type = nonzero
friction_ksp_max_it = 10000
friction_ksp_gmres_restart = 30
friction_ksp_monitor = true
friction_ksp_view = true
friction_ksp_converged_reason = true
ksp_monitor_true_residual = true
log_asm.zip (3.9 MB)
When I used the fieldsplit preconditioner, I got the error of PETSC ERROR: KSPSolve has not converged
. Here is the part of slover setting and log.txt using the fieldsplit preconditioner.
[pylithapp.problem.formulation]
split_fields = True
matrix_type = aij
[pylithapp.petsc]
fs_pc_type = fieldsplit
fs_pc_use_amat = true
fs_pc_fieldsplit_type = multiplicative
fs_fieldsplit_displacement_pc_type = ml
fs_fieldsplit_lagrange_multiplier_pc_type = jacobi
fs_fieldsplit_displacement_ksp_type = preonly
fs_fieldsplit_lagrange_multiplier_ksp_type = preonly
log_fieldsplit.txt (838.9 KB)
Thanks.