CGNS logo

CFD General Notation System
Getting Started


CGNS site pages
What is CGNS?
Getting Started 
Latest News
Switch to HDF5
Steering Committee
Discussion Group
Contributed Utilities
Example CGNS Files
Proposed Extensions

Documentation pages
Documentation Home
Papers and Slides
Meeting Minutes
User's Guide
SIDS File Mapping
Mid-Level Library
CGIO User's Guide

The first thing you should probably do is to browse the CGNS documentation to see if CGNS is right for your application. There are also a number of conference papers and slide presentations available which you may want to read. You will find it highly beneficial to join the CGNStalk mailing list. This list has been set up to facilitate the exchange of information among CGNS users. This is a good source for answering any questions you might have.

Next, download the free software, and unzip/untar the source. In order to build the library you will need an ANSI compliant C compiler. The distribution uses a GNU configure script to setup the compiler and options (a batch file is used for Windows). View the README file to determine what configure options you may want to use. After that, run the configure script in the CGNS library directory. Finally, run your make command to build the library. There are some test cases in the tests subdirectory, that you may also want to build and run.

Now, to building your own application. If you intend to use C and/or Fortran, then you are ready to go. Create your program, and link with the CGNS library. You will find the User's Guide to CGNS very useful in creating your first program. The source code for the examples in the User's Guide is available for download. There are other examples in the tests subdirectory of the CGNS library directory, and in the tools and utilities directories of the CGNStools distribution.

For developing in C++, you may want to check out the CGNS++ interface, which provides an object-oriented interface to CGNS files. The CGNS library source in itself is C, and as such does not provide an object-orientated interface. You can, of course, call the CGNS library routines from within your C++ code.

If you prefer working in Python, then check out pyCGNS, which is a Python wrapper for the CGNS API. There is also a Tcl wrapper to the API available in the cgnssh directory of the CGNStools distribution.

Finally, a number of utilities have been developed for CGNS files, which you may find useful.