Internal:IMR 2018 Short Course
Notes
Parallel Optimization of Tetrahedral Meshes, D. Benítez1, E. Rodríguez, J.M. Escobar, R. Montenegro
6th European Conference on Computational Mechanics (ECCM 6) & 7th European Con-ference on Computational Fluid Dynamics (ECFD 7), 2018 [1]
Summary
A new algorithm on distributed-memory parallel computers for our simultaneous untangling and smoothing of tetrahedral meshes .
Overview
The method is based on
- partitioning a mesh
- optimizing interior vertices
- optimizing boundary vertices of interior partitions, and
- communicating updated coordinates of boundary vertices.
In each mesh sweep, the interior vertices of all partitions are optimized in parallel. For partition boundaries, independent sets of non-fixed vertices are created; each of them is optimized in parallel after all interior vertices have been optimized
Distributed Combinatorial Maps for Parallel Mesh Processing, Guillaume Damiand, Aldo Gonzalez-Lorenzo, Florence Zara and Florent Dupont
Algorithms 2018, 11(7), 105; doi:10.3390/a11070105 [2]
Summary
"Our main contribution is the definition of distributed combinatorial maps (called n-dmaps), which allow us to
represent the topology of big meshes by splitting them into independent parts. "
"To sum up, this topological representation can be used to describe an nD mesh, while providing
high level operations to iterate through the cells of the mesh, retrieve the incidence and adjacency
relations between the cells, and modify the mesh by using the numerous existing operations. "
Code is part of CGAL
https://doc.cgal.org/latest/Combinatorial_map/index.html#Chapter_Combinatorial_Maps
Application
Adaptive Hexahedral Subdivision (ie octree refinement)
- MPI-based
- Uses a single template (1:8) for splitting the octree
- Shared faces and edges between processes are split independently and asyncronous messages are used to achieve conformity. ( Like PCDM 2D)
Performance Data
Speedup 6.3 on 32 cores
A parallel advancing front grid generation scheme, Rainald Löhner
Int. J. Numer. Meth. Engng. 2001 [3]
Summary
A parallel advancing front scheme has been developed. The domain to be gridded is first subdivided spatially using a relatively coarse octree.
Boxes are then identified and gridded in parallel. A scheme that resembles closely the advancing front technique on scalar machines is recovered by only considering
the boxes of the active front that generate small elements.
Grid generation
The algorithm uses many passes.
In each pass the faces of the front are divided using an octree. From faces in "far enough " octree leaves points are advanced simutaneusly
only the boxes covering the active front in regions where the smallest
new elements are being introduced are considered.
Shared Faces between leaves are eliminated shifting the octree leaves and remeshing the front.
Work balancing is achieved using overdecomposition of the octree.
Mesh Improvement
Swapping
Checks are done in parallel , actual flipping sequentially
Removal of bad elements (Edge Contraction)
Indentify edges around bad elements in parallel , contract them either by collapsing an endpoint onto the other or both onto a new point in the middle.
Laplacian Smoothing
Color edges/elements into independent sets and run in parallel. When negative volume elements are created, remove them together with adjacent elements and remesh the hole.
For surface meshing (preprocessing) each surface patch is meshed in parallel.
Results
Shared memory.
Performance more than 50% efficiency in 16 cores