decxsチュートリアル on CfdOF(2) snappyHexMesh

はじめに

DEXCSワークベンチ(DEXCS-WB)のDEXCS2024では、何とかsnappyHexMesh(SHM)にも対応したいと考えているが、ハック元であるCfdOFにおいてDexcsチュートリアルをSHMでメッシュ作成したらどうなるのか・・・調べてみた。

Table of Contents

まずはやってみる

先の記事で作成したDexcsチュートリアル用に再構築したモデルのメッシュコンテナにおいて、Mesh utility を❶「cfMesh」から❷「snappyHexMesh」に変更する。

そうすると、❸の赤枠で囲った部分が新たにメニューに加わり、snappyHexMeshの設定パラメタとして、

  • Point in mesh
  • No of cells between levels
  • Relative edge refinment
  • Edge detection

を指定するよう促される。Point in mesh 以外はデフォルト値をそのまま使えそうだが、Point in meshの値も「Search」ボタンを押せば自動で探してくれるようだ。

とりあえずこのまま❹「Write mesh case」以下cfMesh作成した時と全く同じ手順でメッシュ作成できた。

これもとりあえず「Paraview]で確認したメッシュ外観とチェックメッシュ結果を、以下にcfMeshで作成したものと対比して掲載しておく。

わかったこと、気になった点

とりあえずやってみてわかった結果は概ね、一般的に云われるところの両者の得失比較、すなわち、

  • レイヤー
    圧倒的に cfMesh が優れている.SHM では多くの箇所で欠損があるのに対し,cfMesh ではほとんど見つからない.
  •  生成メッシュ数
    細分化レベルの指定を同一に設定した場合に cfMesh の方が 2〜5 割程度多くなる.
  •  メッシュ品質
    SHM の方が良い.ただし,品質悪化部のレイヤーを欠損させることでこれを実現している.欠損させない設定では,cfMesh の方がまだ良い.

といったあたりがそのままあてはまって、まぁ、こんなものか・・・という反面、いくつか気になった点を列記しておく。

設定パラメタが物足りない

そもそもSHMのパラメタ設定方法について、Mesh utilty のプルダウンメニューを切り替えるだけで良いというのは嬉しいが、反面物足りなさも大きい。つまり、

  • マルチリージョン指定できない
  • エッジを個別に細分化指定できない

といったあたりである。

 

デフォルトパラメタも今一つ

また、全体外形エッジ部の局所的な欠落が気になって、GUIメニューのオプション(例えばEdge ditection の implicit/explicit)を変更してみたが、変化は無かった。これもかつての経験や、TreeFoamのSHM設定ツールを使用した場合にはそうなっていなかったので、CfdOFをDEXCS標準ツールとして採用するには、GUIメニューに現れないデフォルトパラメタの一部を変更したいところであり、引き続きデフォルトパラメタについて調査した。

パラメタのおさらい

ひとくちにSHMのパラメタといって、その全貌もよくわかっていなかった。色々調べたところ、OpenFOAM:User Guide のページにわかりやすく取りまとめたページがあったので、これをベースに、デフォルト値がどうなっているのかを整理した。その際に、CfdOFのデフォルト値に対して、TreeFoamのSHMメッシュツールでの値も比較参照できるようにした。

また、トップレベルエントリーとして、以下16項目あるが、

  1. castellatedMesh
  2. snap
  3. addLayers
  4. singleRegionName
  5. mergePatchFaces
  6. mergeTolerance
  7. keepPatches
  8. debug
  9. geometry
  10. Castellated mesh controls
  11. Snap controls
  12. Layer controls
  13. Mesh quality controls
  14. Debug flags
  15. Write flags
  16. Output flags

これらの全項目でない(ページ内リンクを使える項目のみ)である点、おことわりしておく。

Castellated mesh controls

Mesh quality controls

こうやって眺めて見ると、CfdOFにしろTreeFoamのメッシュツールにせよ、組み込んでいないパラメタも多く存在し、SHM用のパラメタの多いことに驚かされる。組み込んでいないパラメタは多分、大勢に影響ないと思われるが・・・

SHMパラメタ変更結果

CfdOFとTrrFoamのSHMパラメタの相違部を、試行錯誤で変更した結果、外形エッジ部の欠落を解消しすることが出来た。以下にTreeFoamの結果と併せて掲載しておく。因みに、変更した(TreeFoamの値に合致させた)パラメタは、addLayersControl/featureAngle であった。

TreeFoamで最外周のメッシュがやや歪んでいるのは、ベースとしたblockMeshの設定に起因するものと考えられる。どちらもベースメッシュサイズを規定(本例では0.28としてある)すれば、全体寸法を読み取って、全体+余裕分をオーバーラップするblockMeshDictを作成してくれるが、余裕の持ち方に違いがあって、具体的なblockMeshDictパラメタの違いは以下の通りであった。

まとめ

  • Dexcsチュートリアル問題をCfdOFのSHMでメッシュ作成することが出来た。
  • CfdOFのSHM作成機能は、cfMeshで作成できるメッシュを、単にSHMでも作成できるというものでしかなかった。
  • CfdOFをDEXCSランチャーとして採用するには、デフォルトパラメタの変更も必要になる。
Share

コメントする

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください