CFD General Notation System
|The first thing you should probably do is to browse the
to see if CGNS is right for your application. There are also a number of
papers and slide
presentations available which you may want to read. You will find it
highly beneficial to join the CGNStalk forum.
This forum has been set up to facilitate the exchange of information
among CGNS users. This is a good source for answering any questions you
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.