1

膨大なテキスト ファイルを記述してシミュレーション データを出力する Fortran プログラムがあります。テキスト ファイルは、メッシュ セルのコレクションの流体特性データと、導体メッシュ セルのコレクションの導体データを提供します。次の例のようなものです。

Cell Group 1
Axial Level | Pressure | Temperature | Velocity
1           | 150.1    | 198         | 3.5
2           | 150      | 200         | 3.5
...         | ...      | ...         |

Cell Group 2
Axial Level | Pressure | Temperature | Velocity
1           | 150.1    | 201         | 3.5
2           | 150      | 205         | 3.5
...         | ...      | ...         |

Conductor Group 1
Axial Level | Conductivity | Temperature 
1           | 19.8         | 301         
2           | 19.7         | 305          
...         | ...          | ...         

通常、このデータを解釈または表示するために、このデータを何らかのグラフィカルな方法で整理する必要があります。たとえば、流体セル グループ 1,302 の圧力の変化を知りたい場合があります。この情報を取得するには、次のいずれかを行います。

  1. Fortran プログラムの出力サブルーチンを書き直して、GNUplot を使用してグラフ化できるテーブルに必要な特定のデータが得られるようにします。
  2. Python スクリプトを作成してテキスト ファイルから出力を取得し、GNUplot を使用して作業できる新しいファイルに書き込みます。
  3. データをスプレッドシート ソフトウェアにコピー アンド ペーストし、その方法でプロットを作成します。

私が関わっているいくつかのプロジェクトで XML が使用されているのを目にするようになりましたが、それについてはほとんど何も知りません。XML について学び、この Fortran プログラムにデータを XML 形式で書き込む機能を追加することに時間を割く価値があるかどうかを判断したいと考えています。XML へのデータの書き込みを開始した場合、シミュレーション データを分析するための以前の方法を改善して、より簡単に、より速く、より自動化できるでしょうか? もしそうなら、どのように、そしてどのように始めるべきですか?

4

3 に答える 3

7

ダウンストリーム ツールチェーンが XML を読み取らない限り、XML を記述してもほとんど意味がありません。

代わりに、科学データセットに広く使用されている形式であるHDF5を検討することをお勧めします。HDF グループは、C、C++、Fortran、および Java のバインディングを公開しています (記憶がよければ) が、Python、Matlab、Mathematica、IDL、およびいくつかの open- ParaView を含むソース科学的視覚化ツール。HDF5 ファイルで GNUPlot を使用する簡単な方法を見つけたことがありません。

また、本当に必要な場合は h5dump、HDF グループが提供するユーティリティの 1 つである XML を使用して、HDF5 ファイルを XML に変換できます。

于 2012-10-30T22:53:17.667 に答える
2

データ出力の形式は、下流のプロセスが必要とする入力に直接関係しています。リーダーとして持っているのが .csv プロセスだけである場合に XML を記述するのはばかげています。

読者が XML を要求していることがわかっている場合は、ぜひ、XML を学び、その方法で書き始めてください。

学ぶ必要があることを学び、最新の状態に保ち、そこから先に進みます。

于 2012-10-30T21:11:44.937 に答える
1

データをグラフ形式で表示したい場合は、vtk または silo 形式が必要になる可能性があります。これらは、科学ソフトウェアによってメッシュ上で生成されたデータを表すために特別に設計されています。visitなどのソフトウェアを使用すると、ファイルを表示したり、複数の実行を比較したりできます (やりたいように思えます)。このドキュメントでは、データをこれらの形式に変換する方法について説明し、必要な労力と、問題に対してそれが価値があるかどうかを示す必要があります。

これは、HDF5 形式を使用するという @HighPerformancemark の提案に関連しています。ただし、HDF5 は非常に柔軟な形式であり、プロッティング ソフトウェアが HDF5 形式の任意のデータを解釈することは期待できません。サイロはストレージに HDF5 を使用しますが、メッシュとフィールド データの保存方法には特定の形式があります。vtk も同様ですが、代わりに xml に基づいています。

于 2012-10-31T06:27:12.467 に答える