OpenFOAM

【第2回 OpenFOAM キャビティ乱流】実験とOpenFOAMとの結果比較

こんにちは(@t_kun_kamakiri

本記事では、OpenFOAMを初めての方を対象に、チュートリアルを使ってメッシュ作成、計算の実行まで分かりやすく解説します。

👇自宅で流体解析をしてみませんか?

前回の記事では、OpenFOAMのチュートリアルから熱流体解析の解析設定を行いました。
上のPC画面に映っているような2枚の温度差のある平板内での流れをシミュレーションしています。

本記事では前回の記事で作成したモデルを用いて結果処理を行います。
チュートリアルには実験データがありますので、OpenFOAMで得られた結果と比較することで、シミュレーションの妥当性の評価と、実験と合わなかった際の着眼点をこの記事で示します。

こんな方にお勧め

  • OpenFOAMを始めたいけど、どこから手をつければいいのか分からない…
  • チュートリアルの流れを理解して、自分の解析に応用したい!

そんな方に向けて、基本操作を丁寧に説明するので、ぜひ一緒に手を動かしてみてください!

本記事で扱うチュートリアルはOpenFOAMがベンチマークとして下記の実験データとの比較のために行っており、より実践的な内容がまとめられています。

OpenFOAM v2412(WSL Ubuntu 22.04)

値の出力設定(sampleの設定)

すでに前回の記事で計算が終わっていることを前提に話をしていきます。

ここでは、$y$方向違いの温度分布や速度分布の結果を出力します。

sampleを使用します。
計算が終わったあとでも値を出力することができるため便利なツールです。

system/sample

例えば、$L=0.076\,\text{m}$、$D=0.026\,\text{m}$、$H=2.18\,\text{m}$ですので、$y/H=0.5$の高さで、値を取得したい場合を考えます。

その場合は、以下のようにstart位置とend位置を指定した線上の値を取得することになります。

$y=0.5*H=0.5*2.18=1.09$ということですね。

 

値の出力

値の出力方法はAllrunスクリプトを確認する良いでしょう。

以下の部分ですね。

-latestTimeというオプションを付けることで最後の結果だけを使ってデータを出力してくれます。

グラフ化(画像の出力)

グラフ化には以下のコマンドを使用します。

こちらはスクリプトになっておりgnuplotを実行してグラフを作成しています。

gnuplotに関する基本的な内容はこちらに記載しています。

代表的な$y/H=0.5$の温度と流速の実験とOpenFOAMの比較を見てみましょう。

パット見全然あっていないですね….

なぜでしょうか…

設定の見直し

こちらの文章を読むと以下のよう書いております。

Experiments have been undertaken to investigate the natural convection of air in a tall differentially heated rectangular cavity (2.18 m high by 0.076 m wide by 0.52 m in depth, shown diagrammatically in the figure 1). They were performed with temperature differentials between the vertical plates of 19.6 and 39.9 C, giving Rayleigh numbers based on the cavity width of . Under these conditions the flow in the core of the cavity is fully turbulent and property variations with temperature are comparatively small.

実験での設定温度は明確には書いておりませんが、実験とOpenFOAMの壁面の温度からさほど差は無いように感じます。
上記の19.6℃はhotとcoldとの温度差のことです。

解析の条件設定が間違っているということもありますが、まずは最低限のことを確認してから条件の設定を見直すようにします。

最低限の確認とは以下の事です。

  • 残差の確認
  • 連続式の誤差の確認
  • 流れ場の可視化

まずこれは確認しましょう。

ということで、初期化するために以下のコマンドを実行します。

残差、連続式の誤差を出力するためにsystem/controlDictの設定を変更します。

system/controlDict

途中の結果も確認したいのでpurgeWrite  0;にしておきます。0にしておくことで、writeInterval   50;で設定されたステップごとのデータは全て出力されます。

ついでに色々と出力できるようにしてみました。

  • type continuityError;:連続式の誤差の出力
  • type solverInfo;:残差の出力
  • type fieldMinMax;:物理量の最大最小の出力
  • type yPlus;:$y^+$の出力
  • type wallHeatFlux;:熱流束の出力
  • type heatTransferCoeff;:熱伝達率の出力

設定の変更が終われば再計算を行います。

Allrunにはメッシュ作成、計算実行、グラフ化まで一連の操作がまとめられているので、スクリプトを実行するだけで済みます。

残差の確認

残差は以下のファイルにデータが出力されているので、グラフにして確認します。

postProcessing/residuals/0/solverInfo.dat

残差はステップ数1000で収束しているような微妙な感じですね。

もしかするとステップ数が足りていない可能性があります。

連続式の誤差

連続式の誤差が大きい値を取っていると計算値が発散している場合があるため確認しておきます。

continuityError1/0/continuityError.dat

こちらも問題なさそうです。

流れの可視化

残差から1000ステップで収束しているように見えましたが、流れの方が安定になっているのかを確認しておきます。

ParaViewで確認します。

右のグラフは$y/H=0.5$での高さの温度分布になります。

なるほど。

1000ステップでは流れが安定になっていないため、実験データとOpenFOAMの結果があっていなかったのですね。

ステップ数の変更

最大ステップ数をendTime 5000;にします。

残差

連続式の誤差

可視化

では、実験とOpenFOAMの結果を見てみましょう。
代表的な高さ$y/H=0.5$での比較が以下です。

だいぶ近くなりましたね。

ただ、アニメーションを見ると5000ステップでもまだ収束していないように見えます。

その場合は、例えば緩和係数を少し大きな値にすると、収束までが速くなります。

system/fvSolution

設定を変更して再度Allrunスクリプトにより計算を実行します。
緩和係数を大きくしすぎると、計算値が発散しやすいので注意が必要ですが、安定に計算が進んでいれば問題ないでしょう。

結果はこちらです。

波形が落ち着くのがだいぶ早くなりましたね。

 

壁面近傍の流速が特に実験と合っていないように見えます。
さらに改善しようとするならば、メッシュサイズ($y^+$の確認)、乱流モデル、離散化スキームなどを見直してみると良いでしょう。

ただ、1つの実験データだけを鵜呑みにして神経質になって合わせに行くのもナンセンスです。なぜなら、実験データにも多少バラツキがあるからです。
同じ実験を行ったとしても、違う結果になることもあるので、バラツキの範囲を考えてCAE解析の結果が妥当かどうかを考える必要があります。

まとめ

本記事では、OpenFOAM を用いたキャビティ内の乱流自然対流解析の結果処理について詳しく解説しました。前回作成したモデルを用い、sample を活用して温度・速度分布のデータを出力し、実験データと比較することで、シミュレーションの妥当性を評価しました。結果が実験と一致しない場合、設定の見直しが必要となるため、残差・連続式の誤差・流れ場の可視化を確認する重要性を説明しました。

解析結果が実験と異なる原因として、計算ステップ数の不足や緩和係数の設定が影響することを確認し、計算の収束性を向上させるための調整方法を紹介しました。さらに、壁面近傍の流速の不一致を改善するための次のステップとして、メッシュサイズの最適化($y^+$ の確認)や乱流モデルの変更が有効であることに言及しました。

計算力学技術者のための問題アプリ

計算力学技術者熱流体2級、1級対策アプリをリリースしました。

  • 下記をクリックしてホームページでダウンロードできます。
  • LINE公式に登録すると無料で問題の一部を閲覧できます
    ※LINEの仕様で数式がずれていますが、アプリでは問題ありません。

OpenFOAMに関する技術書を販売中!

OpenFOAMを自宅で学べるシリーズを販売中です。
OpenFOAM初学者から中級者向けの技術書となっていますので、ぜひよろしくお願いいたします。

次回の技術書典18に向けて内容を考え中です。
乞うご期待!!

見出し画像

お勧めの参考書

本記事の内容について触れている書籍がこちらです。
CFD(流体解析)のガイドブックというタイトルだけあって、熱流体に関する内容は網羅的に書かれています。

はじめての環境・設備設計シミュレーション CFDガイドブック

はじめての環境・設備設計シミュレーション CFDガイドブック

4,180円(03/31 12:36時点)
Amazonの情報を掲載しています

乱流モデルの数式の展開が非常に丁寧なのはこちらの参考書です。
今まで読んだ本の中で途中式もしっかり書いてあって一番丁寧でした。
乱流モデルの話だけでなく、混相流(気液、固液)や粒子法、浅水方程式の話も乗っているので重宝しています。

流れの方程式

流れの方程式

後藤仁志
9,900円(03/31 09:14時点)
Amazonの情報を掲載しています

乱流モデルはこちらもお勧めです。
前半は数値シミュレーションの離散化の話で、後半に乱流モデルの話が出てきます。

乱流の数値シミュレーション 改訂版

乱流の数値シミュレーション 改訂版

梶島 岳夫
6,680円(03/31 09:44時点)
Amazonの情報を掲載しています

乱流モデルのざっくりした解説と流体全般の基礎知識にはこちらがちょうど良いでしょう。

関連記事もどうぞ

COMMENT