CGNS
Encyclopedia
CGNS stands for CFD General Notation System. It is a general, portable, and extensible standard for the storage and retrieval of CFD
Computational fluid dynamics
Computational fluid dynamics, usually abbreviated as CFD, is a branch of fluid mechanics that uses numerical methods and algorithms to solve and analyze problems that involve fluid flows. Computers are used to perform the calculations required to simulate the interaction of liquids and gases with...

 analysis data. It consists of a collection of conventions, and free and open software implementing those conventions. It is self-descriptive, cross-platform
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...

 also termed platform or machine independent, documented, and administered by an international steering committee. It is also an American Institute of Aeronautics and Astronautics (AIAA) recommended practice. The CGNS project originated in 1994 as a joint effort between Boeing
Boeing
The Boeing Company is an American multinational aerospace and defense corporation, founded in 1916 by William E. Boeing in Seattle, Washington. Boeing has expanded over the years, merging with McDonnell Douglas in 1997. Boeing Corporate headquarters has been in Chicago, Illinois since 2001...

 and NASA
NASA
The National Aeronautics and Space Administration is the agency of the United States government that is responsible for the nation's civilian space program and for aeronautics and aerospace research...

, and has since grown to include many other contributing organizations worldwide. In 1999, control of CGNS was completely transferred to a public forum known as the CGNS Steering Committee. This Committee is made up of international representatives from government and private industry.

The CGNS system consists of two parts: (1) a standard format (known as Standard Interface Data Structure, or SIDS) for recording the data, and (2) software that reads, writes, and modifies data in that format. The format is a conceptual entity established by the documentation; the software is a physical product supplied to enable developers to access and produce data recorded in that format.

The CGNS system is designed to facilitate the exchange of data between sites and applications, and to help stabilize the archiving of aerodynamic data. The data are stored in a compact, binary format and are accessible through a complete and extensible library of functions. The application programming interface
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 (API) is cross-platform and can be easily implemented in C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

, Fortran
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

 and Fortran 90 applications. A MEX interface mexCGNS also exists for calling the CGNS API in high-level programming language
High-level programming language
A high-level programming language is a programming language with strong abstraction from the details of the computer. In comparison to low-level programming languages, it may use natural language elements, be easier to use, or be from the specification of the program, making the process of...

s MATLAB
MATLAB
MATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...

 and GNU Octave
GNU Octave
GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command-line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB...

. Object oriented interface CGNS++ and Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

 module pyCGNS exist, while they are not maintained.

The principal target of CGNS is data normally associated with compressible viscous flow (i.e., the Navier-Stokes equations
Navier-Stokes equations
In physics, the Navier–Stokes equations, named after Claude-Louis Navier and George Gabriel Stokes, describe the motion of fluid substances. These equations arise from applying Newton's second law to fluid motion, together with the assumption that the fluid stress is the sum of a diffusing viscous...

), but the standard is also applicable to subclasses such as Euler
Euler equations
In fluid dynamics, the Euler equations are a set of equations governing inviscid flow. They are named after Leonhard Euler. The equations represent conservation of mass , momentum, and energy, corresponding to the Navier–Stokes equations with zero viscosity and heat conduction terms. Historically,...

 and potential flows. The CGNS standard includes the following types of data.
  • Structured, unstructured, and hybrid grids
  • Flow solution data, which may be nodal, cell-centered, face-centered, or edge-centered
  • Multizone interface connectivity, both abutting and overset
  • Boundary conditions
  • Flow equation descriptions, including the equation of state, viscosity and thermal conductivity models, turbulence models, multi-species chemistry models, and electromagnetics
  • Time-dependent flow, including moving and deforming grids
  • Dimensional units and nondimensionalization information
  • Reference states
  • Convergence history
  • Association to CAD geometry definitions
  • User-defined data


Much of the standard and the software is applicable to computational field physics in general. Disciplines other than fluid dynamics would need to augment the data definitions and storage conventions, but the fundamental database software, which provides platform independence, is not specific to fluid dynamics.

CGNS is self-describing, allowing an application to interpret the structure and contents of a file without any outside information. CGNS can make use of either two different low-level data formats:
  • an internally-developed and supported method called Advanced Data Format (ADF), based on a common file format system previously in use at McDonnell Douglas
  • HDF5, a widely used hierarchical data format

Tools and Guides

In addition to the CGNS library itself, the following tools and guides are available from SourceForge:
  • CGNSTools - Includes ADFVIEWER, a browser and editor for CGNS files
  • Users Guide code - small practical example CGNS programs written in both Fortran and C
  • F77 Examples - example computer programs written in Fortran that demonstrate all CGNS functionality

See also

  • Common Data Format
    Common Data Format
    Common Data Format is a library and toolkit that has been developed by NASA. The software is an interface for the storage and manipulation of multi-dimensional data sets.-See also:* CGNS * EAS3...

     (CDF)

  • EAS3
    EAS3
    EAS3 is a software toolkit for reading and writing structured binary data with geometry information and for postprocessing of these data. It is meant to exchange floating-point data according to IEEE standard between different computers, to modify them or to convert them into other file formats....

     (Ein-Ausgabe-System)
  • FITS
    FITS
    Flexible Image Transport System is a digital file format used to store, transmit, and manipulate scientific and other images. FITS is the most commonly used digital file format in astronomy...

     (Flexible Image Transport System)
  • GRIB
    GRIB
    GRIB is a mathematically concise data format commonly used in meteorology to store historical and forecast weather data...

     (GRIdded Binary)
  • Hierarchical Data Format
    Hierarchical Data Format
    Hierarchical Data Format is the name of a set of file formats and libraries designed to store and organize large amounts of numerical data...

     (HDF)
  • NetCDF
    NetCDF
    NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. The project homepage is hosted by the Unidata program at the University Corporation for Atmospheric Research...

     (Network Common Data Form)
  • Tecplot
    Tecplot
    Tecplot is the name of a family of visualization software tools developed by Tecplot, Inc., which is headquartered in Bellevue, Washington.-Tecplot Chorus:...

     binary files
  • XMDF
    XMDF
    XMDF is a library providing a standard format for the geometry data storage of river cross-sections, 2D/3D structured and unstructured meshes, geometric paths through space, and associated time data. XMDF uses HDF5 for cross-platform data storage and compression...

    (eXtensible Model Data Format)

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK