Internal:IMR 2018 Short Course: Difference between revisions
No edit summary |
No edit summary |
||
| Line 62: | Line 62: | ||
<p>Performance more than 50% efficiency in 16 cores</p> | <p>Performance more than 50% efficiency in 16 cores</p> | ||
<p> </p> | <p> </p> | ||
</div> | |||
= 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 | |||
<!-- overflow:auto; to fix collapsed display, because the toggle link has float:right; --> | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width:600px; overflow:auto;"> | |||
== Summary == | |||
<p>"Our main contribution is the definition of distributed combinatorial maps (called n-dmaps), which allow us to<br /> | |||
represent the topology of big meshes by splitting them into independent parts. "</p> | |||
<p>"To sum up, this topological representation can be used to describe an nD mesh, while providing<br /> | |||
high level operations to iterate through the cells of the mesh, retrieve the incidence and adjacency<br /> | |||
relations between the cells, and modify the mesh by using the numerous existing operations. "</p> | |||
<p>Code is part of CGAL</p> | |||
<p>https://doc.cgal.org/latest/Combinatorial_map/index.html#Chapter_Combinatorial_Maps</p> | |||
<p> </p> | |||
== Application == | |||
<p>Adaptive Hexahedral Subdivision (ie octree refinement)</p> | |||
<ul> | |||
<li>MPI-based</li> | |||
<li>Uses a single template (1:8) for splitting the octree</li> | |||
<li>Shared faces and edges between processes are split independently and asyncronous messages are used to achieve conformity. ( Like PCDM 2D)</li></ul> | |||
== Performance Data == | |||
<p>Speedup 6.3 on 32 cores</p> | |||
</div> | </div> | ||
Revision as of 08:33, 7 August 2018
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
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
A parallel advancing front grid generation scheme, Rainald Löhner
Int. J. Numer. Meth. Engng. 2001 [1]
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
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
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