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"
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).
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.
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?
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.