CGNS Interface

Data Format

CGNS Version 3.0 (ADF / HDF)

Type of mesh

unstructured or structured mesh


2D and 3D






The ANSYS ICEM CFD - CGNS output interface creates a CGNS file in accordance with the SIDS.  It uses the CGNS mid-level-library endorsed by the CGNS Steering Committee to create the file.  This interface supports both structured and unstructured mesh translation.

Creating the CGNS file

The CGNS  output interface can be invoked from the AI*Env main window.  Under the menu "Output", "Select solver", select "CGNS".  Then select "CGNS Input".   A window opens to allow the specification of the files to be translated into the CGNS format.  An existing unstructured mesh file or a set of structured mesh files must first be selected.   In addition, the output interface requires the boundary conditions file, and for structured mesh input, the topology file.  It offers options to define the name of the CGNS file and to select the automatic creation of boundary condition patches.  For unstructured mesh input, the user has the additional option to select whether the boundary condition patches are defined using nodes or face elements.  Default names for the ANSYS ICEM CFD input files and the CGNS file are given.  These can be modified as necessary.

The interface generates the CGNS file in the current project directory.


This translator supports 1-to-1 connectivity only.

Defining boundary conditions for CGNS (optional)

After generating the mesh, and prior to running the translator, boundary conditions for CGNS can be defined using the CGNS
Graphical User Interface.  Under the menu "Output", "Select solver", select "CGNS".   Then click on the "Boundary conditions" icon. The "Family Boundary Conditions" window opens allowing to set boundary conditions on the mesh families.  Two boundary conditions types are available; BCType and BCDataSet.  Note however that BCDataSet in a subset of BCType in CGNS and therefore can not be defined by itself.  A boundary condition patch can either have a BCType alone, or a BCType with one or more BCDataSets.


The boundary condition types (BCType) are defined in the SIDS. They identify the equations that should be enforced at a given boundary. To define a boundary condition type, select a boundary family (face in 3D, edge in 2D) and one of the BCType in the provided list.


Boundary condition data sets are used to define the BCTypeSimple, and one or more global boundary condition data. When boundary condition data are specified, the boundary condition type must be selected.  It can be either "Dirichlet" or "Neumann". Only uniform boundary condition data are supported by the translator; the data given are applied to the entire boundary condition patch. The list of variables corresponds to the standardized "Data-Name Identifiers" found in Annex A of the SIDS.

In general, BCTypeSimple is the same as BCType and no more than one BCDataSet is required. In some particular cases however, the boundary condition type can be flow dependent. In such case, BCTypeSimple differs from BCType. The SIDS defines these special cases as "compound boundary conditions". For example, an inflow boundary where the flow goes from subsonic to supersonic would require a compound boundary condition. In such case, two BCDataSets would be added, each with a different BCTypeSimple:
     (1) with BCTypeSimple = BCInflowSubsonic
     (2) with BCTypeSimple = BCInflowSupersonic
For more details on the use of compound boundary conditions, please refer to the SIDS.

3D elements groups for unstructured grids

The CGNS standard does not provide a specific method for grouping elements. Our translator offers this feature by creating a "DataArray_t" node under "Zone_t/DiscreteData_t". This "DataArray_t" node is named "PID" and contains on array of integers for the pid of each element. Each element's PID is set to its family ID number. The order in which the element's PIDs are listed follows the same order as the global element numbering under "Element_t".