Re: pimpleFoamをつかってカルマン渦を確認したい.

803 views
Skip to first unread message
Message has been deleted

haruka....@gmail.com

unread,
Nov 23, 2022, 6:34:19 AM11/23/22
to OpenFOAM
自分であればまず以下を確認すると思います。

1. 適切なレイノルズ数となっているか確認
2. 本当に2秒でカルマン渦が発生するという実験結果があるのか確認(個人的には流体が水や空気の場合、2秒は短すぎる印象があります)
3. カルマン渦を確認できるだけのメッシュの細かさがあるのか確認
3. Z軸方向の長さが十分取られているか確認(3次元の場合、Z-min、Z-maxの壁の効果があるので十分に離す必要があると思います)

2022年11月18日金曜日 23:05:56 UTC+9 takuto nonomiya:
お世話になっております.
nonomiyaです.

openFoamの使い方を学ぶ上で典型的なものを行ったほうが理解できると思い,
円柱流れにおけるカルマン渦の確認を目指しております.

円柱は直径100mm,長さ500mm
風洞は断面2m×2m,長さは10m,中央5mに円柱を設置
主流速度は20m/sでカルマン渦の発生に挑戦しています.

自分なりに調べて実行した結果2s後の結果でも,カルマン渦の確認ができておりません.VirtualBox_DEXCS2022_18_11_2022_22_33_25.png
円柱の上流側では圧力が上昇し,下流ではたしかに圧力の低下は見えますが,渦列の確認ができずどのようにしたらい以下教えていただきたいです.

blockMeshで風洞をメッシュ切りした後,snappyHexMeshで円柱を踏まえたメッシュを切っています.
特に3次元にする必要はないと思うので,スパン方向(画像で言うz軸方向)の壁はemptyにしようと思ったのですが,snappyHexMeshでエラーが出るためwallとしています.

0/Uは円柱はnoSlip,入り口に20m/s,それ以外はzeroGradient.
0/pは圧力勾配を設けていません.
0/k,0/epsilonは乱流強度を0.05%としてk=3/2(UI)^2,ε=0.09^(3/4)*k^(3/2)/lmとして求めています.lmは0.07Lを用いました.
kl,kt,nut,omegaはチュートリアル/tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmegaを参考に円柱部分のみ追記
しました.

時間刻みは0.01sとしましたが,adjustTimeStepを有効にしていて,クーラン数の関係で実行中はさらに細かくなっているようです.

fvSolutionですが,チュートリアルのまま実行しますと,(U|kl|kt|omega)Finalにepsilonがないというエラーが出ましたので(U|kl|kt|omega|epsilon|k|nut)Finalと追記しました.

ほかは特に変えず,decomposeParDictで分割後,pimpleFoamを実行しました.
自分の環境ではかなり時間がかかり,1日程かかりましたが,止まらず計算はできました.

カルマン渦列の確認に足りていないもののご教授お願いします.
0ディレクトリ,systemディレクトリ,triSurfaceディレクトリを添付しておきます.

kominami

unread,
Nov 24, 2022, 5:53:13 AM11/24/22
to OpenFOAM
nonomiyaさん

kominamiです。H-Tsubotさんの補足になりますが・・・

流体力学の専門書を見れば、円柱カルマン渦のRe数とSt数の関係がわかります。そうすると渦の発生周期が判ります。計算途中のTimeStepは十分に細かくなっていますか?

>時間刻みは0.01sとしましたが,adjustTimeStepを有効にしていて,クーラン数の関係で実行中はさらに細かくなっているようです.

また、剥離点の角度位置もRe数によって変わりますが専門書を調べれば見つかると思います。その近辺のレイヤーメッシュは十分に細かいでしょうか?

カルマン渦はCFDの層流モデルでも起きます。というか、何か特別な研究意図でもない限りは乱流モデルで行う理由が無いと思います。
層流モデルでも起きるのは、カルマン渦の発見者カルマン氏が数理的に明らかにしています。(当時は、層流モデルと乱流モデルの違いなんてなくて、層流モデルだけだったのです。)
“カルマン渦”という現象から、流れが乱れている→層流状態でなくて乱流状態→乱流モデルを使う、という発想をしていないか心配になったので書きました。
>0/k,0/epsilonは乱流強度を0.05%としてk=3/2(UI)^2,ε=0.09^(3/4)*k^(3/2)/lmとして求めています.

