Presentation is loading. Please wait.

Presentation is loading. Please wait.

Forming a Triangulated Grid of a 3D Fracture Network Dr Michael Robins UWA CWR Sept 04.

Similar presentations


Presentation on theme: "Forming a Triangulated Grid of a 3D Fracture Network Dr Michael Robins UWA CWR Sept 04."— Presentation transcript:

1 Forming a Triangulated Grid of a 3D Fracture Network Dr Michael Robins UWA CWR Sept 04

2 3-Phase NAPL Transport Model Ref: D.Reynolds and B.Kueper 2001

3 Fracture Networks Two dimensions Three dimensions Ref: Reynolds & Kueper 2003

4 Cross section of 3D Fracture Network

5 Representation of fractures as discs position (x,y,z) position (x,y,z) radius r radius r orientation (u,v,w) orientation (u,v,w) aperture a aperture a (u,v,w) z y x r a

6 Fracture network is formed by intersecting discs

7 Triangulation of a set of vertices

8 Delaunay Triangulation No vertices within circumcircle of triangles No vertices within circumcircle of triangles Many algorithms: Many algorithms: Incremental refinement Incremental refinement Sweep line Sweep line Divide and conquer Divide and conquer Good for numerical models Good for numerical models Constrained by Planar Straight Line Graphs Constrained by Planar Straight Line Graphs Conform to angle or area restrictions Conform to angle or area restrictions

9 Triangulation of Discs Delaunay Triangulation Conforming Delaunay angle and area limits

10 Triangulation of intersecting discs Planar Straight Line Graph Planar Straight Line Graph Intersections must be included Intersections must be included Steiner points may be added along line segments Steiner points may be added along line segments Added points must exist in both intersected discs Added points must exist in both intersected discs Constrained & conforming Delaunay triangulation

11 Triangle data structures Ref: J. R. Shewchuk, 2002 a bc Vertex Vertex position position Triangle Triangle vertices vertices neighbours neighbours adjacent edges adjacent edges Edge Edge colinear neighbours colinear neighbours adjacent triangles adjacent triangles Triangles and Edges Triangles and Edges handled or grasped relative to several orientations handled or grasped relative to several orientations

12 The Intersecting disc problem For a huge collection of seemingly randomly oriented, sized and positioned discs For a huge collection of seemingly randomly oriented, sized and positioned discs Form a triangulated network of vertices that lie on the disks and intersections Form a triangulated network of vertices that lie on the disks and intersections Solution must suit parallel computation Solution must suit parallel computation Novelty lies in the requirement that inserted vertices along the intersection (Steiner points) must be present at corresponding places in both discs Novelty lies in the requirement that inserted vertices along the intersection (Steiner points) must be present at corresponding places in both discs

13 2½ Dimension Triangulation A disc is a 12 sided polygon not a circle A disc is a 12 sided polygon not a circle Triangulation problem is 2 dimensional Triangulation problem is 2 dimensional Discs are flat therefore intersections are striaght Discs are flat therefore intersections are striaght Various overlaps but all intersect the boundary of one disc or the other Various overlaps but all intersect the boundary of one disc or the other Difficulty lies in identifying shared points of intersecting discs Difficulty lies in identifying shared points of intersecting discs Work in 2D as much as possible Work in 2D as much as possible

14 Robust Arithmetic Calculations performed using floating point Calculations performed using floating point Limited numerical precision of the computer Limited numerical precision of the computer The solution must be unambiguous The solution must be unambiguous Problems are inconsistencies of data structures and triangles, eg negative areas etc. Problems are inconsistencies of data structures and triangles, eg negative areas etc. Shewchuk’s robust math routines perform calculations to increasing precision until result is unambiguous Shewchuk’s robust math routines perform calculations to increasing precision until result is unambiguous

15 Discus – program to triangulate intersecting discs Represent each disc as 2D vertices Represent each disc as 2D vertices Shared vertices along intersections Shared vertices along intersections Represented as both 3D locations Represented as both 3D locations And corresponding points calculated in frame of reference of each disc And corresponding points calculated in frame of reference of each disc Shared vertices are tagged with the same id. Shared vertices are tagged with the same id. By using separate 2D representations, all the triangulation difficulties are already dealt with by Shewchuk’s algorithms By using separate 2D representations, all the triangulation difficulties are already dealt with by Shewchuk’s algorithms

16 How to calculate the intersections foreach disc: determine a bounding box sort all discs by: Lowest, Closest, Leftmost bounding point Repeat with the first_disc remaining in the sorted list: read discs while: disc.LowestClosestLeft > first_disc.HighestFarthestRight foreach disc read: compare bounding boxes of disc with first_disc * foreach intersecting boxes: check if the discs actually intersect write out first_disc and its intersections until all discs have been examined * Avoid excessinve comparisions by keeping lists of previously considered pairings

17 Check if and where two specific discs intersect calculate the line of intersection of the discs’ planes: from orientation norms and centre points translate the line into the frame of reference of each disc see if the line intersects and boundary segments of the disc: this yields 4 points (2 or 3 in degenerate cases) determine the overlap and the two shared vertices or no intersection create the Planar Straight Line Graph for each disc

18 Additional considerations Three discs intersect at a point Three discs intersect at a point Additional shared vertex needs to be inserted into the PSLG of each disc Additional shared vertex needs to be inserted into the PSLG of each disc Three discs intersect along a line and intersecting intersections may form acute angles Three discs intersect along a line and intersecting intersections may form acute angles Want to merge some shared vertices and realign structures slightly Want to merge some shared vertices and realign structures slightly Tangential intersections Tangential intersections Can be considered as no connection Can be considered as no connection Boundary of the domain Boundary of the domain Post processing step to cut the triangulation Post processing step to cut the triangulation

