CGNS logo

CFD General Notation System
Frequently Asked Questions (FAQs)


 

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

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

Q: How do I obtain CGNS?

A: CGNS is distributed via https://github.com/CGNS. (Old, stable releases will remain available on SourceForge until the transition from SourceForge to GitHub is completed.) All CGNS software is free, and is governed by the license described at the bottom of the What is CGNS? page. You can obtain the software by going to our Download page.
 

Q: How can I get help if I run into problems?

A: There is no full-time CGNS "help desk." Instead, the CGNS community relies on both extensive documentation and other CGNS users for help and support. The documentation is available at Documentation Home. In particular, we recommend that beginning users consult the User's Guide, which includes many example programs in both Fortran and C. If you still need help, please make use of the Discussion Group, via e-mail: cgnstalk@lists.nasa.gov. We strongly encourage you to join this group so you can be a part of ongoing CGNS discussions and updates.
 

Q: There is a lot of documentation... which are most important for me to read?

A: We recommend the User's Guide as a first "must read." This will introduce you to CGNS and guide you through many basic examples. As a tutorial overview, the "CGNS Tutorial Session" (slide format) may also be useful. It can be found under Papers and Slides (Slides section). The full details about the intellectual content of CGNS files are given in the SIDS document (which is also an AIAA Recommended Practice). Finally, when you start programming, you will probably need to refer to the Mid-Level Library documentation, which describes the Fortran and C calls used to read and write the CGNS files.
 

Q: What does SIDS mean?

A: SIDS stands for "Standard Interface Data Structures." It defines the details of how data is stored in a CGNS file. CGNS files themselves are entities that are organized internally into a set of "nodes" in a tree-like structure. The top-most node is referred to as the "root node," and each node has an associated name, label, data, and (possible) children nodes. It is the SIDS that tells you how those nodes are organized, and what data is contained therein.
 

Q: What do I do if CGNS is not capable of handling my particular application?

A: CGNS has been designed to be very flexible, for handling a wide range of flow physics applications. However, if you find an application that is not covered, you are encouraged to utilize the "UserDefined" construct as needed. In fact, the UserDefined node can be used to create an entire tree consisting of multilpe levels of UserDefined children nodes, so you can create an entire "pattern" for storing particular information. Furthermore, if you feel that a change or addition is needed to the SIDS, or if you feel that a particular "pattern" you have created might be useful to others, please consider submitting a proposal for extension (see Proposed Extensions page).
 

Q: When there are multiple ZONES associated with a given CGNS file, is there a particular way that they should be named?

A: It is important for CGNS users to know that when a CGNS file is opened via the cg_open() MLL function, the zones are sorted alphanumerically by name (the creation order is ignored/discarded). This mechanism is provided to enable ordinal zone indexing. Therefore, if ordinal zone indexing is desired, it is considered good standard practice to always choose zone names to be alphabetically increasing. For example, Zone0001, Zone0002, etc. is appropriate for up to 9999 zones. (Important: Because the cgnsview tool uses the low-level cgio API, it does not sort the zones by name and zone order presented may not match that of the MLL API. Generally, cgnsview presents the zones in creation order for both ADF and HDF5 formats. One exception is CGNS files that are either created or opened using the HDF5 v1.6 library (or older) will always be presented alphabetically (creation order tracking was added to HDF5 in v1.8).)
 

Q: How do I view my CGNS files?

A: CGNS files are most easily viewed using the tool "cgnsview" (part of the cgnstools). This tool is Tcl/Tk based. Cgnsview also has the capability to plot and to translate to/from PLOT3D format, for example.
 

Q: How do I know if a CGNS file is correct according to the SIDS definitions?

A: There are currently tools being developed to evaluate how well a file complies with the CGNS rules ("SIDS-compliance"). For example, the utility "cgnsview" (available as part of the cgnstools), has a capability called "check CGNS" that checks for compliance to some degree (this tool can also be run independently of cgnsview). There are still ongoing discussions about this subject. For example, it is possible that different levels of compliance may be defined in the future.
 

Q: What do the CGNS Version numbers mean, and does the CGNS library maintain backward/forward compatibility?

A: The CGNS versions are currently numbered as follows: "Version x.y, Revision z", or "Version x.y-z". (However, the revision number is often left off, so you will typically only see "Version x.y".) The first number represents the "major" version number. Within this number, the library maintains forward compatibility. For example, Version 2.3 of the library can read a Version 2.5 CGNS file, but Version 1.y cannot necessarily read any Version 2.y (or later) file. A new "major" version number is assigned either when forward compatibility is lost, or else when there is a significant change made to the API. The second number is the "point release" number. It increments when there are relatively minor changes to the API, or with the addition of new features. The third number (the revision number) changes with bug fixes. Major releases and point releases are announced (via the Latest News page and via the CGNSTalk Discussion Group), whereas revisions are generally not announced. Note that CGNS always maintains backward compatibility: the most recent version of the library will be able to read all older versions CGNS files.
 

Q: How do I keep up with the goings-on of the Steering Committee?

A: The CGNS Steering Committee meets and/or holds telecons about 5 times per year. The minutes are posted on the Meeting Minutes page. Also, the meetings are an open forum: anyone is welcome to attend. To find out the date and time of the next meeting, please e-mail to cgnstalk@lists.nasa.gov.
 

Q: Can I use the CGNS logo as part of my website or other documentation?

A: We encourage anyone to freely use the CGNS logo when distributing or documenting CGNS related information. The logo adds prestige and credibility to web sites, publications, displays, announcements, and activities. However, the use of the logo in such a way as to imply approval, endorsement, or responsibility of the CGNS committee is prohibited without written permission.

Logo file (color) in .gif format (13 kB)         Logo file (black & white) in .gif format (12 kB)

Logo file (color) in .jpg format (12 kB)         Logo file (black & white) in .jpg format (9 kB)
 

Q: Is CGNS an ISO standard?

A: Between 1999 and 2002, an effort was spearheaded by Boeing to establish an ISO-STEP standard for the representation, storage, and exchange of digital data in fluid dynamics based on the CGNS standard. Unfortunately, the effort had to be curtailed because of budget problems. It was subsequently decided that an existing ISO standard on finite element solid mechanics would be rewritten and submitted to include CGNS as well as an integrated engineering analysis framework. Some details on this subsequent effort can be found in archives of the Meeting and Telecon Minutes. This new ISO effort was being conducted completely outside of the control of the CGNS committee. Therefore, the current status is not known.