OpenFOAM/tutorials/Allrun

表題のAllrunシリーズもすっかり定番となってしまいましたが、たくさんあって情報が散逸しかかっているので、ここに改めてこれまで実施したもの(データとまとめ資料)の所在を整理しておきます。



 

(以下、2018年10月1日追記)

OpenFOAM-v-1806

(以下、2018年3月27日追記)

OpenFOAM-v-1712

 

(以下、2017年11月18日追記)

OpenFOAM-5.0

OpenFOAM-v1706

 


(以下、2017年5月5日追記)

OpenFOAM-v1612+

上記pdf資料では動かないアニメーションgifファイルを以下に添付しておきます。

「what's next」の画像検索結果

(以下、2017年1月15日追記)

OpenFOAM-v4.1

(以下、2016年12月7日追記)

OpenFOAM-v1606+

 

(以下、2016年9月20日追記)

OpenFOAM-v4.0

 

(以下、2016年4月19日追記)

OpenFOAM-v3.0+ vs 3.0.1

(元記事)

OpenFOAM-3.0.0(x) vs 2.4.0

foam-ext-3.2 vs ext-3.0

OpenFOAM-2.4.0 vs 2.3.1

OpenFOAM-2.3.1 vs 2.3.0

OpenFOAM-2.3.0(x) vs 2.2.x

OpenFOAM-2.2.x vs ext-3.0

なお、今回の実施例、OpenFOAM-3.0.0(x)では、3.0.0がリリースされた直後の3.0.x(リポジトリ版)を使ったのですが、3.0.0はメジャーヴァージョンの変更で、何かと問題があったようで、リリース直後から改変に次ぐ改変が行われていたたようです。

今回採用したレポジトリ版は、たまたま大きなバグを内包していたようで、正規版による再計算を余儀なくされることとなり、教訓はレポジトリ版での実施はやらないほうが良いということでした。

一方、上述のように3.0.0は何かと問題があり、早くも3.0.1がリリースされ、リリースノートにも、

strongly recommend users of v3.0.0 upgrade to this version;

とありました。

(以下、2016年2月8日追記)

ということで、3.0.1の結果は以下です。

OpenFOAM-3.0.1 vs 3.0.0 (+ 2.4.0)

上記資料中にも記してありますが、お次は、

OpenFOAM-v3.0+ が、

「coming soon」の画像検索結果

です。

 

cfMesh VS snappyHexMesh, 回転メッシュで比較

背景

先の記事で、OpenFOAM 標準チュートリアルのmixerVesselを対象に、cfMeshを使ったメッシュ作成法を紹介した。

   

 

その結果を見る限りにおいて、メッシュ数や計算時間は、ほぼ同等の結果になっていた。 一方、cfMeshでは境界層レイヤーがきちんと作成出来ているし、メッシュ作成に要する計算時間も短く済むので、この種の回転体問題でも、マルチリージョンメッシュを作成する(個別に作成して合体させる)手間が必要ではあるが、cfMeshの利用を推奨してきた。 しかし、最近取り組んだ現実の設計問題で、cfMeshではsnappyHexMesh(以下SHMと記す)に比べて、どうしてもメッシュ数が多くなりすぎてしまうという問題が生じた。 この現実の設計問題と、mixerVesselの問題との違いは何であったのか?・・・どうも回転体と静止部分間のクリアランスに違いがあるようであった。  

 
 

問題の略式化

そこで、この違いをもう少し明確にすべく、もっとシンプルな形状でクリアランスの違いがメッシュ数にどう効いてくるのか。以下のようなモデルを使って、cfMeshとSHMで比較してみました。 範囲を選択_999(232) 2つの円柱の入れ子構造で、2つの円柱で囲まれた領域(上右図中、水色の領域)でメッシュ作成するというもの。回転体問題のメッシュ作成に際して、どちらかが回転境界面(cyclicAMI)になり、もう一方が、物体(回転体、もしくは固定境界)になることを想定しています。 物体と回転境界面の隙間が小さいと、きれいな回転境界面が出来なくなってしまい、計算が不能ということになります。したがって隙間の大きさに対して、メッシュの最少分割サイズをどこまで大きく出来るか?というアプローチで取り組んでみました。 メッシュの分割方案としては、内部の円柱(inner)を最小セルサイズ(min cellSize)になるようにして、ベースセルサイズ(Base cellSize)は、その8倍となるよう設定しました。参考に、DEXCS2015 for OpenFOAM(R)を使った場合のパラメタ設定画面(min cellSize=1の場合)を以下に添付しておきます。 範囲を選択_999(236)下図は、min cellSize に対して、出来上がったメッシュのサイズをプロットしたものです。 範囲を選択_999(237) なお、snappyHexMeshでは、内部円柱の内部をcellZone定義するという方法でメッシュ作成しており、この図に記したメッシュ数(No. of cells)は、cfMeshで作成したメッシュと対比すべく、この内部を除いた領域( splitMeshRegions -cellZones を実施してメッシュ分割したもの)におけるメッシュ数です。 min cellSizeが小さい(=0.2)場合、cfMeshとSHMで、ほとんど違いはありませんが、 範囲を選択_999(246) 大きくなるにつれ、cfMeshのほうがメッシュ数が大きくなります(下図は、minCellSize=0.5)。 範囲を選択_999(245) また、隙間の大きさ(=5)に対し、SHMでは約70%のminCellSizeでメッシュ生成できるのに対して、cfMeshでは、20%を超えたところで、以下のようなメッシュとなって、回転境界面として不適切な物になってしまいました(下図は、minCellSize=1.5で、上のプロット図中では赤の✕印に相当するケース)。   範囲を選択_999(244)  

