# A problem with the orthogonal fault model

**URL:** <https://community.geodynamics.org/t/a-problem-with-the-orthogonal-fault-model/2976>\
**Category:** PyLith\
**Created:** [May 29, 2023, 1:20pm UTC](https://community.geodynamics.org/t/a-problem-with-the-orthogonal-fault-model/2976 "2023-05-29T13:20:14Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![egg\_chen](https://avatars.discourse-cdn.com/v4/letter/e/d07c76/32.png) [@egg\_chen](https://community.geodynamics.org/u/egg_chen)\
**Post date:** [May 29, 2023, 1:20pm UTC](https://community.geodynamics.org/t/a-problem-with-the-orthogonal-fault-model/2976/1 "2023-05-29T13:20:14Z")

</div>

Hello!  
I’m using pylith v2.2.2 to study the surface deformation caused by an orthogonal fault. I embed these faults into a larger domain as shown in the figure below. The model can run to completion when I set a single fault (seg1\_fault or seg2\_fault). However, an error occurs when I specify an orthogonal fault system (seg1\_fault and seg2\_fault).

> RuntimeError: Error occurred while adjusting topology to create cohesive cells for fault ‘seg2\_fault’.  
> Error in topology of mesh associated with symmetry of adjacency information.

 ![model](https://canada1.discourse-cdn.com/flex036/uploads/geodynamics/original/2X/4/482042d99c31c899c976c33bfd41cace47a15759.jpeg)

There are some settings about the fault interfaces.

```auto
[pylithapp.timedependent]
interfaces = [seg1_fault, seg2_fault]
[pylithapp.timedependent.interfaces]
seg1_fault = pylith.faults.FaultCohesiveKin
seg2_fault = pylith.faults.FaultCohesiveKin

[pylithapp.timedependent.interfaces.seg1_fault]
label = seg1_fault ; Nodeset for the entire fault surface
id=10
edge = seg1_fault_edge ; Nodeset for the buried edges
id=11
quadrature.cell = pylith.feassemble.FIATSimplex
quadrature.cell.dimension = 2
[pylithapp.timedependent.interfaces.seg1_fault.eq_srcs.rupture.slip_function]
slip.iohandler.filename = spatialdb/seg1_coseismic_slip.spatialdb
slip.query_type = linear
slip.label = seg1_fault slip
slip_time = spatialdata.spatialdb.UniformDB
slip_time.label = Slip time
slip_time.values = [slip-time]
slip_time.data = [0.0*year]

[pylithapp.timedependent.interfaces.seg2_fault]
label = seg2_fault ; Nodeset for the entire fault surface
id=20
edge = seg2_fault_edge ; Nodeset for the buried edges
id=21
quadrature.cell = pylith.feassemble.FIATSimplex
quadrature.cell.dimension = 2
[pylithapp.timedependent.interfaces.seg2_fault.eq_srcs.rupture.slip_function]
slip.iohandler.filename = spatialdb/seg2_coseismic_slip.spatialdb
slip.query_type = linear
slip.label = seg2_fault slip
slip_time = spatialdata.spatialdb.UniformDB
slip_time.label = Slip time
slip_time.values = [slip-time]
slip_time.data = [0.0*year]

```

Please give me some advice. Thanks for your help!  
Best regards

---

<div class="post-metadata">

**Author:** ![baagaard](https://yyz2.discourse-cdn.com/flex036/user_avatar/community.geodynamics.org/baagaard/32/615_2.png) [@baagaard](https://community.geodynamics.org/u/baagaard)\
**Post date:** [May 29, 2023, 10:08pm UTC](https://community.geodynamics.org/t/a-problem-with-the-orthogonal-fault-model/2976/2 "2023-05-29T22:08:12Z")

</div>

PyLith (all versions) does not support intersections with multiple through-going faults. This is a limitation of the algorithm used to construct the topology of the cohesive cells. PyLith does support T intersections. In your case this means that one of the faults must be separated into 2 faults. For example, Seg1 could be separated into Seg1a on one side of Seg2 and Seg1b on the other side. In specifying Seg1a the buried edge would include vertices on the intersection of Seg1a with Seg2. Similarly, in specifying Seg1b the buried edge would include vertices on the intesection of Seg1b with Seg2.

---

<div class="post-metadata">

**Author:** ![egg\_chen](https://avatars.discourse-cdn.com/v4/letter/e/d07c76/32.png) [@egg\_chen](https://community.geodynamics.org/u/egg_chen)\
**Post date:** [May 30, 2023, 1:35am UTC](https://community.geodynamics.org/t/a-problem-with-the-orthogonal-fault-model/2976/3 "2023-05-30T01:35:25Z")

</div>

Thanks for your help. I’ll try it.
