An error occurred when applying fault slip

Hello, I want to apply right lateral slip on the fault in pylith2.2.2. When I run the simulation using the code from the compressed package, it always gives an error (as shown in the figure), and I don’t know what the problem is or how to change it to make the code run. Thank you for taking the time.

xxxx.zip (1.0 MB)

RuntimeError: Error occurred while reading spatial database file 'mat_concrust.spatialdb'.
I/O error while reading SimpleDB data. Error occurred while reading data for final point.
Make sure that the last line with data ends with an end-of-line character.

You may not be seeing the entire error message. I get the above error message (after the Python backtrace), which can be resolved by added an end-of-line character to the end (just like the error message suggests).

RuntimeError: Could not find final slip at (  -623.079  601.475  -13500) using spatial database Final slip.

After resolving the first error, the next error message suggests that the point in the slip distribution may not be sufficient to interpolate to all points on your fault. I noticed the first few lines add a bunch of points very far from the rest of your points. For efficiency, the SimpleDB algorithm only considers the closest points (I don’t recall how many), so the spacing between points should be relatively uniform and must completely surround the points in the mesh. I would check to make sure the points in your spatial database enclose all of the points on your fault and the spacing between them is relatively uniform (usually variations in spacing within a factor of 5-10 are okay if the density of points is not large; a dense cluster of points means the surrounding points should be closer to the cluster).

Thank you for your suggestion. After receiving your response above, I think the points I have placed far away exceed the limit of spacing. I tried to keep them within a range of 5 to 10 times the spacing variation while ensuring that these points cover the entire fault. However, the program cannot run completely and keeps getting stuck at this step without proceeding further (see figure). Is there a misunderstanding on my part?

It is not clear whether the simulation is getting stuck or it is taking a long time to initialize. I recommend starting with a very coarse mesh with the same parameters. If it hangs, then that would indicate there is likely an error with the simulation parameters. If it runs quickly and the results look correct, then you there may be an issue with the finer resolution mesh or there is an issue with the size of the problem (for example running out of memory).

Thank you for your reply. After using a very coarse grid (increasing the grid size on the fault from 1000 to 5000), I am still stuck at the same step. So it should not be a grid issue, but rather an error in the simulation parameters. Could you please tell me which parameters I need to adjust to get the program running?

To diagnose the error, I suggest simplifying the parameters until you can identify which one(s) are causing the problem. It looks like the issue is with the fault initialization. For example, you can try a uniform slip distribution, and verify the results are reasonable. Once that works, you can try using your spatially varying slip with nearest interpolation to diagnose issues, before switching back to linear interpolation.