CGNS
![本頁使用了標題或全文手工轉換](http://upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
副檔名 |
cgns |
---|---|
最新版本 | 4.1.0 2020年3月4日 |
格式類型 | 科學資料格式 |
網站 | http://www.cgns.org |
CGNS是CFD General Notation的縮寫,它是一個面向CFD資料儲存和檢索,通用、輕便並且可延伸的標準。它包含一系列的約定,和實現這些約定的免費開放的軟體。它具有自描述性,跨平台並且和機器無關,由國際指導委員會編寫文件並且管理。它也是由AIAA所推薦的一個標準。1994年在美國波音公司和NASA的共同努力下,CGNS專案(頁面存檔備份,存於網際網路檔案館)產生。到如今,世界範圍內許多組織都對它的發展有做出了貢獻。1999年,CGNS的控制權完全移交至一個公共的社團——CGNS指導委員會(頁面存檔備份,存於網際網路檔案館)。這個委員會由世界範圍內的來自政府和私人企業的代表組成。
介紹
[編輯]CGNS專案包含兩個部分:(1)一個記錄資料的標準格式,稱為標準介面資料結構(Standard Interface Data Structure),簡稱SIDS;(2)用來讀取、輸出和修改這種格式的資料的軟體。這種格式是由文件所建立的概念上的實體,軟體則是提供給開發者們用來取得和產生用那種格式記錄的資料的物理上的產品。
CGNS系統被設計成有助於網站與網站之間、應用與應用之間資料的交換,並且有助於空氣動力學資料的歸檔。資料被儲存成一種緊緻的二進制的格式,並且通過一整套完整的可延伸的函式庫來讀取。應用程式介面(API)是跨平台的,可以被輕易地應用於C、C++、Fortran和Fortran 90專案。還存在一個MEX介面mexCGNS(頁面存檔備份,存於網際網路檔案館),使得可以在高階程式語言比如matlab和GNU Octave中呼叫CGNS的API。還存在一個物件導向的介面CGNS++(頁面存檔備份,存於網際網路檔案館)以及Python模組pyCGNS(頁面存檔備份,存於網際網路檔案館),但是它們並沒有被維護。
CGNS的主要目標是和可壓縮粘性流體(即NS方程)有關的資料,但是標準也適用於它的子集,比如歐拉方程和勢流。CGNS標準包含如下幾種形式的資料。
- 結構、非結構和混合網格;
- 流場解資料,可以是節點的、單元中心點的、面中心點的或者邊中心點的;
- 多快介面連接面,包括abutting和overset的;
- 邊界條件;
- 流動方程描述,包括狀態方程、粘性以及熱傳導模型、湍流模型、多組分化學模型和電磁模型;
- 時間相關流體,包括動網格和變形網格;
- 量綱的單位以及無量綱的資訊;
- 參考狀態;
- 收斂歷史;
- 和CAD模型定義的關係;
- 使用者自訂的資料。
標準和軟體的大部分可以應用於計算領域的一般物理問題。除流體動力學之外的其它規律需要擴大數據的定義和儲存的約定,但是基礎的、提供跨平台特性的資料庫軟體並不只是針對計算動力學的。
CGNS是自描述性的,允許應用程式在沒有其它外部資訊的時候描述檔案的結構和內容。CGNS可以利用兩種不同的底層的資料格式
- 一個內部開發並支援的叫做先進資料格式(Andaved Data Format,簡稱 ADF)的方法,基於先前在McDonnell Douglas中使用的通用檔案格式系統;
- HDF5,一個廣泛使用的分層資料格式。
工具和指導
[編輯]除了CGNS庫自身,以下的工具和指導可以從SourceForge上獲得:
- CGNS工具,包括ADFviewer,一種CGNS檔案的瀏覽器和編輯器;
- 使用者指導代碼,一些小的用Fortran和C寫的CGNS程式例子;
- F77例子,用Fortran寫的,用來演示所有的CGNS功能的計算程式例子。