CGNS はCFD General Notation Systemの略です。これは、 CFD解析データの保存と取得のための汎用的で移植可能かつ拡張可能な標準です。これは、規約の集合と、それらの規約を実装するフリーでオープンなソフトウェアで構成されています。自己記述的で、クロスプラットフォーム(プラットフォームまたはマシン非依存とも呼ばれる)であり、文書化されており、国際運営委員会によって管理されています。また、米国航空宇宙学会 ( AIAA ) の推奨プラクティスでもあります。CGNSプロジェクトは1994 年にボーイングとNASAの共同作業として始まり、その後、世界中の他の多くの貢献組織を含むまでに成長しました。1999 年に、CGNS の管理はCGNS 運営委員会 として知られる公開フォーラムに完全に移管されました ( 2007 年 6 月 24 日Wayback Machineにアーカイブ)。この委員会は、政府および民間企業の国際的な代表者で構成されています。
CGNSシステムは、(1)データを記録するための標準フォーマット(標準インターフェースデータ構造、SIDSとして知られる)、および(2)そのフォーマットでデータを読み書きおよび変更するソフトウェアの2つの部分から構成されます。フォーマットはドキュメントによって確立された概念的な実体であり、ソフトウェアは開発者がそのフォーマットで記録されたデータにアクセスして作成できるようにするために提供される物理的な製品です。
CGNSシステムは、サイト間およびアプリケーション間でのデータ交換を容易にし、空力データのアーカイブを安定させるように設計されています。データはコンパクトなバイナリ形式で保存され、完全かつ拡張可能な関数ライブラリを通じてアクセスできます。アプリケーションプログラミングインターフェース(API)はクロスプラットフォームであり、 C、C++、Fortran、およびFortran 90アプリケーションで容易に実装できます。また、高水準プログラミング言語であるMATLABおよびGNU OctaveでCGNS APIを呼び出すためのMEXインターフェースmexCGNSも存在します。オブジェクト指向インターフェースCGNS++およびPythonモジュールpyCGNSも利用可能です。
CGNSの主な対象は、通常圧縮性粘性流(すなわち、ナビエ・ストークス方程式)に関連するデータですが、この規格はオイラー流やポテンシャル流などのサブクラスにも適用可能です。CGNS規格には、以下の種類のデータが含まれます。
標準規格とソフトウェアの大部分は、計算場物理学全般に適用可能です。流体力学以外の分野では、データ定義と保存規則を拡張する必要がありますが、プラットフォームに依存しない基本的なデータベースソフトウェアは、流体力学に特化したものではありません。
CGNSは自己記述型であり、アプリケーションは外部情報なしにファイルの構造と内容を解釈できます。CGNSは、以下の2種類の低レベルデータ形式のいずれかを使用できます。
CGNSライブラリ自体に加えて、以下のツールとガイドがGitHubから入手可能です。