Step 6: Error 7#

Error Message#

Listing 288 Error message 7 when running Step 6.#
  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#

Listing 289 Correct error in step06_twofaults.cfg.#
[pylithapp.problem.interfaces.fault]
...
edge = fault_end
edge_value = 21

[pylithapp.problem.interfaces.splay]
...
edge = splay_end
edge_value = 23