CAE

【3次元ダムブレイク流体解析(OpenFOAM)】圧力データと水面高さの実機比較

こんにちは(@t_kun_kamakiri

本記事はOpenFOAMを使って3次元ダムブレイクのメッシュ作成・解析設定と実験データとの比較までをまとめたOpenFOAMの初級者の記事です。

以前にOpenFOAMのユーティリティのみを使ってメッシュ作成から3次元ダムブレイクの実験データとの比較までを行いましたが、今回はOpenFOAMのメッシュ作成としては比較的わかりやすい「blockMeshとsnappyHexMesh」を使って解析までを行います。

カマキリ

本記事を読み終えたら以下の記事にも挑戦してみてください。

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

DEXCS2020
OpenFOAM v2006

対象の実験データ

実験データの入手

今後、3次元ダムブレイクの実験との比較を行うため実験データを入手します。
OpenFOAMで作成する寸法も実験に合わせて作成します。
実験では初期状態で青斜線で囲まれた領域に水をセットし、時刻0秒で開放します。
その後水はBoxと書かれた障害物に当たり、水しぶきをあげます。

この時に実験データとして、

  • p1~P8の座標で圧力の時刻歴
  • H1~H4の座標での水面の高さの時刻歴

という時刻歴データを測定しています。

本記事ではこちらの時刻歴データをOpenFOAMでも計測し、実験データとOpenFOAMを使ったCAE解析の比較を行いたいと思います。

最終的にはツイートであげたような結果となります。
実務では、実験データとCAE解析の結果に対して精度良く再現できているかどうかを確認して使用することがあり「実験検証 コリレーション」と呼ばれています。

最後に実験とのコリレーションについても言及します。

ケースファイルの入手

実験の寸法に近しいケースファイルのチュートリアルから入手します。
以下のコマンドを打って解析実行したいフォルダにコピーしてきます。

ファイル構成は以下のようになっています。

treeコマンドを打って確かみましょう。

使わないファイルもありますが、今回の解析に一番近いチュートリアルを持ってきました。

全体の流れ

CAE解析には「プリ処理」→「ソルバ」→「ポスト処理」という流れがあります。
全て無償のソフトを使うため、解析実行まで様々なソフトを使います。

全体の流れを押さえておけば途中で迷子になることが少ないです。

FreeCAD 障害物のモデル作成

障害物のモデル作成はFreeCADで行います。

モデルの作成

資料の作成手順に従って障害物のモデル(stlファイル)を作成してください。

最終アウトプットは「walls.stl」という名前のstlファイルを出力することです。

カマキリ

障害物のモデルが完成しました

作成したモデルは「constant/triSurface」に保存します。
※triSurfaceフォルダがなければ新規で作成しましょう。

今回作成した「walls.stl」は大きさも位置も実験のレイアウトと合っていないので、以下の操作で正しい大きさと位置関係に修正します。
FreeCADで大きさと位置を正しく行っても良かったのですが、できるだけOpenFOAMのユーティリティを使ってみたかったのであえて修正が必要なモデルのままFreeCADで作成しました。

障害物モデルの縮小と平行移動

※こちらの操作はblockMeshをした後に行っても良いです。

先ほど作成したモデルの寸法を確認しておきましょう。
Paraviewを起動してwalls.stlファイルを読み込みます。

直方体の寸法が「161×403×161」の大きさになっています。
先ほどFreeCADで作成したさいの寸法がそのまま値として入っています。
この後行う流体解析での単位系は(m-kg-sec)で行うため 、今のままでは「161m×403m×161m」で解析を行うことになっているため修正が必要です。

※単位系は解析者が任意に選ぶことができるので、例えば(mm-kg-ms)や(mm-ton-sec)など自身が行う解析のスケールに合わせて単位系を自由に選べばよいです。
その際に全ての物理量の単位も変更する必要があるため注意が必要です。
例えば(mm-kg-ms)の単位系なら圧力はPaではなくGPaとなります。

さらに障害物の位置も原点を基準に作られているため、実験の位置に合わせるため平行移動させる必要があります。

よって以下の2点を修正します。

  1. モデルを1/1000倍にして縮小→mmの単位になる
  2. (x,y,z)=(0.6635mm -0.2015mm  0mm)だけ平行移動する

モデルを1/1000倍にして縮小→mmの単位になる

モデルを縮小して新たにwalls_mm.stlファイルを作成しました。

Paraviewでのベースメッシュとの位置関係はこんな感じです。
続いて障害物の平行移動を行います。

(x,y,z)=(0.6635mm -0.2015mm  0mm)だけ平行移動する

平行移動を行い、新たにwalls_mm_tr.stlファイルを作成します。

カマキリ

これで障害物のモデルの大きさと位置関係が実験と同じになりました。

1 2 3 4

【プロフィール】

カマキリ
(^^)

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

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

 

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

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

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

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です