Unable to find final slip

Dear everyone,

I still have the same issue as written in Spatial data projection - #3 by alvinakkuncoro

I tried to plot the mesh using the python script but it was failed to run. This is the report :

import os
HOME=os.environ[“HOME”]
EXODUS_FILE=os.path.join(HOME,“a”,“akuncoro”,“Documents”,“mesh_tet.exo”)
File “”, line 1
mesh_tet.exo")
SyntaxError: EOL while scanning string literal
File “”, line 1
IndentationError: unexpected indent
File “”, line 1
SyntaxError: invalid syntax
SyntaxError: invalid syntax
File “”, line 1
SyntaxError: invalid syntax
File “”, line 1
HOME=os.environ[“HOME”]
SyntaxError: invalid syntax
File “”, line 1
EXODUS_FILE=os.path.join(HOME,“a”,“akuncoro”,“Documents”,“mesh_tet.exo”)
SyntaxError: invalid syntax

And this is the error when I simulate 3d subduction step02.cfg:

RuntimeError: Could not find final slip at ( 794192 9.68241e+06 -71472.1) using spatial database Final slip.

If (for example) the fault mesh has no spatial database point surrounding the vertex as mentioned in Charles’s explanation. Which solution should be done to fix the problem? Does the fault geometry have to be changed and follow the coseismic spatial data point? Or is there any other way to do? In my case, I use slab geometry from Slab 2.0 and coseismic slip result from USGS.

Thank you in advance.
Alvina K K

What Python script are you trying to run and how did you run it? It looks like the Python interpreter is having difficulty parsing the file. If it is a Python script, you might want to run pylint or another Python syntax checker on it to help you identify the problem.

PyLith uses interpolation to assign slip values to points on the fault. If your spatial database does not span the entire fault, you will get an error like “Could not find slip at (x, y, z) using spatial database Final slip”. You must adjust your spatial database file to fix this error. I recommend plotting your fault surface and plotting the points in your spatial database (make sure you are using the same coordinate system when doing the plotting) to see where you need to add points to your spatial database. We don’t have generic routines to do this, so you will have to write such a plotting script yourself or manually add points in ParaView.

Dear Brad,

I try to plot my mesh in Paraview using plot_mesh.py script through Paraview GUI Python.

Besides investigating the spatial database point with the fault mesh geometry, will it help if I decrease the mesh size of the fault so I will have more points around the spatial database?

Thank you in advance
Alvina KK

Changing the mesh size will not resolve the problem.

Here is a diagram that illustrates what I expect to be the problem. The rectangle is your fault and the x's are the points in your spatial database.

--------------------
|  x      x      x |
|                  |
|  x   x        x  |
--------------------

What you need is something like:

x     x      x      x
  ------------------
x |  x   x    x    | x
x |  x   x    x    | x
x |  x   x    x    | x
  ------------------
x     x      x      x

The spatial database points must cover the entire fault surface, not just where slip is nonzero. All points on the fault surface must be inside the region covered by the points in the spatial database.

I get the point now.
Based on your explanation, the spatial database must cover the fault geometry. Which means that my fault geometry should be at least has the same size or a little bit smaller than the spatial data base size. Please correct me if I am wrong.

Then, my new question: for the spatial database point which is actually not inside the fault geometry, will it influence the result of the simulation?

Thank you.
Alvina K K

PyLith uses the points in the spatial database to interpolate the slip distribution onto the fault surface. If your spatial database values have nonzero slip beyond the spatial extent of your fault surface, then those points can lead to nonzero slip at the edges of your fault surface. However, if you slip is confined to only a portion of the fault surface, and you add additional points to your spatial database with zero slip surrounding the edges of your fault, then these additional points will not alter the region with nonzero slip.