# Nonlinear solve did not converge with comments "Line search: Cubic step no good, shrinking lambda"

**URL:** <https://community.geodynamics.org/t/nonlinear-solve-did-not-converge-with-comments-line-search-cubic-step-no-good-shrinking-lambda/4316>\
**Category:** PyLith\
**Tags:** seismology, mesh, petsc\
**Created:** [October 9, 2025, 8:19am UTC](https://community.geodynamics.org/t/nonlinear-solve-did-not-converge-with-comments-line-search-cubic-step-no-good-shrinking-lambda/4316 "2025-10-09T08:19:49Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![dian.k](https://yyz2.discourse-cdn.com/flex036/user_avatar/community.geodynamics.org/dian.k/32/2334_2.png) [@dian.k](https://community.geodynamics.org/u/dian.k)\
**Post date:** [October 9, 2025, 8:19am UTC](https://community.geodynamics.org/t/nonlinear-solve-did-not-converge-with-comments-line-search-cubic-step-no-good-shrinking-lambda/4316/1 "2025-10-09T08:19:49Z")

</div>

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.

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/geodynamics/original/2X/f/f19aabed6500f3b25b145ec5705a5d9e8f548161.png)

[errorfiles.zip](https://community.geodynamics.org/uploads/short-url/lUhp8S7ExkGdy3FMhnxBOSVxytL.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

---

<div class="post-metadata">

**Author:** ![baagaard](https://yyz2.discourse-cdn.com/flex036/user_avatar/community.geodynamics.org/baagaard/32/615_2.png) [@baagaard](https://community.geodynamics.org/u/baagaard)\
**Post date:** [November 13, 2025, 4:48pm UTC](https://community.geodynamics.org/t/nonlinear-solve-did-not-converge-with-comments-line-search-cubic-step-no-good-shrinking-lambda/4316/2 "2025-11-13T16:48:48Z")

</div>

Your SNES absolute tolerance is quite large. We usually use a value that is only 1-2 orders of magnitude larger than the zero tolerance.

Did you compare the quality metrics for the mesh with 6 faults versus the ones for the mesh with 8 faults (even if you have all of the faults disabled)? Sometimes adding additional faults that are close to each other results in slivers and skewed cells which degrades the solver convergence.

---

<div class="post-metadata">

**Author:** ![dian.k](https://yyz2.discourse-cdn.com/flex036/user_avatar/community.geodynamics.org/dian.k/32/2334_2.png) [@dian.k](https://community.geodynamics.org/u/dian.k)\
**Post date:** [November 20, 2025, 2:32am UTC](https://community.geodynamics.org/t/nonlinear-solve-did-not-converge-with-comments-line-search-cubic-step-no-good-shrinking-lambda/4316/3 "2025-11-20T02:32:09Z")

</div>

Dear @baagaard

Thank you for your reply,

I have not assess quality metrics, but I try it. Thank you.

Dian
