BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING Mehmet Balman Computer Engineering, Boğaziçi University Parallel Tetrahedral Mesh Refinement.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Lecture 19: Parallel Algorithms
Propagation Study in the Longest-edge Refinement of Unstructured 3D Triangular Meshes University of Las Palmas de Gran Canaria. Spain José Pablo Suárez.
Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull 
Convex Hulls in 3-space Jason C. Yang.
Efficient Storage and Processing of Adaptive Triangular Grids using Sierpinski Curves Csaba Attila Vigh Department of Informatics, TU München JASS 2006,
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
Query Processing in Databases Dr. M. Gavrilova.  Introduction  I/O algorithms for large databases  Complex geometric operations in graphical querying.
1cs542g-term Notes. 2 Meshing goals  Robust: doesn’t fail on reasonable geometry  Efficient: as few triangles as possible Easy to refine later.
CISC October Goals for today: Foster’s parallel algorithm design –Partitioning –Task dependency graph Granularity Concurrency Collective communication.
CS 584. Review n Systems of equations and finite element methods are related.
Advanced Topics in Algorithms and Data Structures An overview of the lecture 2 Models of parallel computation Characteristics of SIMD models Design issue.
CSE351/ IT351 Modeling And Simulation Choosing a Mesh Model Dr. Jim Holten.
CSE351/ IT351 Modeling and Simulation
Parallel Mesh Refinement with Optimal Load Balancing Jean-Francois Remacle, Joseph E. Flaherty and Mark. S. Shephard Scientific Computation Research Center.
Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.
Models of Parallel Computation Advanced Algorithms & Data Structures Lecture Theme 12 Prof. Dr. Th. Ottmann Summer Semester 2006.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
1 Lecture 24: Parallel Algorithms I Topics: sort and matrix algorithms.
Backtracking Reading Material: Chapter 13, Sections 1, 2, 4, and 5.
Spatial Indexing I Point Access Methods. Spatial Indexing Point Access Methods (PAMs) vs Spatial Access Methods (SAMs) PAM: index only point data Hierarchical.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
Morphological Analysis of 3D Scalar Fields based on Morse Theory and Discrete Distortion Mohammed Mostefa Mesmoudi Leila De Floriani Paola Magillo Dept.
MGR: Multi-Level Global Router Yue Xu and Chris Chu Department of Electrical and Computer Engineering Iowa State University ICCAD
ParFUM Parallel Mesh Adaptivity Nilesh Choudhury, Terry Wilmarth Parallel Programming Lab Computer Science Department University of Illinois, Urbana Champaign.
Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences.
Grid Generation.
Dobrina Boltcheva, Mariette Yvinec, Jean-Daniel Boissonnat INRIA – Sophia Antipolis, France 1. Initialization Use the.
On-line Space Sculpturing for 3D Shape Manipulation
Accelerating Ray Tracing using Constrained Tetrahedralizations Ares Lagae & Philip Dutré 19 th Eurographics Symposium on Rendering EGSR 2008Wednesday,
Mesh Generation 58:110 Computer-Aided Engineering Reference: Lecture Notes on Delaunay Mesh Generation, J. Shewchuk (1999)
Angle Relationships Geometry 1.5.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
Triangular Mesh Decimation
Unstructured Volume Rendering Jian Huang, CS 594, Spring 2002 This set of slides reference slides developed by Prof. Torsten Moeller, SFU, Canada.
Application Paradigms: Unstructured Grids CS433 Spring 2001 Laxmikant Kale.
The swiss-carpet preconditioner: a simple parallel preconditioner of Dirichlet-Neumann type A. Quarteroni (Lausanne and Milan) M. Sala (Lausanne) A. Valli.
Problem Definition: Solution of PDE’s in Geosciences  Finite elements and finite volume require: u 3D geometrical model u Geological attributes and u.
Managing the Level of Detail in 3D Shape Reconstruction and Representation Leila De Floriani, Paola Magillo Department of Computer and Information Sciences.
Geometry. Triangles Triangle angle sum theorem: the sum of the angles in any triangle is 180° Triangle inequality theorem: the sum of the lengths of any.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Finite Element Analysis
By Eugene Adams.  Vertices  Edges  Faces  Polygons  Meshes  2D co-ordinates  3D co-ordinates.
Vertices, Edges and Faces By Jordan Diamond. Vertices In geometry, a vertices is a special kind of point which describes the corners or intersections.
1 Multi-resolution Tetrahedral Meshes Leila De Floriani Department of Computer and Information Sciences University of Genova, Genova (Italy)
CS 484 Load Balancing. Goal: All processors working all the time Efficiency of 1 Distribute the load (work) to meet the goal Two types of load balancing.
Adaptive Mesh Applications Sathish Vadhiyar Sources: - Schloegel, Karypis, Kumar. Multilevel Diffusion Schemes for Repartitioning of Adaptive Meshes. JPDC.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University.
Rounding scheme if r * j  1 then r j := 1  When the number of processors assigned in the continuous solution is between 0 and 1 for each task, the speed.
Data Structures and Algorithms in Parallel Computing Lecture 7.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
Graph Theory. undirected graph node: a, b, c, d, e, f edge: (a, b), (a, c), (b, c), (b, e), (c, d), (c, f), (d, e), (d, f), (e, f) subgraph.
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
Fifth International Conference on Curves and Surfaces Incremental Selective Refinement in Hierarchical Tetrahedral Meshes Leila De Floriani University.
June 23, Variational tetrahedral meshing of mechanical models for FEA Matthijs Sypkens Smit Willem F. Bronsvoort CAD ’08 Conference, Orlando, Florida.
Computational Geometry
6 th grade Math Vocabulary Word, Definition, Model Emery UNIT 5: Area, Volume and Applications.
Mesh Generation, Refinement and Partitioning Algorithms Xin Sui The University of Texas at Austin.
High Performance Computing Seminar
Level of Detail (LOD) Models Part Two
Spatial Indexing I Point Access Methods.
Program based on pointers in C.
Query Processing in Databases Dr. M. Gavrilova
CSc4730/6730 Scientific Visualization
Localizing the Delaunay Triangulation and its Parallel Implementation
Lecture 3 : Isosurface Extraction
Volume Graphics (lecture 4 : Isosurface Extraction)
CSE 417: Algorithms and Computational Complexity
Presentation transcript:

BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING Mehmet Balman Computer Engineering, Boğaziçi University Parallel Tetrahedral Mesh Refinement

Adaptive Mesh Refinement (AMR) A computation technique used to improve the efficiency of numerical systems for Partial Differential Equations. The main idea is to refine regions in which higher resolution is required. Used fields: Finite Elements Methods Computational Geometry Numerical Applications Computer Graphics Solid Modeling BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

Problems & Limitations Problem size and computational cost grow very rapidly in 3- dimensional refinement algorithms. For complex 3-D problems, the application of the refinement method may not be feasible due to the large matrices involved and their high storage requirements. BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

Thesis Statement The overall mesh structure can be partitioned in order to fit into the local memory of computational nodes, and the Rivara’s longest edge bisection technique can be used to process the refinement operation locally; results in each node can be synchronized in a proper and efficient way using appropriate data structure to handle the refinement process in a parallel manner, in which the resulting mesh data is parallely constructed. BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

Roadmap Mesh Refinement Longest Edge Bisection 4-Triangle and 8-Tetrahedron Algorithms Longest Edge Propagation Path Parallel Algorithm Test Results Conclusion & Contributions BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

Two Approaches for the Refinement Problem The longest-edge bisection: The longest-edge of the mesh element is always bisected initially. A bisected edge influences the neighbor elements and triggers them to be refined. guarantees a good-quality, conforming mesh structure with linear time complexity. Delaunay algorithm: adding non-vertex points in the circumcenter of the worst triangles of the current structure. BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

Mesh Conformity Intersection of adjacent triangles is either a common vertex or an edge. Transition between small and large elements should be gradual. All angles in triangle refinement are greater or equal to half of the smallest angle in the initial mesh geometry. BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

4T-LE Refinement BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING Four Triangle Longest Edge Partition (4T-LE) divides a triangle t into four sub- triangles such that the original triangle is bisected by its longest edge.

Stable Molecule Behavior of 4-Triangle BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

Longest-Edge Propagation Path (LEPP) For any triangular mesh structure T, the longest-edge propagation path (LEPP) for a triangle t is the ordered list of triangles {t 0,t 1,t 2,..}, such that t i-1 is adjacent to triangle t i-1 by the longest-edge (LE) of t i-1. The longest-edge propagation path of triangle t, is always finite and longest-edges in the list of triangles have always increasing lengths. BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

Longest-Edge Propagation Path (LEPP) LEPP(t 0 )={t 0,t 1,t 2,t 3 }, propagation path for triangle t 0 BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

Longest-Edge Bisection Algorithm Longest-Edge Bisection (T, t) While there is a triangle t not bisected compute LEPP(t) if t is the boundary terminal triangle bisect(t) else bisect the last pair of terminal triangles in LEPP(t) BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

Longest-Edge Bisection The longest-Edge Propagation Path algorithm can be generalized to 3-dimensional tetrahedral mesh structures. LEPP for a tetrahedron ⊺, is the set of neighboring tetrahedra that have adjacent longest-edge greater or equal to the preceding tetrahedra in the list. BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

