Step 6: Error 6#
Error Message#
1$ pylith step06_twofaults.cfg
2
3 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/apps/PyLithApp.py:77:main
4 -- pylithapp(info)
5 -- Running on 1 process(es).
6 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/meshio/MeshIOObj.py:38:read
7 -- meshiopetsc(info)
8 -- Reading finite-element mesh
9 >> /src/cig/pylith/libsrc/pylith/meshio/MeshIO.cc:85:void pylith::meshio::MeshIO::read(pylith::topology::Mesh *, const bool)
10 -- meshiopetsc(info)
11 -- Component 'reader': Domain bounding box:
12 (-100000, 100000)
13 (-100000, 0)
14 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/faults/FaultCohesiveKin.py:87:preinitialize
15 -- faultcohesivekin(info)
16 -- Pre-initializing fault 'splay'.
17 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/faults/FaultCohesiveKin.py:87:preinitialize
18 -- faultcohesivekin(info)
19 -- Pre-initializing fault 'fault'.
20 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/problems/Problem.py:116:preinitialize
21 -- timedependent(info)
22 -- Performing minimal initialization before verifying configuration.
23 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/problems/Solution.py:39:preinitialize
24 -- solution(info)
25 -- Performing minimal initialization of solution.
26 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/materials/RheologyElasticity.py:35:preinitialize
27 -- isotropiclinearelasticity(info)
28 -- Performing minimal initialization of elasticity rheology 'bulk_rheology'.
29 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/materials/RheologyElasticity.py:35:preinitialize
30 -- isotropiclinearelasticity(info)
31 -- Performing minimal initialization of elasticity rheology 'bulk_rheology'.
32 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/materials/RheologyElasticity.py:35:preinitialize
33 -- isotropiclinearelasticity(info)
34 -- Performing minimal initialization of elasticity rheology 'bulk_rheology'.
35 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/bc/DirichletTimeDependent.py:86:preinitialize
36 -- dirichlettimedependent(info)
37 -- Performing minimal initialization of time-dependent Dirichlet boundary condition 'bc_xneg'.
38 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/bc/DirichletTimeDependent.py:86:preinitialize
39 -- dirichlettimedependent(info)
40 -- Performing minimal initialization of time-dependent Dirichlet boundary condition 'bc_xpos'.
41 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/bc/DirichletTimeDependent.py:86:preinitialize
42 -- dirichlettimedependent(info)
43 -- Performing minimal initialization of time-dependent Dirichlet boundary condition 'bc_yneg'.
44 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/faults/FaultCohesiveKin.py:87:preinitialize
45 -- faultcohesivekin(info)
46 -- Pre-initializing fault 'splay'.
47 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/faults/FaultCohesiveKin.py:87:preinitialize
48 -- faultcohesivekin(info)
49 -- Pre-initializing fault 'fault'.
50 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/problems/Problem.py:174:verifyConfiguration
51 -- timedependent(info)
52 -- Verifying compatibility of problem configuration.
53 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/problems/Problem.py:219:_printInfo
54 -- timedependent(info)
55 -- Scales for nondimensionalization:
56 Length scale: 1000*m
57 Time scale: 3.15576e+09*s
58 Pressure scale: 3e+10*m**-1*kg*s**-2
59 Density scale: 2.98765e+23*m**-3*kg
60 Temperature scale: 1*K
61 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/problems/Problem.py:185:initialize
62 -- timedependent(info)
63 -- Initializing timedependent problem with quasistatic formulation.
64 >> /src/cig/pylith/libsrc/pylith/utils/PetscOptions.cc:239:static void pylith::utils::_PetscOptions::write(pythia::journal::info_t &, const char *, const PetscOptions &)
65 -- petscoptions(info)
66 -- Setting PETSc options:
67dm_reorder_section = true
68dm_reorder_section_type = cohesive
69ksp_atol = 1.0e-12
70ksp_converged_reason = true
71ksp_error_if_not_converged = true
72ksp_guess_pod_size = 8
73ksp_guess_type = pod
74ksp_rtol = 1.0e-12
75mg_fine_pc_type = vpbjacobi
76pc_type = gamg
77snes_atol = 1.0e-9
78snes_converged_reason = true
79snes_error_if_not_converged = true
80snes_monitor = true
81snes_rtol = 1.0e-12
82ts_error_if_step_fails = true
83ts_monitor = true
84ts_type = beuler
85
86 >> /software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/problems/TimeDependent.py:132:run
87 -- timedependent(info)
88 -- Solving problem.
890 TS dt 0.2 time -0.2
90 0 SNES Function norm 1.989081034695e-02
91 Linear solve converged due to CONVERGED_RTOL iterations 2
92 1 SNES Function norm 1.989081034695e-02
93 Nonlinear solve did not converge due to DIVERGED_MAX_IT iterations 1
94[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
95[0]PETSC ERROR: SNESSolve has not converged
96[0]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
97[0]PETSC ERROR: Petsc Development GIT revision: v3.21.2-167-g4fed2113cae GIT Date: 2024-05-31 10:11:14 -0400
98[0]PETSC ERROR: /software/unix/py3.12-venv/pylith-debug/bin/mpinemesis on a arch-clang-15.0_debug named IGSKCI164LM006 by baagaard Wed Jun 5 13:47:43 2024
99[0]PETSC ERROR: Configure options --PETSC_ARCH=arch-clang-15.0_debug --with-debugging=1 --with-clanguage=c --with-mpi-compilers=1 --with-shared-libraries=1 --with-64-bit-points=1 --with-large-file-io=1 --with-lgrind=0 --download-chaco=1 --download-parmetis=1 --download-metis=1 --download-triangle --download-ml=1 --download-superlu=1 --with-fc=0 --download-f2cblaslapack --with-hdf5=1 --with-hdf5-include=/software/unix/hdf5-1.14/clang-15.0/include --with-hdf5-lib=/software/unix/hdf5-1.14/clang-15.0/lib/libhdf5.dylib --with-zlib=1
100[0]PETSC ERROR: #1 SNESSolve() at /software/unix/petsc-dev/src/snes/interface/snes.c:4751
101[0]PETSC ERROR: #2 TSTheta_SNESSolve() at /software/unix/petsc-dev/src/ts/impls/implicit/theta/theta.c:174
102[0]PETSC ERROR: #3 TSStep_Theta() at /software/unix/petsc-dev/src/ts/impls/implicit/theta/theta.c:225
103[0]PETSC ERROR: #4 TSStep() at /software/unix/petsc-dev/src/ts/interface/ts.c:3391
104[0]PETSC ERROR: #5 TSSolve() at /software/unix/petsc-dev/src/ts/interface/ts.c:4037
105[0]PETSC ERROR: #6 void pylith::problems::TimeDependent::solve()() at /src/cig/pylith/libsrc/pylith/problems/TimeDependent.cc:487
106Fatal error. Calling MPI_Abort() to abort PyLith application.
107Traceback (most recent call last):
108 File "/software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/apps/PetscApplication.py", line 55, in onComputeNodes
109 self.main(*args, **kwds)
110 File "/software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/apps/PyLithApp.py", line 114, in main
111 self.problem.run(self)
112 File "/software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/problems/TimeDependent.py", line 134, in run
113 ModuleTimeDependent.solve(self)
114 File "/software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/problems/problems.py", line 217, in solve
115 return _problems.TimeDependent_solve(self)
116 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
117RuntimeError: Error detected while in PETSc function.
118Abort(-1) on node 0 (rank 0 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, -1) - process 0
119/software/unix/py3.12-venv/pylith-debug/bin/nemesis: mpiexec: exit 255
Troubleshooting Strategy#
The PETSc nonlinear solver fails to converge in 1 iteration.
Because this is a linear problem, we set the maximum number of nonlinear solver (SNES) iterations to 1, so that we would get this error as a way of identifying errors in the problem setup.
We examine the parameters in step06_twofaults.cfg, and we do not find any obvious errors.
We load the info files into ParaView to visualize their contents for errors.
After loading step06_twofaults-fault_info.xmf and step06_twofaults-splay_info.xmf, we see that the faults cross each other as shown in Fig. 178.
In step06_twofaults.cfg we see that the splay fault is listed first in the array of faults.
The through-going fault (main fault) should be listed first.
Fig. 178 Incorrect geometry for the splay and main faults. The splay fault crosses the main fault instead of terminating where they intersect.#
Resolution#
# Error
[pylithapp.problem]
interfaces = [splay, fault]
# Correct
[pylithapp.problem]
interfaces = [fault, splay]