Closing the gap of meshing ill-defined surface-based models

Closing the gap of meshing ill-defined surface-based models

Abstract

Unstructured meshing of geological models relies on sealed boundary representations in which each boundary surface represents a geological interface between rock volumes. Surface-based models are very often geometrically ill-defined regarding the meshing requirements, meaning they are frequently tainted by small gaps and intersections between surfaces. Automatic repair and validation of these models are mandatory to unlock all workflows involving meshing operations, from direct meshing to iterative forward modeling. This paper presents a complete workflow solving these issues. Combining a repair process and a robust surface and volume mesh generator, our workflow based on the OpenGeode framework makes possible to generate a volumetric unstructured mesh of any surface-based model even ill-defined ones. Given validity rules and a tolerance distance for repair, our process starts from a set of 3D triangulated surfaces, embeds them into a volumetric representation, iteratively modifies the surfaces to automatically converge to a sealed boundary representation suitable for robust unstructured meshing.

Introduction

Meshes undoubtedly play today a major role in geosciences numerical studies. Meshes are indeed a transversal numerical object, since it is used in numerous process of geomodeling workflows. They are one classical support of computations, let it be physical computations as done for physical simulations (Cao, 2002; DeBaun et al., 2005; Paluszny, Matth?i, & Hohmeyer, 2007) or in implicit modeling strategies (e.g. Caumon et al., 2019; Grose et al., 2017). Several kinds of meshes coexist and answer different needs; however in this article, we focus on unstructured meshes that offers a better adaptibility to the geometries that could be very complex in geosciences.

Since several decades, numerous unstructured meshing tools had been released (see Owen, 1998, for a review). One question that one could ask is: why are there so many meshing tools? One crucial point to answer this question is that unstructured mesh generation is not an easy task, especially in 3D. This is why it is, even today, a scientific and research topic. We can even go as far as generating unstructured meshes is still a current bottleneck on geomodeling workflows (Caumon et al., 2013). To overcome this challenge, new meshing tools are developed with the objective to be better than the previous ones with regard to:

  • features, i.e. what kind of mesh elements composed generated meshes;
  • mesh quality, i.e. the geometrically aspect of these elements and the way they minimize computation errors;
  • performance, i.e. the time spend to generate the mesh;
  • or robustness, i.e. the ability of the tool to successfully generate a mesh to a given input geometry.

But when looking at these benchmarks for compairing the mesh generation tools, one can omit a practical difficulty related to the input data. That is why each meshing tool is adapted to one kind of data, and the available data is not guaranteed to match the meshing tool requirements. In other terms, there is a incompatibility between the data and the meshing tools. Since most of unstructured meshing tool operates on sealed boundary representations, whose surfaces correctly define the volumes, they are very often not able to generate a mesh (or more precisely, to generate a mesh discretizing correctly the wanted volumes) from ill-defined surface-based models. The consequences range from the addition of tedious and often manual and time-consuming operations to adapt the data to the meshing tool to the impossibility to get a mesh to continue the workflow. This problem is a very frequent one and is one of the reasons why meshing is still a bottleneck in geomodeling.

In this article, we present a workflow based on a repair process and a robust surface and volume mesh generation tool to generate a volumetric unstructured mesh of any surface-based model even ill-defined ones. We introduce first the validity critera that surface-based models should match to be remeshed. Using these validity criteria, we present flaws breaking model validity and the way to fixed them. This workflow is implemented as modules of the OpenGeode framework (Geode-solutions, 2020).

Geological surface-based model validity criteria

To correctly define a geological volume, a surface-based model should reach a set of validity criteria. Validity criteria deal with different characteristics of the model such as its geometry, its topology, the geological knowledge and rules, ... The objective of these criteria is to ensure that the numerical representation accurately modelize the field reality. As a model is a simplification of the reality, “accurately” means to give enough information regarding the usage of the model. Numerous validity criteria exists depending on the geological context, field and application. In this article, we intentionally limit the studied validity criteria to those that impact the CAD definition of models, preventing their use in adequate meshing and meshing-based applications.

Classical validity criteria stands on topology of CAD models to ensure their integrity (M?ntyl?, 1988; Requicha, 1980; Sakkalis, Shen, & Patrikalakis, 2000). These criteria state what the number of relationships between model components (e.g. the volumes, their boundary surfaces, the contact lines between surfaces) can be.

Adding geological knowledge to model components, these constraints may be different: for instance, only tectonical discontinuities (e.g. faults and fractures) remain valid with a free border, i.e. a tip-line with only one incident surface (Caumon, Sword Jr, & Mallet, 2003).

Moreover, the model geometry should be consistent with the model topology. To do so, the intersections between two model components must be a subset of their boundaries (Requicha, 1980).

