三角メッシュの表面圧力のx成分を求める方法

170 views
Skip to first unread message

yoshida

unread,
Sep 19, 2022, 9:29:23 PM9/19/22
to OpenFOAM
いつもお世話になっております。

Cd値のより詳細な解析を行うため、非定常流体中の物体(stlファイル)の「全てのタイムステップ」で「全ての三角メッシュごと」の表面圧力の「x成分」を求めようとしています。

私の想定しているやり方は、以下です。

①全ての三角メッシュの中心座標での表面圧力を計算する。具体的には、pythonなどで全ての三角メッシュの中心座標をsystem/internalProbesに書き出し、postProcess処理を実行する。

②計算された表面圧力からpythonなどでx方向だけ取り出す。各三角メッシュの法線ベクトルを(nx, ny, nz)とするとp*(nx/sqrt(nx**2 + ny**2 + nz**2))と計算する。ただし、pは①で計算された各中心座標での表面圧力。

方法が間違っている、もしくはもっと簡単な方法があるなどございましたら是非ご教授頂けると助かります。

よろしくお願いします。

M.TANAKA

unread,
Sep 19, 2022, 11:54:00 PM9/19/22
to OpenFOAM
yoshidaさん

視覚的に確認するだけならParaViewのfilterで下記のように実現できると思います.
①まず*.foamのProperties > Mesh Regionsで物体表面のみを選択,Apply.
②*.foamを選択した状態で上部タブのFilters > Alphabetical > Generate Surface Normalsをクリック.GenerateSurfaceNormals1が生成される. GenerateSurfaceNormals1の場の量には,pやUの他に法線ベクトルNormalsが追加されている.
③GenerateSurfaceNormals1を選択した状態で上部タブのFilters > Alphabetical > Calculatorをクリック. Calculator1が生成される.”Result Array Name    [Result    ]”のすぐ下の欄に,”p * Normals”と入力し,Apply. Calculator1の場の量に,Resultという量が追加されている.これが,大きさが圧力で向きが表面の法線ベクトルと同じ量.
④上部にあるボタン[◦ Result    ▼] [Magnitude    ▼] :: [Surface    ▼]のMagnitudeをプルダウンしてXを選択すれば,X成分が確認できる.


2022年9月20日火曜日 10:29:23 UTC+9 yoshida:

yoshida

unread,
Sep 20, 2022, 1:22:41 AM9/20/22
to OpenFOAM
M.TANAKAさん、

ご返信ありがとうございます。教えていただいた手順で圧力のx成分を可視化することができました。また、SpreadSheetViewでcsv化もできました。これを全てのタイムステップで行いたいのですが、地道にステップを進めながらcsvエキスポートを繰り返していくしかないのでしょうか?まとめてできると非常に助かります。

P.S.
上記の手順を教えていただいて初めて知ったのですが、解析後の物体表面は元の三角メッシュが残っているわけではないのですね。

2022年9月20日火曜日 12:54:00 UTC+9 M.TANAKA:

M.TANAKA

unread,
Sep 20, 2022, 5:57:18 AM9/20/22
to OpenFOAM
yoshidaさん

ParaViewの操作は全てPythonスクリプトで自動化できたはず(私はやったことないです)なので,可能だとは思います.
下記が参考になるかもしれません.詳しい方のアドバイスを待ちたいと思います.
2022年9月20日火曜日 14:22:41 UTC+9 yoshida:

yoshida

unread,
Sep 20, 2022, 9:17:49 PM9/20/22
to OpenFOAM
M.TANAKAさん、

何度もご丁寧にありがとうございます。いただいたURLを参考にpythonで自動化できないか調査してみたいと思います。

2022年9月20日火曜日 18:57:18 UTC+9 M.TANAKA:

田中真央

unread,
Sep 21, 2022, 12:44:16 AM9/21/22
to open...@googlegroups.com
yoshidaさん

私も今後スクリプトを使いたいので少し調べたところ、もっと分かりやすいチュートリアルを見つけました。ParaViewはドキュメントが充実していますね。

2022年9月21日(水) 10:17 yoshida <yoshida...@gmail.com>:
--
このメールは Google グループのグループ「OpenFOAM」のトピックを登録しているユーザーに送られています。
このトピックの登録を解除するには https://groups.google.com/d/topic/openfoam/YnUhfX9Ki90/unsubscribe にアクセスしてください。
このグループを退会し、グループのすべてのトピックの登録を解除するには openfoam+u...@googlegroups.com にメールを送信してください。
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/openfoam/966b102c-0201-415a-92fa-ab467a783bd2n%40googlegroups.com にアクセスしてください。
Reply all
Reply to author
Forward
0 new messages