Hi everyone, I am building 3D subduction zone models using Cubit and PyLith. I’ve run into a recurring issue regarding the orientation of the fault local coordinate system, specifically the normal_dir. In some models, the fault normal correctly points toward the hanging wall. Consequently, the dip direction points up-dip, and a positive dip-slip acts as a reverse fault. However, in other models with slightly different geometries, the normal flips and points toward the footwall.
So I want to know how exactly does PyLith determine the positive side of a fault interface? Does it rely on Volume IDs, Block IDs, or the explicit surface normal defined in Cubit? How to ensure the fault normal always points toward the hanging wall?
Thanks in advance!
In the multi-physics formulation we use in PyLith v3 and later, we switched to relying on the fault cohesive cells to provide the fault orientation. The normal direction is defined by how the cohesive cells are inserted into the mesh. From the viewpoint of the algorithm inserting the cohesive cells (which doesn’t know about seismological conventions), the normal direction is ambiguous and it just picks one of the two options.
The along-strike direction in cases in which the fault is not horizontal and not extremely nonplanar will match the seismological convention. If the fault normal for a dipping fault points upward, then the reverse slip direction will also match seismological conventions. If the fault normal for a dipping fault points downward, then the reverse direction will get flipped. I don’t think the sense of slip gets reversed, but we recommend always checking the sense of slip and fault orientation directions in 3D. The user does not have control over the selection of the fault normal direction.
I finally fixed this issue in the current development branch so that the output will match seismological conventions in almost all cases. If the fault is highly nonplanar so that the normal direction has large spatial variations, then it can be ambiguous which direction to pick to match seismological conventions.
Thank you very much for the detailed explanation!
I noticed that even if the normal points downward (and the dip points down-dip), applying a positive reverse slip produces the exact same surface deformation as up dip slip. So I just read the 3 basis vectors (normal, dip, strike) directly from the fault info. If I detect the normal dir downward, I simply flip all three vectors. This instantly flips the coordinate system to the standard seismological convention.