For instance, two neighboring surfaces must share the same lines at their common borders. Any other intersection between surfaces break model validity.

Meshing workflow for ill-defined models

Our workflow for remeshing ill-defined surface-based model relies on three steps: validity check, repair invalid features, remesh valid model. The second step consists in applied defined actions to repair the model flaws, by modifying both model component meshes and their interactions. It means that both the model micro- and the macro-topology are modified in the repair step. On the contrary, the remeshing step only modifies the micro-topology, i.e. the mesh of each component, preserving the valid macro-topology determined in the previous step. The second step (repair) is optional if input model is already valid.

From an input triangulated surface-based model potentially ill-defined, i.e. presenting features breaking validity criteria described in the previous section, a repair size and a mesh size, our workflow generate a valid triangulated surface-based model those triangulated and tetrahedral meshes respect the given mesh size. The repair size allows to have a control on the maximal size of changes made on the model.

For ensuring the robustness of geometrical queries on model, the input model is embedded in a volumetric discretization.

Invalidities due to intersections

The issues breaking the consistency between the model geometry and its topology are the intersections between two or more components which are not a subset of their boundaries (Figure 1-a). This occurs typically when there are intersections between surface triangles (Figure 1-b). The contact at intersections should be included in the model to get conformal meshes. As a consequence, the repair process is based on the addition of the contact edges in the intersecting meshes (Figure 1-c). By doing so, it is possible to determine the valid model macro-topology by defining contact lines corresponding to these edges. The remeshing process relies on the valid definition of surface contacts to generate a conformal mesh.

Aucun texte alternatif pour cette image

Figure 1: Remeshing a model with intersection between several surfaces (a) is processed in three steps: (b) detection of intersections, (c) addition of intersection contacts in the surface meshes, and (d) remeshing the model.

Since a lot of configurations exist, computing the intersections between 3D triangles is a complicated task that should be processed in a robust manner. We define that two triangles intersect each other, if they share more than a subset of their boundaries; it means that two non conformal triangles intersect each other (Figure 2). Issues caused by this configuration potentially be missed if the computation of intersect is not robust. Based on a volumetric embedding, we guarantee to detect this configuration and to solve it the same way that other intersections (Figure 1), i.e. adding contact edges in meshes, defining the model macro-topology and then remeshing each model components.

Aucun texte alternatif pour cette image

Figure 2: Remeshing a model with non conformity between several surfaces (a) is processed, as for intersection case (Figure 1) in three steps: (b) detection of non conformities, (c) addition of contacts in the surface meshes, and (d) remeshing the model.

Invalidities due to gaps

Gaps between surfaces can break the model validity by modifying geological meaning or violating geology laws. This occurs typically when horizons have free border (Figure 3-a and b). The free border should be fixed by filling the gap to other model component. As a consequence, the repair process is based on the addition of surface triangles on the free border and on the intersection of to get conformal meshes (Figure 1-c). As for intersections, the valid model macro-topology are then determined before applying the remeshing process.

Aucun texte alternatif pour cette image

Figure 3: Remeshing a model with gaps between several surfaces (a) is processed, as for other cases in three steps: (b) detection of the gaps, (c) filling of the gaps by addition and cut of surface mesh triangles, and (d) remeshing the model.

Example

We present in this section one application example of our workflow for remeshing ill-defined surface-based models. This example is a discrete fracture network whose fractures have non conformal meshes.

The principal invalid features are thus intersections, typically triangle-triangle intersections between fractures (Figure 4-a). Data is courtesy of the Fractory (joint laboratory Itasca Consultants SAS / University of Rennes 1). The workflow is implemented as modules of the OpenGeode framework (Geode-solutions, 2020).

Aucun texte alternatif pour cette image

Figure 4: Application of our worfklow on a discrete fracture network. (a) Initial model shows fractures with independant meshes. (b) Repaired model with conformal fractures meshes. (c) Remeshed model. Data courtesy of the Fractory (joint laboratory Itasca Consultants SAS / University of Rennes 1).

Our workflow is able to fix to intersection invalitidies between the fractures (Figure 4-b) with the aim to get a valid remeshed model with conformal meshes between fractures (Figure 4-c). These two successive processes aim at modifying as little as possible the initial data: the Table 1 shows that the remeshed model has exactly the same total surface area and preserve the initial model lines. The repair process inevitably modifies the macro-topology of the model (see the differences between the number of corners, lines and surfaces) for removing intersections between fractures but the remeshed model (Figure 4-c) has the same macro-topology than the repaired one (Figure 4-b).

Aucun texte alternatif pour cette image

Table 1: Statistics on the model at each step. One can notice that the repair process does affect neither the total fractures surface area, nor the fractures tip line length. The remesh step does not modified the macro-topology and the total size of model components.

