Problem Running Constarined Fault Zone Pylith2

Hello, I have a problem when trying to run a constrained megathrust rupture zone mesh in pylith 2.

I attached the files.

Thanks for your help.

Uploading: Captura de Pantalla 2022-09-26 a la(s) 17.06.04.png…

PyLith generates the error Could not classify all cells connected to the fault when it is unable to determine the cells on each side of the fault. There is likely an error in the parameter file (for example, forgetting to mark and specify buried edges) or in the topology of the mesh (for example, large curvature in nonplanar fault geometry not resolved by the geometry or distorted cells).

We might be able to provide more help if you include a diagram of the problem, including the fault geometry.

geometry_Iq_YEAH_c.jou (4.3 KB)
bc_YEAH_OK_b.jou (4.7 KB)
SATfiles.tar.gz (2.5 MB)
mesh.tar.gz (168.9 KB)

I attach the *.jou and *.sat files with which I generated the mesh. The node set named cos correspond to the rupture zone.


The likely problem is the workflow you have for creating the geometry.

  1. When you do a webcut with the moho surface, you are cutting two volumes (continental crust+mantle and the block below the slab). Because the bottom of the slab is nearly matches the moho surface, this is going to cause problems. I think you only need to webcut the continental crust+mantle (v_domain@A).

  2. You do not need to create a separate surface for the top of the slab (s_cosis). The slab volume is made up of surfaces, so you can just use the portion of the top surface that coincides with s_cosis.

Make sure you do a mesh quality check and use condition number smoothing to improve the mesh quality. This will not improve the mesh quality for cells with all vertices on surfaces, but it should improve the mesh quality for cells in the interior of the domain.

1 Like

Thanks a lot, I followed your advice and the mesh has improved, but now I have another error, I attach the console message, It is about the fault cells orientation.

See the documentation for the PyLith 3D subduction zone example. We address this issue by adjusting the up_dir so that rather than being (0, 0, 1) it is (-0.1, 0, 0.9). The code will normalize this to a unit vector.

In PyLith v2.2 this is in examples/3d/subduction/step03.cfg

1 Like