CAE

【水面高さ時刻歴データ(OpenFOAM)】ParaViewとPythonでグラフ化する方法(12)

こんにちは(@t_kun_kamakiri

今回は下記の記事で解説した水面高さをParaViewで表示し、Pythonで実験データとする方法について解説を行います。

ちなみに、水面高さは「system/controlDict」ファイル内でfunctionObjectのinterfaceHeightで特定座標の水位や波高を取得することが可能です。

system/controlDict

「direction (0 0 -1);」は重力の方向を正しく指定する必要があります。
今回はz方向下向きに重力がはたらいているためこのような設定としました。

また、「postProcessing/interfaceHeight1/0/height.dat」には一つの座標に対して以下の出力結果が出されます。

  • # hB : Interface height above the boundary:水面の高さ
  • # hL : Interface height above the location:波の高さ

いずれも重力の方向を正しく指定することが重要です。

本来はこちらの設定の方が結果処理の手間が省けて良いのですが、計算実行後に設定し忘れて(もしくは後で見たくなった)などの理由で可視化ソフトで表示させたいということは稀にあります。

今回の内容

3次元ダムブレイクの実験の指定した座標位置での水面高さをParaViewで表示し、Pythonで実験データと比較する方法について解説を行います。

OpenFOAM初心者でチュートリアルを動かしたことがある方を対象にしています。

DEXCS2020
OpenFOAM v2006
gnuplot 5.2

3次元ダムブレイクの実験データと解析モデル

実験データ

こちらの実験データのより以下の時刻歴データを計測しています。

  • 圧力計測点P1~P8(前回の記事)
  • 水面の高さH1~H4←今回OpenFOAMと比較する対象

実験ではx方向に

  1. H1=0.496m
  2. H2=0.992m
  3. H3=1.488m
  4. H4=2.638m

のポイントで水面高さを出力しています。

ちなみに「system/controlDict」ファイル内のfunctionObjectのinterfaceHeightで取得した特定座標の水面高さを実験データと比較すると下記のようになります。

そこそこ実験とOpenFOAMの結果が合っていますね。
今回はこれをParaViewとPythonを使ってグラフ化をします。

解析モデル

OpenFOAMでの解析モデルの設定方法は下記の記事に書いています。
※追々ファイルもモデルファイルも公開します。

ParaViewで水面高さのコンター図

ParaViewを起動したら資料に従ってParaviewの操作を行います。

「(13)「Export SpreadSheet」を選択」以降は行わず、左上の「File>Save Data」でcsvで保存します。「OK」を押すと、「Configure Writer(DataSetCSVWriter)」と出るので、「Write Time Steps」にチェックを入れて「OK」を押します。

するとこのように「height0.ステップ数.csv」で全てのステップ数のデータが保存されます。

例えば「height0.0.csv」の中身を確認すると・・・
「Points:0」が横軸、「Points:2」が体積分率0.5の高さを表しているので、グラフにすると以下のように水面高さの分布になります。

Pythonでデータの加工

以上で各ステップの体積分率0.5(水面高さに相当する量)のデータがそろったので、指定した座標での水面高さの時刻歴をPythonでグラフ化したいと思います。

jupyter lab(Python3系)でデータを加工します。

コードをまとめると以下のようになります。

水面高さの時刻歴をグラフ化できました。

まとめ

今回はParaviewで水面高さの時刻歴のグラフ化をParaViewとPythonで出力する方法を解説しました。

計算実行後に、データの分析したい場合はデータ加工が必要ですがParaViewとPythonで十分行えることがわかりました。

参考書

PENGUINさんサイトを体系的に学べる書籍となっています。ネット記事でも十分勉強できるのですが、OpenFOAMの初学者でOpenFOAMをインストール済みであれば一冊持って置き、体系的に学ぶのが良いでしょう。

OpenFOAMによる熱移動と流れの数値解析(第2版)

OpenFOAMによる熱移動と流れの数値解析(第2版)

3,520円(08/08 08:41時点)
Amazonの情報を掲載しています

あとは初心者向けに丁寧に解説がされているこちらの書籍もお勧めです。最後の章にはオーバーセットメッシュ(重合メッシュ)の機能を使った解析を最後まで丁寧に解説しているので挫折することはないでしょう。

OpenFOAMの歩き方 (技術の泉シリーズ(NextPublishing))

OpenFOAMの歩き方 (技術の泉シリーズ(NextPublishing))

川畑 真一
1,980円(08/08 08:41時点)
発売日: 2021/02/26
Amazonの情報を掲載しています

【プロフィール】

カマキリ
(^^)

大学の専攻は物性理論で、Fortranを使って数値計算をしていました。
CAEを用いた流体解析は興味がありOpenFOAMを使って勉強しています。

プロフィール記事はこちら

 

大学学部レベルの物理の解説をします 大学初学者で物理にお困りの方にわかりやすく解説します。

このブログでは主に大学以上の物理を勉強して記事にわかりやすくまとめていきます。

  • ・解析力学
  • ・流体力学
  • ・熱力学
  • ・量子統計
  • ・CAE解析(流体解析)
  • note
    noteで内容は主に「プログラミング言語」の勉強の進捗を日々書いています。また、「現在勉強中の内容」「日々思ったこと」も日記代わりに書き記しています。
  • youtube
    youtubeではオープンソースの流体解析、構造解析、1DCAEの操作方法などを動画にしています。
    (音声はありません_(._.)_)
  • Qiita
    Qiitaではプログラミング言語の基本的な内容をまとめています。
関連記事もどうぞ

COMMENT

メールアドレスが公開されることはありません。