Conclusions

The presented workflow for remeshing surface-based geological models is able to manage those presenting geometrical and topological flaws like intersections and gaps between surfaces. It relies on the combination of a repair process to remove invalid features from input model, defining its macro-topology and a remeshing, optimizing the micro-topology, i.e. the meshes of model components.  

This opens the way to manage ill-defined surface-based model in wider workflows that need remeshing processes. By doing so, it can significantly eases the automation of iterative workflows that require to remesh and potentially to repair at each step, for instance for some restoration applications.

Our workflow allows to repair ill-defined surface-based models but some applications may need more improvements like simplifications. One objective of model simplifications is to improve the simulation processes, by accelerating computation time and/or reducing numerical errors, by increasing the quality of model component meshes. Our workflow based on detections, actions and remeshing can integrate simplification processes: it means to define new criteria for model checking, and the actions to apply for solving inadequacies in the model.

Acknowledgments

The authors would like to thank Fractory (joint laboratory Itasca Consultants SAS / University of Rennes 1) for providing the data used in this article. The authors would also like to thank Total SA for its support in remeshing tool development. The software corresponding to this article is available as modules of the OpenGeode framework (Geode-solutions, 2020).


Cao, H. (2002). Development of techniques for general purpose simulators (Unpublished doctoral dissertation). Stanford University Stanford, CA.

Caumon, G., Pellerin, J., Laurent, G., Cherpeau, N., Lallier, F., Merland, R., & Bonneau, F. (2013).

Current bottlenecks in geomodeling workflows and ways forward. Canadian Society of Petroleum Geologists.

Caumon, G., Renaudeau, J., Irakarama, M., Collon, P., Grose, L., Laurent, G., . . . De Kemp, E. (2019). Implicit structural modeling of geological structures - a benchmark. In 2019 ring meeting. ASGA.

Caumon, G., Sword Jr, C. H., & Mallet, J.-L. (2003). Constrained modifications of non-manifold b-reps. In Proceedings of the 8th acm symposium on solid modeling and applications (pp. 310-315).

DeBaun, D., Byer, T., Childs, P., Chen, J., Saaf, F., Wells, M., . . . others (2005). An extensible architecture for next generation scalable parallel reservoir simulation. In Spe reservoir simulation symposium.

Geode-solutions. (2020, July). OpenGeode framework. Zenodo. Retrieved from https://github.com/Geode-solutions/OpenGeode doi: 10.5281/zenodo.3954913

Grose, L., Laurent, G., Aillères, L., Armit, R., Jessell, M., & Caumon, G. (2017). Structural data constraints for implicit modeling of folds. Journal of Structural Geology, 104 , 80–92.

M?ntyl?, M. (1988). An introduction to solid modeling. Rockville, Maryland: Computer Science Press.

Owen, S. J. (1998). A survey of unstructured mesh generation technology. IMR, 239 , 267.

Paluszny, A., Matth?i, S., & Hohmeyer, M. (2007). Hybrid finite element–finite volume discretization of complex geologic structures and a new simulation workflow demonstrated on fractured rocks. Geofluids, 7 (2), 186–208.

Requicha, A. A. (1980). Representations of rigid solid objects. In Computer aided design modelling, systems engineering, cad-systems (pp. 1–78). Springer.

Sakkalis, T., Shen, G., & Patrikalakis, N. M. (2000). Representational validity of boundary representation models. Computer-aided design, 32 (12), 719–726.



Hilton Marques Santana

Research Scientist at Tecgraf / PUC-Rio

1 年

Hi, very nice work! I have a question, how is the following constraint "To do so, the intersections between two model components must be a subset of their boundaries ..." handled in the remeshing algorithm? Is it possible to impose edge constraints in the algorithm?

回复
Laurent Souche

VP Product at Eliis

4 年

We have been doing somewhat similar work (minus the "gap closing" part which is handled differently) as a pre-processor to tetrahedral mesh generation in the past ( see: https://www.slideshare.net/LaurentSouche/tetrahedral-mesh-generation-robustness-test ). One issue that we faced (and, to my knowledge, that was never fully addressed) is that the remeshing step (your figure 1-d), because it modifies the geometry of the surfaces, sometimes introduces topological inconsistencies in the final model. In practice, it happens when non-remeshed surfaces that were not intersecting each other start intersecting because of the remeshing step (note that this can happen far from free borders when surfaces are nearby and curved), yielding a macro-topological change. This is admittedly rare because geometry changes introduced by remeshing are generally minimal but, in our case, could cause a failure of the tet-mesh generation later on. Are you addressing this issue in your implementation (e.g. by re-running invalidity detection & repair after the remeshing step)?

要查看或添加评论,请登录

社区洞察

其他会员也浏览了