Here we detail a systematic way of fixing the intersection, using a realistic example. We then try to intersect a complex fault system (yellow and orange surfaces, about 250k triangles) with a finely meshed topographic surface (blue surface, about 1M triangles).
Surface>Tools>Cut>Mutual cut among surfaces>select the surface and Apply
The next step is to import the intersected surfaces in SimModeler. Then we use the standard procedure:
File > Export > Gocad ASCII > choose a filename (example test.ts).
We then convert the ts file to stl using convertTs.py:
python convertTs.py test.ts
Finally we import the stl file in SimModeler using:
File > Import Discrete Data > unclick all option, select file and click on OK.
Now let's check for small features in the geometry:
Model Tab > Remove Small Features > Find (note that we do now remove the small features here, but we only localize them).
SimModeler will list faces and edges. Nevertheless, we only focus on the faces, the edges being usually the edges of the faces listed.
At this point, one possible option is to select one of the small feature, click on focus on selected, and then try to zoom out to see where the face is located. In practice, it might not be so easy. Once you have localized the face in SimModeler, you can try to find it in gocad by playing with the light. In fact, the small features have usually a different normal orientation that the surrounding faces, and their edges may be visible under certain light incidences. Here is an example of 2 features poping out:
File>Export Mesh> Format ABAQUS 2D (for instance), enter a filename and save.
The ascii mesh look like that:
*Heading
*Node
1, 6186870.5469, -3926750.75, 134.60108948
2, 6190219.5312, -3912085.8125, 950.25006104
3, 6127079.0312, -3952731.3125, 411.05957031
(...)
236, 6101705.5938, -3992835.8125, 297.36010742
237, 6099955.5938, -3962585.8125, 595.60552979
*Element, Type=S3R, Elset=gface2
34279, 42, 59, 4
329262, 2, 59, 42
*Element, Type=S3R, Elset=gface3
550757, 1, 30, 31
1011559, 31, 30, 8
*Element, Type=S3R, Elset=gface4
909933, 5, 86, 6
It features 237 nodes, but actually only 5 faces. We then look for the coordinates of each face's node, here, for instance, the coordinates of nodes 42,59,4,2,42,etc.
Now that the small features have been localized, we will try to fix them. To do that we first load the gocad model prior to the intersection, and we also load the intersected surfaces (previously save in a ts file), to keep track of the localization of the small features. Then for each small features, we identify why the intersection failure, and we amend the triangulation, to remove the cause of the failure. Usually, the failure is due to intersecting or almost intersecting edges. For instance here:
Right-click on the surface>Tools>Triangles>Switch Triangles> click on both triangles.
When then apply this manual procedure on all detected small features, and we finally make the mutual intersection. Hopefully, the model once loaded in SimModeler is then free of small features!