19 Frame of reference for a disc Arbitrarily formed by: Arbitrarily formed by: Shifting the disc to the origin Shifting the disc to the origin Rotating about the line z=0 Rotating about the line z=0 Lie the disc flat in the xy plane Lie the disc flat in the xy plane Transform is unique for each disc Transform is unique for each disc Disc then formed in xy coordinates Disc then formed in xy coordinates 12 vertices in 2D 12 vertices in 2D z x y z’ x’ y’ θ

20 Forming a 3D unstructured grid of a fracture network Transforming the private vertices of the discs into 3D Transforming the private vertices of the discs into 3D Restore their connectivity Restore their connectivity Connect all the shared vertices (already in 3D) to respective nodes Connect all the shared vertices (already in 3D) to respective nodes Note how the shared vertices provide the entire linkage of discs to each other Note how the shared vertices provide the entire linkage of discs to each other

21 Triangulation with shared vertices: ongoing work Delaunay Triangulation requires insertion of Steiner points along intersections. Delaunay Triangulation requires insertion of Steiner points along intersections. Any such insertion must be shared. Any such insertion must be shared. The Delaunay and Constrained Delaunay algorithms tend to work by successive refinement The Delaunay and Constrained Delaunay algorithms tend to work by successive refinement Postulate that insertion of shared vertices can be coordinated between separate triangulation processes Postulate that insertion of shared vertices can be coordinated between separate triangulation processes The algorithm would seem to suit parallel implementation The algorithm would seem to suit parallel implementation natural and reasonably minimal communication patterns natural and reasonably minimal communication patterns

22 Tools C language – triangle.c, robust.c and mytriangle.c C language – triangle.c, robust.c and mytriangle.c Python – a handy scripting language Python – a handy scripting language Generating or manipulating data files Generating or manipulating data files Prototype algorithm development Prototype algorithm development Mayavi – Python based visualization tool Mayavi – Python based visualization tool Vtk – visualization toolkit Vtk – visualization toolkit Open source, used by Mayavi Open source, used by Mayavi

23 Conclusion Have determined the algorithm and equations Have determined the algorithm and equations Partially implemented transforms and triangulation Partially implemented transforms and triangulation Data structures lead to difficulties debugging Data structures lead to difficulties debugging Visualization tools are proving useful Visualization tools are proving useful

24 Bibliography David A. Reynolds and Bernard H. Kueper, Multiphase flow and transport in fractured clay / sand sequences, J. Contaminant Hydrology 51(2001) pp. 41-62, 2001 David A. Reynolds and Bernard H. Kueper, Multiphase flow and transport in fractured clay / sand sequences, J. Contaminant Hydrology 51(2001) pp. 41-62, 2001 David A. Reynolds and Bernard H. Kueper, Effective constitutive properties for dense nonaqueous phase liquid (DNAPL) migration in large fracture networks: A computational study, Water Resources Research, 39(9), 2003 David A. Reynolds and Bernard H. Kueper, Effective constitutive properties for dense nonaqueous phase liquid (DNAPL) migration in large fracture networks: A computational study, Water Resources Research, 39(9), 2003 Jonathan Richard Shewchuk, Delaunay Refinement Algorithms for Triangular Mesh Generation, Computational Geometry: Theory and Applications 22(1-3):21-74, May 2002. Jonathan Richard Shewchuk, Delaunay Refinement Algorithms for Triangular Mesh Generation, Computational Geometry: Theory and Applications 22(1-3):21-74, May 2002. Marshall Bern and David Eppstein, Mesh Generation and Optimal Triangulation, pp. 23-90 of Computing in Euclidean Geometry, Ding-Zhu Du and Frank Hwang (editors), World Scientific, Singapore, 1992. Marshall Bern and David Eppstein, Mesh Generation and Optimal Triangulation, pp. 23-90 of Computing in Euclidean Geometry, Ding-Zhu Du and Frank Hwang (editors), World Scientific, Singapore, 1992. Jim Ruppert, A Delaunay Refinement Algorithm for Quality 2-Dimensional Mesh Generation, Journal of Algorithms 18(3):548-585, May 1995. Jim Ruppert, A Delaunay Refinement Algorithm for Quality 2-Dimensional Mesh Generation, Journal of Algorithms 18(3):548-585, May 1995. L. Paul Chew, Guaranteed-Quality Mesh Generation for Curved Surfaces, Proceedings of the Ninth Annual Symposium on Computational Geometry (San Diego, California), pages 274-280, Association for Computing Machinery, May 1993. L. Paul Chew, Guaranteed-Quality Mesh Generation for Curved Surfaces, Proceedings of the Ninth Annual Symposium on Computational Geometry (San Diego, California), pages 274-280, Association for Computing Machinery, May 1993. Marshall Bern, David Eppstein, and John R. Gilbert, Provably Good Mesh Generation, Journal of Computer and System Sciences 48(3):384-409, June 1994. Marshall Bern, David Eppstein, and John R. Gilbert, Provably Good Mesh Generation, Journal of Computer and System Sciences 48(3):384-409, June 1994. Jonathan Richard Shewchuk, Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates, Discrete & Computational Geometry 18:305-363, 1997. Jonathan Richard Shewchuk, Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates, Discrete & Computational Geometry 18:305-363, 1997.


Download ppt "Forming a Triangulated Grid of a 3D Fracture Network Dr Michael Robins UWA CWR Sept 04."

Similar presentations


Ads by Google