« 手帳はディジタル化できるか? | メイン | 赤いあいつがやってきた! 「Adobe Reader 8」公開 »

OpenFOAMの解析結果をgnuplotでグラフにする

  はてなブックマークに追加 このエントリを livedoor クリップへ追加

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などを
  参考にしてください。

以上です。おつかれさまでした。




Ads BOARD








最近のエントリーとその関連エントリー

トラックバック

このエントリーのトラックバックURL:
http://kazuhiro.ty.land.to/blog/mt-tb.cgi/95

コメント

初めまして!
OpenFOAM Wiki日本語版(OFWikiJA)の管理をしているMasaと申します!

このブログでOpenFOAMの事を何回か書かれているのを見ましたので、今回書き込まさせてもらいます!

OFWikiJAでは立ち上げて間もないサイトなため、ユーザガイドの1、2章の和訳が揃いつつある位で、まだまだ情報量は少ないのですが、良かったらKazuhiro様も何かしら書き込んでくださると幸いです!

ではでは!

Masa さま

コメントありがとうございます。

OFWikiJA拝見させていただきました。ユーザーガイド参考にさせていただきます。

微力ですが、みなさまのお役に立てれば幸いです。

よろしくお願いします。

ありがとうございます!

では、良いお年を!

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

  Map