Nonzero traction error in spontaneous rupture model

I would continue refining the mesh until you see that the solution converges. If you refine by a factor of 2 and the differences in the solution fields you care about are negligible, then you can have some confidence that the solution is relatively robust.

Thank you for your reply.

May I ask,
How do I know that my solution is converging? Is it if my solution satisfy the fault tolerance (zero and normal tolerance), the linear solver tolerance (ksp_rtol, ksp_atol), and the nonlinear solver tolerance (snes_rtol, snes_atol).

Kindly apologize for my simple question, because I am still learning, and new in numerical modeling. Thank you.

The solver will report convergence information if the following PETSc options are used:

[pylithapp.petsc]
ksp_converged_reason = true
snes_converged_reason = true

If you see CONVERGED_ATOL, then it means the solver converged as a result of finding a residual less than the absolute tolerance. Similarly, CONVERGED_RTOL means the solver converged as a result of finding a residual less than the relative tolerance (initial residual multiplied by the relative tolerance).

With the following PETSc options, which we strongly recommend that you use, the solver will report an error if it does not converge. Without these options, the solve will continue and, in most cases, you will get strange results because the solution will diverge.

ksp_error_if_not_converged = true
snes_error_if_not_converged = true

In PyLith v3 and later, these options are all enabled by default.

Thank you @baagaard
I will check and study these parameters.