Step 6: Error 7#
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 'fault'.
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 'splay'.
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 'fault'.
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 'splay'.
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[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
92[0]PETSC ERROR: Residual norm computed by GMRES recursion formula 2.28464e+17 is far from the computed residual norm 2.99942e+27 at restart, residual norm at start of cycle 9.77239e+24
93[0]PETSC ERROR: WARNING! There are unused option(s) set! Could be the program crashed before usage or a spelling mistake, etc!
94[0]PETSC ERROR: Option left: name:-ksp_converged_reason (no value) source: code
95[0]PETSC ERROR: Option left: name:-snes_converged_reason (no value) source: code
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:56:54 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 KSPGMRESCycle() at /software/unix/petsc-dev/src/ksp/ksp/impls/gmres/gmres.c:116
101[0]PETSC ERROR: #2 KSPSolve_GMRES() at /software/unix/petsc-dev/src/ksp/ksp/impls/gmres/gmres.c:227
102[0]PETSC ERROR: #3 KSPSolve_Private() at /software/unix/petsc-dev/src/ksp/ksp/interface/itfunc.c:905
103[0]PETSC ERROR: #4 KSPSolve() at /software/unix/petsc-dev/src/ksp/ksp/interface/itfunc.c:1078
104[0]PETSC ERROR: #5 SNESSolve_NEWTONLS() at /software/unix/petsc-dev/src/snes/impls/ls/ls.c:220
105[0]PETSC ERROR: #6 SNESSolve() at /software/unix/petsc-dev/src/snes/interface/snes.c:4738
106[0]PETSC ERROR: #7 TSTheta_SNESSolve() at /software/unix/petsc-dev/src/ts/impls/implicit/theta/theta.c:174
107[0]PETSC ERROR: #8 TSStep_Theta() at /software/unix/petsc-dev/src/ts/impls/implicit/theta/theta.c:225
108[0]PETSC ERROR: #9 TSStep() at /software/unix/petsc-dev/src/ts/interface/ts.c:3391
109[0]PETSC ERROR: #10 TSSolve() at /software/unix/petsc-dev/src/ts/interface/ts.c:4037
110[0]PETSC ERROR: #11 void pylith::problems::TimeDependent::solve()() at /src/cig/pylith/libsrc/pylith/problems/TimeDependent.cc:487
111Fatal error. Calling MPI_Abort() to abort PyLith application.
112Traceback (most recent call last):
113 File "/software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/apps/PetscApplication.py", line 55, in onComputeNodes
114 self.main(*args, **kwds)
115 File "/software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/apps/PyLithApp.py", line 114, in main
116 self.problem.run(self)
117 File "/software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/problems/TimeDependent.py", line 134, in run
118 ModuleTimeDependent.solve(self)
119 File "/software/unix/py3.12-venv/pylith-debug/lib/python3.12/site-packages/pylith/problems/problems.py", line 217, in solve
120 return _problems.TimeDependent_solve(self)
121 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
122RuntimeError: Error detected while in PETSc function.
123Abort(-1) on node 0 (rank 0 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, -1) - process 0
124/software/unix/py3.12-venv/pylith-debug/bin/nemesis: mpiexec: exit 255
125/software/unix/py3.12-venv/pylith-debug/bin/pylith: /software/unix/py3.12-venv/pylith-debug/bin/nemesis: exit 1
Troubleshooting Strategy#
PETSc encounters another error during the solve.
This also suggests there is an error in how we setup the problem.
We again 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 overlap just below their intersection as shown in Fig. 179.
The bottom of each fault is buried, so we need to identify the buried edges so that when PyLith inserts the cohesive cells it can terminate the fault properly.
Fig. 179 Incorrect geometry for the splay and main faults. The two faults overlap just below their intersection. The bottom edge of each fault is buried, so we must identify the buried edges so that PyLith properly terminates the edges of the faults when inserting the cohesive cells.#
Resolution#
[pylithapp.problem.interfaces.fault]
...
edge = fault_end
edge_value = 21
[pylithapp.problem.interfaces.splay]
...
edge = splay_end
edge_value = 23