Questions about PETSc settings

Hi, everyone. I am a beginner of PyLith. I am trying to simulate a 2D locked fault in a subduction zone. The mesh size at the fault is approximately 1 km. The mesh generated by Trelis has already passed quality checks. I used a back-slip model. The simulation duration is 500 years to attempt reaching a steady state. The surface displacement of the final year is treated as the surface velocity field. I set adaptive time stepping with a maximum time step of 2 years. I encountered PETSc errors. After attempts, the current setup allows the simulation to run.

[pylithapp.petsc]
pc_type = asm
sub_pc_factor_shift_type = nonzero

ksp_rtol = 1.0e-7
ksp_atol = 1.0e-9
ksp_max_it = 10000
ksp_gmres_restart = 100

ksp_monitor = true
#ksp_view = true
ksp_converged_reason = true
ksp_error_if_not_converged = true

snes_rtol = 1.0e-8
snes_atol = 1.0e-8
snes_max_it = 100
snes_monitor = true
#snes_view = true
snes_converged_reason = true
snes_error_if_not_converged = true

However, the current parameters seem to be much larger than those in Table 4.3 of the V2.2.2 manual, especially ksp_max_it. During the computation, the number of KSP iterations mostly ranges from 1000 to 2000. I want to know how to verify whether my parameter settings and calculation results are reliable.

Additional question:
Many VTK files were generated in my working directory. Where did I go wrong with my output settings?

Thank you in advance for your reply. Any comments would be helpful to me.

output

[pylithapp.timedependent.formulation]
output = [domain,groundsurf]

Domain

[pylithapp.problem.formulation.output.domain]
output_freq = time_step
time_step = 10.0*year
writer = pylith.meshio.DataWriterHDF5
writer.filename = output/domain.h5

Ground surface

[pylithapp.problem.formulation.output.groundsurf]
#label = groundsurf
skip = 0
writer = pylith.meshio.DataWriterHDF5
writer.filename = output/groundsurf.h5

It looks like you are using PyLith v2.2.2. For PyLith v2.2.2 we recommend using the solver settings given in Table 4.4, which are provided in PYLITH_SRC_DIR/share/settings/solver_fault_exact.cfg.

If you need additional help, please provide a diagram of the boundary value problem you are trying to solve, including descriptions of the boundary conditions and material properties.

Thank you very much. Now the number of iterations is generally within 300.