Hi Brad. I want to calculate the rupture speed after I obtained the results of the dynamic simulations. It is mentioned in an article that the rupture speed can be calculated by the spatial gradient. But I found it is very difficult for the nonplanar faults, especially there are overlapping part in y direction due to the fault bending. Is there any other way to calculate the rupture speed for nonplanar faults?

The general approach that I use is to map faults into a planar along-strike and down-dip coordinate system. I setup the mapping using a system of linear equations with one equation per fault cell (tri or quad) that relates the coordinates in the global Cartesian coordinate system with along-strike and down-dip coordinates in the fault plane coordinate system. I solve the system of equations using least squares (more triangles than vertices leads to more equations than unknowns). Once you have the rupture time in along-strike and down-dip coordinates, you can compute the rupture speed for each fault cell (tri or quad). A rigorous way to do do this is to use the finite-element method to compute the gradients, using the appropriate basis for the cell.

Thanks for answering. I don’t quite understand the mapping step. Does this mapping process mean that a coefficient matrix is multiplied by a Cartesian coordinate matrix of the cell vertices to obtain a along-strike and down-dip coordinate matrix? But both the coefficient matrix and along-strike and down-dip coordinate matrix are unknown. How can I get the along-strike and down-dip coordinate of each cell?

The procedure is more complicated than what you describe. I have some Python code embedded in a larger project that does the mapping but I don’t have a writeup. I will try to extract the code and create a simple example, but I won’t be able to get to it until late next week at the earliest.

Thanks a lot for your help.