OpenFOAMの解析結果をgnuplotでグラフにする
OpenFOAMを利用して解析した結果を、グラフにして表示したいことがあると思います。そのときは、OpenFOAMが提供するsampleコマンドを利用すると便利です。
sampleコマンドを利用すると、解析結果全体から、注目領域の解析結果を数値データとして簡単に取り出すことができます。
ここでは、sampleコマンドでデータを取り出し、gnuplotでプロットする方法について説明します。
手順は、以下に示すとおりです。
(1)simpleDictファイルを記述する
(2)OpenFOAMで解析を行う
(3)sampleコマンドを使って、注目領域のデータを取り出す
sample <root> <case>
(4)gnuplotでプロットする
具体的に、どのように行うかを「icoFoam」ディレクトリにある「cavity」を解析する場合を例に、説明していきます。
(1)simpleDictファイルを記述する
「sampleDict」には、どの場所のどんなデータ(流速や応力など)を取り出すのかを指定します。
「sampleDict」の雛形が、「stressedFoam」に用意されているのでコピーしてきます。
cp $FOAM_RUN/tutorials/stressedFoam/plateHole/system/sampleDict
$FOAM_RUN/tutorials/icoFoam/cavity/system
(実際は一行です)
ファイルの中身を以下のように書き換えます。
interpolationScheme cellPoint; // データの内挿方法を指定します
writeFormat gnuplot; // 出力フォーマット指定します (gnuplot形式を指定しました)
sampleSets
(
uniform // データを取り出すポイントが均等に並ぶように指定します
{
name yPatch; // データを取り出す領域に名前をつけます
axis y; // y軸に沿ってデータを取り出すことを指定します
start (0.05 0 0); // データを取り出す最初のポイントを指定します
end (0.05 0.1 0); // データを取り出す最後のポイントを指定します
nPoints 10; // データを取り出すポイントの数を指定します
}
);
fields // 取り出すデータの種類を指定します
(
U
);
データ領域の指定方法および取り出すデータの種類についての詳細は、「UserGuide」の
「Sampling data for plotting graphs」を参照してください。
(2)OpenFOAMで解析を行う
次のコマンドを実行して、解析を実行します。
icoFoam $FOAM_RUN/tutorials/icoFoam cavity
(3)sampleコマンドを使って、注目領域のデータを取り出す
sampleコマンドを実行して、プロットするデータを取り出します。
sample $FOAM_RUN/tutorials/icoFoam cavity
sampleコマンドを実行すると「$FOAM_RUN/tutorials/icoFoam/cavity」以下に、
「samples」というディレクトリがつくられます。
さらに、「samples」ディレクトリの中に各時刻毎のディレクトリが作られます。
時間毎のディレクトリの中に、「sampleDict」」ファイルで設定した領域において、
取り出したいデータ(今回はU)が格納されたファイルが保存されています。
「sampleDict」ファイルで、データ領域の名前を「yPatch」、データの種類を「U」としたので、
解析結果を格納したファイルの名前は、「yPatch_U.gplt」となります。
出力例を示します。
左の列から、
y軸の座標、Ux、Uy、Uz
となっています。
(出力例)
0 0 0 0
0.0111111 -0.0626611 0.000151243 0
0.0222222 -0.110447 0.000559149 0
0.0333333 -0.153435 0.00174427 0
0.0444444 -0.189156 0.00457308 0
0.0555556 -0.199246 0.00950171 0
0.0666667 -0.143168 0.014637 0
0.0777778 0.0400397 0.0147974 0
0.0888889 0.417346 0.00650638 0
0.1 1 0 0
(4)gnuplotでプロットする
gnuplotをつかってプロットしてましょう。
gnuplotの使用方法については、gnuplot tipsなどを
参考にしてください。
以上です。おつかれさまでした。
コメント
初めまして!
OpenFOAM Wiki日本語版(OFWikiJA)の管理をしているMasaと申します!
このブログでOpenFOAMの事を何回か書かれているのを見ましたので、今回書き込まさせてもらいます!
OFWikiJAでは立ち上げて間もないサイトなため、ユーザガイドの1、2章の和訳が揃いつつある位で、まだまだ情報量は少ないのですが、良かったらKazuhiro様も何かしら書き込んでくださると幸いです!
ではでは!
投稿者: Masa | 2006年12月28日 22:09
Masa さま
コメントありがとうございます。
OFWikiJA拝見させていただきました。ユーザーガイド参考にさせていただきます。
微力ですが、みなさまのお役に立てれば幸いです。
よろしくお願いします。
投稿者: kazuhiro | 2006年12月29日 19:51
ありがとうございます!
では、良いお年を!
投稿者: Masa | 2006年12月31日 20:26