Abstract

This paper presents a novel methodology for robust Finite Element (FE) mesh generation of Discrete Fracture Matrix (DFM) models. The method can handle the complete multi-dimensional domain from the tridimensional porous rock matrix, through fracture surfaces, down to open curves for fracture–fracture intersections. The accompanying open-source code is written in modern C++ with a JSON interface and largely relies on two state-of-the-art FE libraries: NeoPZ and Gmsh. Starting from a user-defined coarse mesh, fractures are sequentially read as convex polygons and introduced without distortions to the coarse geometry. The main steps involve: intersect edges by checking for nodes on opposite sides of the fracture plane, extend intersections from edges to faces, coalesce intersections to closest existing nodes (given a tolerance), refine interface elements to conform to the fracture, identify subsets of fracture surface, mesh the surface, and locate boundaries and intersections where they arise. Finally, the space around fractures is filled with the fine-scale unstructured mesh, which is kept conformal. The robustness of the implementation is derived from the consistent background of well-defined and simple premises like convexity and side-specific element neighborhood. Results show that the proposed technique can construct adequate 3D DFM grids, while still giving users freedom to adjust between geometrical fidelity and mesh quality through more aggressive feature rejection.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call