Dear Sir,
I use Pylith 2.2.1 to model interseismic deformation (with displacement rate applied on the boundaries), with several faults embedded in the model.
At first when I ran the model with six faults, the model ran smoothly. But, when I added two faults at the center of the model, I encountered an error. The nonlinear solve did not converge, and I noticed SNES Function norm in increasing. In addition there is also comments in the error log: “Line search: Cubic step no good, shrinking lambda” (as shown below).
Then I tried to excluded my new two faults from the model by adding # to these faults parameter in the cfg, but still using the same mesh to run. When I did that I still found the same error.
I already tried to set the ksp_rtol, ksp_atol, snes_rtol, snes_atol, zero_tolerance, and zero_tolerance_normal following the suggestion in the forum, but I still found the same error. I also already change pc_type and friction_pc_type from “asm” to “ml” but the error note produced is much more than the previous.
Kindly suggest what should I do.
Below is my convergence parameter, and the error log, .json files, and mesh png.
Kindly advice. Thank you.
errorfiles.zip (487.0 KB)
#Preconditioner settings
pc_type = asm
sub_pc_factor_shift_type = nonzero
#Linear solver
ksp_rtol = 1.0e-10
ksp_atol = 1.0e-7
#Nonlinear solver
snes_rtol = 1.0e-10
snes_atol = 1.0e-3
friction_pc_type = asm
[pylithapp.problem.interfaces.fault]
zero_tolerance = 1.0e-6
zero_tolerance_normal = 1.0e-6
