Error Petsc Runnig Pylith 3.0.2

Hello, when I try to run a subduction 3D problem (not the example one) with pylith version3.0.2:
[pylithapp.problem]

solver = nonlinear or solver = linear

defaults.quadrature_order = 1

I obtain the following error:

"0 SNES Function norm 1.234188029403e+06
Linear solve did not converge due to DIVERGED_ITS iterations 10000
[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
[0]PETSC ERROR: KSPSolve has not converged, reason DIVERGED_ITS
[0]PETSC ERROR: See FAQ — PETSc 3.18.0 documentation for trouble shooting.

0 SNES Function norm 1.234188029403e+06
[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
[0]PETSC ERROR: Zero pivot in LU factorization: FAQ — PETSc 3.18.0 documentation
[0]PETSC ERROR: Zero pivot, row 3
[0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range"

Thanks for your time.

A zero pivot means that the solve found a zero on the diagonal. With PyLith v3.0.2 you should start by not specifying any PETSc settings. The code now has defaults that work for most cases; the choice of solver parameters will depend on your parameters (material type and presence of a fault).

1 Like

Linear solve did not converge due to DIVERGED_ITS iterations 10000
[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
[0]PETSC ERROR: KSPSolve has not converged, reason DIVERGED_ITS

A new error appears, I’m using a 3D subduction mesh, with absorbing Boundary conditions. But when i use Dirichlet condition it works.

Thanks.

3D_subduction.zip (391.3 KB)

Please provide a diagram and description of the boundary value problem you are trying to solve. I don’t understand why you are using an absorbing boundary. Are you trying to run a dynamic problem?

I’m trying to obtain ground motions with Liu slip function, and need that the waves doesn´t reflect into tthe FEM-mesh domain.

Dynamic simulations are not yet functional in PyLith v3.

The mesh in your screenshot does not look to have sufficient resolution for a dynamic problem. For linear basis functions, you need at least 10 cells per the shortest wavelength over the entire domain. Typically you may be able to get away with growing the cell size with distance from the fault at a rate of about 2%. This results in a mesh with a very slowly increasing cell size. Your mesh in the orange, dark blue, and red regions looks much too coarse.

1 Like