以上です。

2022年11月23日水曜日 20:34:19 UTC+9 H-Ts...@xsim.info:
Message has been deleted

Hideaki Kominami

unread,
Nov 30, 2022, 8:01:10 AM11/30/22
to open...@googlegroups.com
nonomiyaさん

kominamiです。

>試しに初期条件はそのままにsimpleFoamを実行したところ,渦が確認できました.
simpleFoamは非圧縮性定常ソルバーなので、流入部が均一な流速だとすると、それは“渦”ではなくて“計算誤差”です。おそらく残差が十分に小さくなってないのではないでしょうか?

pimpleFoam(非圧縮性非定常ソルバー)の初期場として、このsimpleFoamの計算結果を使うと早くカルマン渦が発生するかもしれません。

>今後乱流モデルを研究で使うため,その練習としてpimpleFoamを用いたいところです.
なるほど。

>adjustTimeStepでdeltaTが8.1e-05とひじょうに細かくなってしまい,
カルマン渦の発生周期が予測できるから、とりあえず固定タイムステップ、ddtスキームはクーラン条件の緩いEularとしてカルマン渦を発生させるのを優先させては? あとは高精度なCrankNicolsonに変えるとか? divスキームもとりあえずupwindで


それから、研究意図に依りますが、円柱から測定洞の内壁までの距離を不均一にすると、わりと簡単にカルマン渦が発生します。距離が均一のときはなかなか発生しません。(経験的には、計算の安定性が高いスキームほどカルマン渦が発生し難いです。)

以上です。

2022年11月29日(火) 20:40 takuto nonomiya <takug...@gmail.com>:
返信が遅くなり大変申し訳ありません.
レイノルズ数などを見直しましたが,カルマン渦の生じる条件内であると判断し,
解析を続けて回してみましたが,変わりませんでした.

まず,レイノルズ数ですが,カルマン渦の生じる40~10000で,円柱の抵抗係数が一定となる1000となるよう
流速U=10m/s,直径d=0.15m,動粘度は空気を想定して1.5x10^-5です.

メッシュも測定洞1x1x3[m]に対し,checkMeshで確認したところ,
min volume 3.05481e-09
max volume 9.15285e-06
total volume 2.99118
number of cell 7636089
と十分なように感じます.

adjustTimeStepでdeltaTが8.1e-05とひじょうに細かくなってしまい,解析に時間がかかったため返信が遅れました.
おそらくここまで細かくしなくても発散しないと思うので,境界条件等がまちがっていると考えています.

試しに初期条件はそのままにsimpleFoamを実行したところ,渦が確認できました.

今後乱流モデルを研究で使うため,その練習としてpimpleFoamを用いたいところです.

VirtualBox_DEXCS2022_29_11_2022_20_26_09.png
2022年11月24日木曜日 19:53:13 UTC+9 kominami:

--
このメールは Google グループのグループ「OpenFOAM」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには openfoam+u...@googlegroups.com にメールを送信してください。
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/openfoam/c5194ab8-301b-411e-8c0f-4615d498d328n%40googlegroups.com にアクセスしてください。

nakagawa

unread,
Dec 10, 2022, 7:05:04 AM12/10/22
to OpenFOAM
nonomiyaさん

最初の投稿を見ると,2次元計算でもよいということですね。練習のためなら,2次元計算として負荷を軽くし,いろいろと確認するとよいのではないでしょうか。

メッシュの形状をチェックすることも必要ではないでしょうか。メッシュの最小体積が3e-9で十分なのかは,検証の必要がありそうに感じます。

snappyHexMeshを利用して2次元計算メッシュを作成する方法は,2つあります。下記のような情報が参考にならないでしょうか。2番目の方法の方が簡単そうです。

昔ながらの方法:snappyHexMeshを使った 2次元モデル作成
https://eddy.pu-toyama.ac.jp/cabinets/cabinet_files/index/129/3d49eac5bfe05b5b28e04ce802c8ae6a?frame_id=61

いくぶん新しい方法:Make 2D mesh with SnappyHexMesh - ESI Group[記事タイトルは英語ですが,本文は日本語です。]
https://solution.esi.co.jp/openfoam/blog/make-2d-mesh-with-snappyhex

定常計算を実施したのなら,その計算結果を初期値にすることで,必要な計算時間が短縮できるでしょう。

なかがわ
Reply all
Reply to author
Forward
0 new messages