Computational & Technology Resources
an online resource for computational,
engineering & technology publications
Civil-Comp Proceedings
ISSN 1759-3433
CCP: 95
Edited by:
Paper 63

An Automatic Joining Mesh Approach for Computational Fluid Dynamics to Reach a Billion Cell Simulations

Y. Fournier1, J. Bonelle1, P. Vezolle2, C. Moulinec3 and A.G. Sunderland3

1EDF R&D, MFEE, Chatou, France
2IBM France, Montpellier, France
3STFC Daresbury Laboratory, Warrington, United Kingdom

Full Bibliographic Reference for this paper
Y. Fournier, J. Bonelle, P. Vezolle, C. Moulinec, A.G. Sunderland, "An Automatic Joining Mesh Approach for Computational Fluid Dynamics to Reach a Billion Cell Simulations", in , (Editors), "Proceedings of the Second International Conference on Parallel, Distributed, Grid and Cloud Computing for Engineering", Civil-Comp Press, Stirlingshire, UK, Paper 63, 2011. doi:10.4203/ccp.95.63
Keywords: non-conformal meshes, unstructured, joining, high-performance computing, petascale.

To attain this goal substantial increases in mesh resolution are required, alongside an increase in the complexity of the geometry that is represented. This leads to very large mesh sizes, of the order of several billions of cells, throughout which the Navier-Stokes equations must be solved. During recent years, the scalability of Code_Saturne, EDF's general purpose CFD code, has been improved with regard to computing speed, memory usage and I/O. Code_Saturne is a general purpose co-located finite volume solver parallelised using MPI, which has been under development since 1997. It has been made available under the General Public Licence since 2007. Code_Saturne has also been designated one of the principal CFD benchmark codes in the European-wide PRACE initiative and has been benchmarked on several of the available PRACE tier-0 prototype systems.

As most meshing tools available today are not parallel, memory limitations make it difficult to build a mesh made of more than 200 million cells on a typical front-end machine, even for top of-the line tools. To work around these limitations, Code_Saturne has been designed to load multiple meshes and join them together, irrespective of whether those meshes are conforming. This allows the meshing of a geometry to be done in separate pieces, and thus works around some of the limitations of serial meshing tools. This paper describes how this step may now be done in parallel, which has allowed us to test calculations with nearly 2 billion cells.

The non-conforming interfaces are detected by an octree-based algorithm, and surface faces are subdivided according to their intersection so as to obtain conforming subfaces, which may be any type of simple polygon. Cells adjacent to those faces thus become general polyhedral cells, even if they were initially tetrahedral, prisms, or hexahedra.

A large scale demonstration case has been set up, consisting of sixteen meshes. The initial grid meshes a rectangular domain containing a submarine and is made of 122M tetrahedral cells. It has been generated on an SGI machine with 96 GBytes RAM. This mesh has then been stacked to create a collection of sixteen submarines flowing in parallel, thereby obtaining a 1.96 billion cell mesh. Most cells are tetrahedral, but cells along the non-conforming joined interface are more complex polyhedra.

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 £85 +P&P)