Parallel mesh generation: Difference between revisions

Content deleted Content added
Npchris (talk | contribs)
No edit summary
m Remove space before ref, footnote, per MOS:REFSPACE
 
(116 intermediate revisions by 32 users not shown)
Line 1:
'''Parallel mesh generation''' in [[numerical analysis]] is a new research area between the boundaries of two [[scientific computing]] disciplines: [[computational geometry]] and [[parallel computing]].<ref name="Chrisochoides">Nikos Chrisochoides, Parallel Mesh Generation, Chapter in ''Numerical Solution of Partial Differential Equations on Parallel Computers'', (Eds. Are Magnus Bruaset, Aslak Tveito), Springer-Verlag, pp 237-259, 2005.</ref> Parallel mesh generation methods decompose the original [[mesh generation]] problem into smaller subproblems which are solved (meshed) in parallel using multiple processors or threads. The existing parallel mesh generation methods can be classified in terms of two basic attributes:
{{wikify}}
basic attributes: (1) #the sequential technique used for meshing the individual subproblems and
Parallel mesh generation in [[numerical analysis]] is new research area between the
subproblems and (2) #the degree of coupling between the subproblems.
boundaries of two [[scientific computing]] disciplines: [[computational geometry]]
One of the challenges in parallel mesh generation is to develop parallel meshing software using off-the-shelf sequential meshing codes.
and [[parallel computing]] [1].
 
Parallel mesh generation methods decompose the original mesh generation problem
into smaller subproblems which are solved (meshed) in parallel using multiple
processors or threads.
 
The existing parallel mesh generation methods can be classified in terms of two
basic attributes: (1) the sequential technique used for meshing the individual
subproblems and (2) the degree of coupling between the subproblems.
 
One of the challenges in parallel mesh generation is to develop parallel meshing
software using off-the-shelf sequential meshing codes.
 
==Overview==
Parallel mesh generation procedures in general decompose the original 2-dimensional (2D) or 3-dimensional (3D) mesh generation problem into N smaller subproblems which are solved (i.e., meshed) concurrently using P processors or threads.<ref name="Chrisochoides"/> The subproblems can be formulated to be either tightly coupled,<ref>Nikos Chrisochoides and Demian Nave. Parallel [[Delaunay]] mesh generation kernel. Int. J. Numer. Meth. Engng., 58:161--176, 2003</ref><ref>Lohner, J.Camberos, and M.Marshal. Parallel Unstructured Grid
Parallel mesh generation procedures in general decompose the original
Generation. Chapter in ''Unstructured Scientific Computation on Scalable Multiprocessors''. (Eds. Piyush Mehrotra and Joel Saltz), pp 31--64, MIT Press, 1990.</ref> partially coupled<ref name="ReferenceA">H. de Cougny and M.Shephard. Parallel volume meshing using face removals and hierarchical repartitioning. Comp. Meth. Appl. Mech. Engng.,
2-dimensional (2D) or 3-dimensional (3D) mesh generation problem into
174(3-4):275--298, 1999.</ref><ref>Andrey Chernikov and Nikos Chrisochoides. Parallel Guaranteed Quality Planar Delaunay Mesh Refinement Concurrent Point Insertion. ''SIAM Journal for Scientific Computing'', Vol. 28, No. 5, pp 1907-1926, 2006.</ref> or even decoupled.<ref>J. Galtier and P. L. George. Prepartitioning as a way to mesh subdomains in parallel. Special Symposium on Trends in Unstructured Mesh Generation, pp 107--122. ASME/ASCE/SES, 1997.</ref><ref>Leonidas Linardakis and Nikos Chrisochoides. Delaunay Decoupling Method for Parallel Guaranteed Quality Planar Mesh Generation. ''SIAM Journal for Scientific Computing'', Vol. 27, No. 4, pp 1394-1423, 2006.</ref> The coupling of the subproblems determines the intensity of the communication and the amount/type of synchronization required between the subproblems.
N smaller subproblems which are solved (i.e., meshed) concurrently
using P processors or threads [1]. The subproblems can be formulated to
be either tightly coupled [2,3], partially coupled [4,5] or even
decoupled [6,7]. The coupling of the subproblems determines the
intensity of the communication and the amount/type of synchronization
required between the subproblems.
 
