Computational & Technology Resources
an online resource for computational,
engineering & technology publications
Civil-Comp Proceedings
ISSN 1759-3433
CCP: 100
Edited by: B.H.V. Topping
Paper 32

An Independent Mesh Model Process to Write Meshing Algorithms

C. de Bellabre, F. Ledoux and J.-Ch. Weill

CEA, DAM, DIF, Arpajon, France

Full Bibliographic Reference for this paper
C. de Bellabre, F. Ledoux, J.-Ch. Weill, "An Independent Mesh Model Process to Write Meshing Algorithms", in B.H.V. Topping, (Editor), "Proceedings of the Eighth International Conference on Engineering Computational Technology", Civil-Comp Press, Stirlingshire, UK, Paper 32, 2012. doi:10.4203/ccp.100.32
Keywords: meshing framework, C++ generic programming, computation time, memory footprint, mesh model, Delaunay triangulation.

One of the main building blocks of computational simulations is the mesh data structure. Depending on the numerical approximation methods or the meshing algorithm to be implemented, the mesh data structure must provide drastically different features. In order to provide a single and uniform way to handle any type of meshes, general meshing infrastructures have been developed in the last few years. In this work, is on one of them, the C++ generic mesh data structure (GMDS) framework, which intensively uses generic programming, and allows users to select the mesh model, i.e. a combination of available cells and connections, that best fits their requirements.

At compile-time, the GMDS provides a tailored mesh data structure both in computation time and memory footprint, which fits as best as possible the algorithm requirements. A mesh framework such as GMDS provides code sharing and a uniform access to any kind of mesh model whatever the developer's requirements. However, some main issues remain to be solved in an industrial context: how to select the mesh model that best fits the requirements of an algorithm? and how to combine algorithms requiring different mesh models without space memory duplication? In order to provide a first answer, a new level of abstraction has been added into GMDS: for any mesh model, at compile-time some pieces of C++ source code to retrieve the connections that are not kept in memory according to the mesh model are built. These pieces of source code are a direct implementation of combinatorial terms that must be exhibited to build missing connections. For instance, if an algorithm is built for a mesh model where nodes, edges and faces are available and the connection from faces to edges and edges to nodes are kept in memory, it is possible to obtain the nodes of a face by traversing its adjacent edges.

In order to illustrate the benefits of this approach, an algorithm is implemented that generates a Delaunay triangulation. The source code obtained runs for 105 different mesh models with different performances both in computational time and memory footprint.

purchase the full-text of this paper (price £20)

go to the previous paper
go to the next paper
return to the table of contents
return to the book description
purchase this book (price £50 +P&P)