Currently, the triangle-triangle intersection routine in intersection.F90 implements the method from Moller's 1997 paper. This method works for most cases but can give incorrect results 50% of the time for certain degenerate cases (see Table 2 in Devillers and Guigue 2002).
The chances of such a degenerate case occurring increase as the triangulated surface meshes are refined further. I have checked for my case that refining enough causes problems with the intersection computation.
A more robust approach would be to use exact (or adaptive) arithmetic as described by Shewchuk.
Currently, the triangle-triangle intersection routine in
intersection.F90
implements the method from Moller's 1997 paper. This method works for most cases but can give incorrect results 50% of the time for certain degenerate cases (see Table 2 in Devillers and Guigue 2002).The chances of such a degenerate case occurring increase as the triangulated surface meshes are refined further. I have checked for my case that refining enough causes problems with the intersection computation.
A more robust approach would be to use exact (or adaptive) arithmetic as described by Shewchuk.