The challenges in parallel mesh generation methods are: to maintain
stability of the parallel mesher (i.e., retain the quality of
finite elements generated by state-of-the-art sequential codes) and at
the same time achieve 100% code re-use (i.e., leverage the
continuously evolving and fully functional off-the-shelf sequential
meshers) without substantial deterioration of the scalability of
the parallel mesher.
 
The challenges in parallel mesh generation methods are: to maintain stability of the parallel mesher (i.e., retain the quality of finite elements generated by state-of-the-art sequential codes) and at the same time achieve 100% code re-use (i.e., leverage the continuously evolving and fully functional off-the-shelf sequential meshers) without substantial deterioration of the scalability of the parallel mesher.
There is a difference between parallel mesh generation and parallel
triangulation. In parallel triangulation a pre-defined set of points
is used to generate in parallel triangles that cover the convex hull
of the set of points. A very efficient algorithms for parallel
Delaunay triangulations appears in [8]. This algorithm is extended
in [9] for parallel mesh generation.
 
There is a difference between parallel mesh generation and parallel triangulation. In parallel triangulation a pre-defined set of points is used to generate in parallel triangles that cover the [[convex hull]] of the set of points. A very efficient algorithm for parallel [[Delaunay triangulation]]s appears in Blelloch et al.<ref>G. E. Blelloch, J.C. Hardwick, G.~L. Miller, and D. Talmor, Design and implementation of a practical parallel Delaunay algorithm, Algorithmica, 24 (1999), pp. 243--269.</ref> This algorithm is extended in Clemens and Walkington<ref>Clemens Kadow and Noel Walkington. Design of a projection-based parallel Delaunay mesh generation and refinement algorithm. In proceedings of Fourth Symposium on Trends in Unstructured Mesh Generation, 2003.</ref> for parallel mesh generation.
 
==Parallel mesh generation software==
==References==
 
<!-- Deleted image removed: [[Image:partgen jpeg.jpg|right|350px|]] -->
[1] Nikos Chrisochoides, Parallel Mesh Generation, Chapter in Numerical
While many solvers have been ported to parallel machines, grid generators have left behind. Still the preprocessing step of mesh generation remains a sequential bottleneck in the simulation cycle. That is why the need for developing of stable 3D parallel grid generator is well-justified. <!-- Deleted image removed: [[Image:Bearcap png.png|left|250px|Decomposition of bearing cap and tetrahedral mesh generation on 32 CPUs]] -->
Solution of Partial Differential Equations on Parallel Computers,
<!-- Deleted image removed: [[Image:kneefem png.png|250px|Decomposition of femoral prosthesis component and tetrahedral mesh generation on 16 CPUs]] -->
(Eds. Are Magnus Bruaset, Aslak Tveito), Springer-Verlag, pp 237-259,
<!-- Deleted image removed: [[Image:kneetib png.png|250px|Decomposition of tibial prosthesis component and tetrahedral mesh generation on 8 CPUs]] -->
2005.
 
A parallel version of the MeshSim mesh generator by Simmetrix Inc.,<ref>{{Cite web |url=http://www.simmetrix.com/products/SimulationModelingSuite/ParallelMeshSim/ParallelMeshSim.html |title=Parallel MeshSim |access-date=2009-08-05 |archive-date=2009-02-18 |archive-url=https://web.archive.org/web/20090218151631/http://simmetrix.com/products/SimulationModelingSuite/ParallelMeshSim/ParallelMeshSim.html |url-status=dead }}</ref> is available for both research and commercial use. It includes parallel implementations of surface, volume and [[boundary layer]] mesh generation as well as parallel mesh adaptivity. The algorithms it uses are based on those in reference<ref name="ReferenceA"/> and are scalable (both in the parallel sense and in the sense that they give speedup compared to the serial implementation) and stable. For multicore or multiprocessor systems, there is also a multithreaded version of these algorithms that are available in the base MeshSim product<ref>{{Cite web |url=http://www.simmetrix.com/products/SimulationModelingSuite/MeshSim/MeshSim.html |title=MeshSim |access-date=2009-08-05 |archive-date=2009-09-27 |archive-url=https://web.archive.org/web/20090927170512/http://www.simmetrix.com/products/SimulationModelingSuite/MeshSim/MeshSim.html |url-status=dead }}</ref>
[2] Nikos Chrisochoides and Demian Nave. Parallel [[Delaunay]] mesh
generation kernel. Int. J. Numer. Meth. Engng., 58:161--176, 2003
 
Another parallel mesh generator is '''D3D''',<ref>[http://mech.fsv.cvut.cz/~dr/d3d.html D3D Mesh Generator Web page]</ref> was developed by Daniel Rypl<ref>University Web page of Daniel Rypl, http://mech.fsv.cvut.cz/~dr/</ref> at [[Czech Technical University in Prague]]. '''D3D''' is a mesh generator capable to discretize in parallel (or sequentially) 3D domains into mixed meshes.
[3] Lohner, J.Camberos, and M.Marshal. Parallel Unstructured Grid
Generation. Chapter in Unstructured Scientific Computation on Scalable
Multiprocessors. (Eds. Piyush Mehrotra and Joel Saltz), pp 31--64,
MIT Press, 1990.
 
BOXERMesh<ref>[http://www.cambridgeflowsolutions.com/en/products/boxer-mesh.html BOXERMesh]</ref> is an unstructured hybrid mesh generator<ref>[http://www.cambridgeflowsolutions.com/uploads/2009_Scalable%20parallel%20mesh%20generation_AIAA_0981.pdf Scalable Parallel Mesh Generation]</ref> developed by Cambridge Flow Solutions.<ref>[http://www.cambridgeflowsolutions.com Cambridge Flow Solutions]</ref> Implemented as distributed-memory fully parallelised software, it is specifically designed to overcome the traditional bottlenecks constraining engineering simulation, delivering advanced meshing on geometries of arbitrary complexity and size. Its scalability has been demonstrated on very large meshes generated on HPC clusters.
[4] H. de Cougny and M.Shephard. Parallel volume meshing using face
removals and hierarchical repartitioning. Comp. Meth. Appl. Mech. Engng.,
174(3-4):275--298, 1999.
 
in== [9]Challenges forin parallel mesh generation. ==
[5] Andrey Chernikov and Nikos Chrisochoides. Parallel Guaranteed Quality
It takes substantial time to develop the algorithmic and software infrastructure for commercial sequential mesh generation libraries. Moreover, improvements in terms of quality, speed, and functionality are open
Planar Delaunay Mesh Refinement Concurrent Point Insertion. SIAM Journal
ended which makes the task of creating leading edge parallel mesh generation codes challenging.
for Scientific Computing, Vol. 28, No. 5, pp 1907-1926, 2006.
 
An area with immediate high benefits to parallel mesh generation is ___domain decomposition. The DD problem as it is posed in<ref>Chrisochoides N., ''A Survey of Parallel Mesh Generation Methods'', Brown University, Providence RI - 2005.</ref> is still open for 3D geometries and its solution will help to deliver stable and scalable methods that rely on off-the-shelf mesh generation codes for Delaunay and Advancing Front Techniques.
[6] J. Galtier and P. L. George. Prepartitioning as a way to mesh
subdomains in parallel. Special Symposium on Trends in Unstructured
Mesh Generation, pp 107--122. ASME/ASCE/SES, 1997.
 
Finally, a long term investment to parallel mesh generation is to attract the attention of mathematicians with open problems in mesh generation and broader impact in mathematics.
[7] Leonidas Linardakis and Nikos Chrisochoides. Delaunay Decoupling Method
for Parallel Guaranteed Quality Planar Mesh Generatiion. SIAM Journal
for Scientific Computing, Vol. 27, No. 4, pp 1394-1423, 2006.
 
== See also ==
[8] G. E. Blelloch, J.C. Hardwick, G.~L. Miller, and D. Talmor}, Design
*[[Mesh generation]]
and implementation of a practical parallel Delaunay algorithm,
and *[[parallelParallel computing]] [1].
Algorithmica, 24 (1999), pp. 243--269.
 
== References ==
[9] Clemens Kadow and Noel Walkington. Design of a projection-based parallel
{{reflist}}
Delaunay mesh generation and refinement algorithm. In proceedings of Fourth
{{Mesh generation|state=autocollapse}}
Symposium on Trends in Unstructured Mesh Generation, 2003.
[[Category:Mesh generation]]
[[Category:Parallel computing]]
{{maths-stub}}