PetSC issue when running the coseismic slip generated from fault dislocation

I’m running into an PetSC issue when running the coseismic slip problem generated from fault dislocation.

Attached herewith is the zip file containing the files I used to run the problem.

I used the following command: pylith coseismic_slip.cfg
fault-3d.zip (86.0 KB)

Attaching here is error log file.
process.log (21.7 KB)

The zero pivot error means that the Jacobian of the linear system of equations has a null space. In other words, the system of equations allows rigid body translation or rotation. In your case, you do not have any constraints on the z degree of freedom. I recommend adding a boundary condition on the bottom of your domain to constrain the z degree of freedom (DOF=2).

Hi @baagaard, thank you for your suggestion. I added a bottom boundary condition of zero based on your suggestion. However, the error still exists.

Attaching the modified cfg and log files for your reference, please.
process_2.log (22.0 KB)
pylithapp.cfg (6.1 KB)

The other source of the zero pivot error is if the mesh contains a vertex that is not actually in a cell. We are working on adding a check for this into PETSc. In the meantime, I recommend reviewing your Python script that generates the mesh to look for any places where you are adding entities and making sure they all get attached to higher dimension objects. For example, perhaps you add a vertex that never gets used by a curve or a curve that never gets used by a surface.

Thank you @baagaard. I will look into it next week and will update you.