Longest-Edge Propagation According to the theoretical results and experiments, average propagation path is reduced in each refinement stage and approaches to the constant of 5. (2-D) BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING An eccentric situation

Propagation of the Refinement (2-D) BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING (Ozturan, 1996)

Skeleton Algorithms BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING The 2-dimensional view of a tetrahedron. Volume refinement is based on the partitioned triangular faces of the tetrahedron in 2- dimension

Skeleton Algorithms BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING The 3-dimensional skeleton algorithm is a generalized version of 4- Triangles. If tetrahedral mesh τ is conforming, then 2-D skeleton, which is the triangular faces of the elements of τ, is also conforming. Moreover, a 1-D skeleton of τ tetrahedral mesh is a conforming wireframe mesh of the elements of τ.

Skeleton Algorithm (3-D) BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING Partition edges over 1-D skeleton. Partition faces over 2-D skeleton that are involved in the refinement. (4-Triangle LE ) Partition involved tetrahedrons according to partition patterns. (8-Tetrahedra LE)

4-Tetrahedra & 8-Tetrahedra BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING The 8-Tetrahedra longest edge partition is a 3-D algorithm that can be explained by applying 4-Triangle skeleton refinement methodology to the faces of corresponding mesh τ.

8T-LE BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING Information in the lower dimension is used to partition appropriate triangles. The 8-tetrahedra algorithm is the generalization of skeleton algorithms in 3-dimensions. Volume triangulation with 8 new internal tetrahedra occurred and each face has been partitioned into 4 triangles. Such a triangulation produces conformity both in volume and surface structure.

Longest Edge Propagation Path BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING In 2-D meshes, a LEPP-graph forms a forest each edge can only have two neighbor triangles. For 3-D meshes, a directed-acyclic graph (DAG) is formed each longest edge can be shared by many triangles and refinement operation can propagate in many directions. The LEPP graph can be sequentially processed with O(n) time complexity In 2-D meshes, parallel implementation can be handled in O(logn) complexity.

Longest Edge Propagation Path (a) 2-D (b) 3-D BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

3-D Sequential Algorithm BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING Refinement of tetrahedron ⊺ in a 3-D mesh For each edge e of tetrahedron ⊺ Add e into E_involved While E_involved is not empty Process an edge e from E_involved For each face f sharing edge e Select the longest-edge LE of face f If LE has not been processed before Add into E_involved For each edge e in E_involved (1-dimensional) Bisect edge e For each face f including any bisected edge e (2-dimensional) Partition face f according to bisected edges For each tetrahedron including any partitioned face f (3-dimensional) Partition tetrahedron according to bisected faces

Algorithm for Distributed Environments BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING The parallel algorithm can be analyzed in three steps: Prepare propagation graph for refinement, (DAG) for 3-D mesh. Find components which must be refined. Partition components according to the longest-edge bisection procedure.

The Algorithm (P processors, Tetrahedral Mesh ⊺ ) BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING Distribute the Tetrahedral Mesh Structure among processors Each processor Pi handles its local mesh structure Process the Longest-Edge Algorithm locally foreach edge e of tetrahedron ⊺ that needs to be refined add edge e to the list of selected edges E_selected LEPP algorithm while all edge in E_selected are processed if LE of the face f that edge e belongs is not selected add edge LE to the list E_selected add tetrahedron ⊺ that edge e belongs to the list of selected tetrahedra T_selected Synchronize local Propagation Paths if local terminal point in the LEPP also belongs to another local mesh structure owned by processor Pi inform processor Pi and process the LEPP algorithm after synchronization Bisect selected edges E_selected Bisect selected tetrahedra T_selected Collect local mesh structure from processing nodes Pis

LEPP-Graph Partitioning and Synchronization BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

The PTMR Algorithm BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

The PTMR Algorithm BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING Partition and distribute tetrahedral mesh elements Compute initial tetrahedrons that should be refined Prepare the local LEPP-Graph sequentially and select the edges that should be refined Inform other processing nodes whether a border element in the local partition is selected Refine according to the 8T-LE procedure. Collect mesh data with recently produced tetrahedrons

Example tetrahedra / vertices BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

Example tetrahedra / 4502 vertices BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

Example 1803 tetrahedra / 2021 vertices BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

Empirical Results BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

Empirical Results BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

Empirical Results BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING

Conclusion & Contributions BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING A parallel mesh refinement algorithm for distributed environments is proposed. Each processing node works over its local elements sequentially and synchronizes changes to update the overall mesh structure. A refinement framework for Finite Element problems The data structure for the mesh operations in distributed environments A brief study about the parallelization of 3-D mesh refinement algorithms

BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING This work will be submitted to “The 8 th International Workshop on High Performance Scientific and Engineering Computing (HPSEC-06)”