keepCellsIntersectingPatches

但し、cfMeshには、keepCellsIntersectingPatches というオプションパラメタがあって、これを使うと、上記のような狭い隙間でも、patch の形状を再現してくれるようになります。その代わりにメッシュ数は下図(緑がオプション無し、赤がオプション有り)で示したようにもう少し増えてしまいます。

 

範囲を選択_999(247)

下図は、minCellSize=2 におけるメッシュを比較したものです。

範囲を選択_999(250)

最終的には、minCellSize=2.25(隙間に対して45%)まで大きくすることは出来ましたが、いずれにせよ、SHM(隙間に対して70%)に比べると、そんなに大きくできないので、最少メッシュサイズが隙間サイズで規定されるようなケースでは、cfMeshの方がメッシュ数は増えてしまうことになります。

 

現実の設計問題と、mixerVessel問題との違いを改めて考察

mixerVessel問題の寸法を改めてチェックし直したところ、最少メッシュサイズが隙間サイズに対して約20%の大きさになっていました。このサイズであれば、cfMeshとSHMはほぼ同等なので、上述のケースには該当しない。

一方、現実の設計問題で取り扱った例では、最少メッシュサイズが隙間サイズで規定され、cfMeshではSHMよりも最少メッシュサイズを小さくせざるを得なくなり、大幅なメッシュ増加になったということでした。

 

結論

回転体問題では、メッシュ生成に際して、隙間(回転面と回転体、または回転面と静止境界間)のサイズが重要なファクターで、このサイズに対して最少メッシュサイズを、

  • cfMeshの場合、45%以下
  • SHMの場合、70%以下

にする必要がある。

この基準でメッシュ作成した場合、cfMeshのメッシュ数はSHMに比べ、最大で8倍程度増加する。

OpenFOAM全チュートリアルのAllrunやってみた第6弾 foam-ext-3.2

全チュートリアルのAllrun。ほととんどルーチンワークになってきていますが、今回で第6弾となります。

範囲を選択_999(214)

まとめ資料はこちら

集計結果のデータシートはこちら

(要Googleアカウント?)



今回は、1TBのほぼ空状態のHDDを用意したこともあって、2度目の ノンストップRunに成功。Allrun のスクリプト不具合による、手動実行したケースが8ケースほどあったものの、計算が終わってからまとめ資料作成まで約1週間。

計算結果ログ集計スクリプトの改良も加えた事で、まとめ作業もかなり手慣れてきました。

 

 

mixerVessel by cfMesh

遅ればせながら、この夏に第42回オープンCAE勉強会@岐阜、夏合宿にて使用した表題講習会の資料とケースファイルを公開します。



資料はこちら

ケースファイルはこちら

動作環境として、講習会ではDEXCS2015 for OpenFOAM(R) のプロトタイプ版で実施しましたが、もちろん最新の公開版でも出来ます。

資料の33頁以降に、OpenFOAMの標準チュートリアルとして同梱されているSTLファイルをベースに、これらをFreeCADにインポートして、解析モデルの作成法ついて説明してありますが、はっきりと言って、面倒臭い。

そこで、講習会では、これが完成したという前提で、これらを使って、DEXCSに搭載のFreeCADマクロやTreeFoamをどうやって使うか?という話の流れになっています。

講習会では、メッシュを作成するデモしか行えませんでしたが、上述のようにFreeCADによるモデル作成も出来るようになっているので、FreeCADの練習がてらお試しあれ。

 

また、ここでは計算結果についても掲載しておきます。

範囲を選択_999(180)

 

 

お役に立つと思ったら、下の広告をクリックしてやって下さい。