interFoamのSpuriousCurrentについて3 -ラプラスフィルタ-

これまで2つの記事でinterFoam のみぞみぞする変な動き(Spurious Current)について紹介しました。

 抑制方法の1つめ、時間刻み(タイムステップ)を細かくとってみましたが、改善されませんでした。


つぎに2つ目の抑制方法、”スムーズ化したVOF値(alpha)から曲率等を計算する”方法を試してみました。 自由表面にラプラスフィルタをかけてスムーズにしてから曲率計算をする方法です。探したところkva_interfacePropeties といったライブラリが見つかりました。OF4.0、OF5.0用ですがちょっと修正すると他のバージョンでも使えます。今回はOF2206で計算しました。

https://github.com/floquation/OF-kva_interfaceProperties 

 各セルのVOF値𝛼𝑝はセル中心で定義されています。2次元なら各セルに4つの面が存在し、それぞれの面積を𝑆𝑓とします。セル中心のVOF値と周囲のVOF値からi番目のセル面の値 𝛼𝑓 を計算し、面積をかけて積算し、4面の面積の和で割ることで平均化し、𝛼 ̃𝑝を求めます。この𝛼 ̃𝑝を使って表面張力を計算をします。平均化の回数を指定でき、デフォルトは2回です。このライブラリには密度で補正する方法(desity weigheted model) もあったのでこちらも使ってみました。

参考文献:D. A. Hoang et al., Comput. Fluids, 86, 28-36 (2013)


 結果は以下の動画の通りです。interFoamでの計算結果, スムージング処理を 2回かけた場合、スムージング処理を 2回+desity weighted model, スムージング処理を 4回かけた場合 の比較です。

ラプラスフィルタでスムージング処理を施すとみぞみぞは抑制されていることがわかります。かなり効果がありそうです。

速度分布をみてみましょう。条件は先ほどの動画と同じです。自由表面でみると安定しているように見えますが、空気の速度はみぞみぞしていて、Spurious currnet が完全には消えていないことがわかります。次の記事ではCLSとVOF法のハイブリッドを試してみたいと思います。

麦酒物理研究所

麦酒物理研究所 ーBeer Physics Reserch Center- フリーのシミュレーションツール(OpenFOAM)をつかっていろいろと解析してみます。初めてのホームページ作成なので、なかなかはかどりませんが、気長に更新していきます。勘違い、間違いがあるかもしれません。ご意見、コメント歓迎します。

6コメント

  • 1000 / 1000

  • kadoemon1964

    2025.05.13 09:20

    いまさらだけどOF2406 にはinterfaceProperties に平均化処理が入っているので,わざわざ移植する必要はないかも....https://api.openfoam.com/2406/interfaceProperties_8C_source.html
  • kadoemon1964

    2025.05.10 04:17

    @boltzmannOF2306 は手元になかったので,OF2406に移植しました.デバッグ時のメモをリンクに公開しています.一応最後まで計算はできています.リンク先は期間限定です.
  • boltzmann

    2025.05.09 02:34

    こんにちは OF2306(いずれ 2312, 2406, 2412 ....)環境で、2025.05.03 の示唆を参考にライブラリのコンパイル成功しました。ただし curvatureModel.C/vofsmooth.C にも微修正が必要でした。続いて、Allget && Allwmake を実行しましたが即エラー中断するので、開発者の指示のとおり、完全手動で interFoam の再コンパイル実行・成功しました。ですが tut/damBreak に対して kva_interFoam で実行しましたが回りませんでした(当然ですがミントのinterFoamはok)。