CFD Online Logo CFD Online URL
www.cfd-online.com
Home >

Links - Programming and Computing

This section contains links to selected resources that might be of interest for people developing CFD codes. For software and source code you should also check out the Links - Software section. To suggest a link to be included in this section please use the online link suggestion form. You are of course also welcome to contact us directly via email at webmaster@cfd-online.com.

Contents:


Data Formats

CGNS - CFD General Notation System [GOOD]
CGNS is slowly becoming a de facto data format standard in the CFD world. CGNS was initiated by NASA and Boeing back in 1994 and the format is still actively developed. The CGNS format is now supported by most commercial code vendors, although not as well by some large vendors as you would hope. If you are writing your own CFD code you should definitely make sure that it can read and write CGNS data.
Unstructured Grid Consortium (UGC)
UGC is a consortium of several large companies and organizations (Boeing, NASA Langley, Pointwise, Lockheed-Martin, ... ). Among other things they are developing a standard for data-transfer related to unstructured grids.
HDF5
HDF is a general purpose library and file format for storing scientific data. HDF was developed by NCSA and has many users. HDF is a lower-level format than CGNS and CGNS will most likely switch to using HDF5 as the storage layer. There are also other more "intelligent" CFD related developments of HDF that might be of interest, like the HDF5 Mesh API.
PLOT3D Read and Write Utilities
Fortran routines to read and write PLOT3D data. PLOT3D is an old NASA format which is widely supported. When everything else fails you can always try the PLOT3D format. Another description of PLOT3D can be found here.
MOAB - a Mesh-Oriented datABase
A software library for creating, storing and accessing finite element mesh data. Distributed under GPL. Developed by Elemental Technologies and Sandia National Labs.
Scientific Data Management, by Mario Valle
A nice overview of the field of scientific data management. Contains many links.
Go to top Go to top             Suggest new link Suggest new link

Software Libraries

Libraries which you can use if you don't want to write your own routines for everything. These can be invaluable if you, for example, don't want to code your own linear equation solver. For documents and information on discretizations schemes and solvers see the Modeling and Numerics section. For links to more sources of numerical software see the Software > General Numerical Software section.
TOPS - Terascale Optimal PDE Simulation [GOOD]
A large project to build a numerical framwork for PDE simulations. Includes state-of-the-art solvers like Hypre from LLNL, PETSc from Argonne and SuperLU from LBL. This is good stuff.
Trilinos [GOOD]
A project led by Sandia to develop an object-oriented sofware framework for scientific computations. This is an active project which includes several state-of-the-art solvers and lots of other nice things a software engineer writing CFD codes would find useful. Everything is freely available for download once you have registered. Very good!
Aztec
A parallel iterative sparse linear solver package developed at Sandia National Laboratories. This solver is included in the TOPS and Trilinos suites above.
Hypre
A library of high performance preconditioners using parallel multigrid methods for both structured and unstructured grids. Developed at the Lawrence Livermore National Laboratory .
PETSc
A parallel library of routines for scientific computations developed by the MCS division at Argonne National Laboratory . This library is included in the TOPS and Trilinos suites above.
BlockSolve95
Software for the efficient solution of large, sparse linear systems on massively parallel computers
Freely Available Software for Linear Algebra
Links to more packages. By Jack Dongarra.
Overview of Iterative Linear System Solver Packages
A nice surevey from 1997 by Victor Eijkhout
Go to top Go to top             Suggest new link Suggest new link

Parallel Computing

For information on clusters, cluster software etc. please see the Links > Hardware > Clusters section.

Mesh Generation and Partitioning

METIS: Unstructured Graph Partitioning and Sparse Matrix Ordering System [GOOD]
METIS is a set of routines to partition and re-order grids. The algorithms used produce very good results for domain decomposition methods. Both serial and parallel versions are freely available for download. This is good stuff!
SUMAA3d - Scalable Unstructured Mesh Algorithms and Applications
Parallel software for mesh generation, smoothing, refinement and partitioning. Freely available for download.

Communication Interfaces

MPI - Message Passing Interface
The most commonly used communication interface. There are many MPI implementation. Some of the more popular are MPICH, LAM/MPI and the new Open MPI There is also a complete reference book on MPI freely available on the web
PVM - Parallel Virtual Machine
PVM is a communication library with a long history and many users. In recent years it has lost market share to MPI though. You can find a complete reference book on PVM freely available on the web.
BSP - Bulk Synchronous Parallel Model
BSPlib is an alternative to MPI and PVM. It is based on the BSP model of parallel computation. It is supposed to be simpler to use but it does not seem to be taking off.

Parallel Info

Nan's Parallel Computing Page
Lots of links to parallel computing related resources.
Designing and Building Parallel Programs
A free hypertextbook by Ian Foster. Looks nice.
Go to top Go to top             Suggest new link Suggest new link