任意座標の追跡データ取得について

581 views
Skip to first unread message

Shingo

unread,
Jun 16, 2016, 7:39:30 AM6/16/16
to OpenFOAM
こんばんは,夜遅く失礼します
OpenFOAMを用いて浮いている物体の動きに関する解析をしようとしてます

/tutorials/multiphase/interDyMFoam/ras
から,floatingObjectを参考に解析を行っています

質問なのですが,任意座標の時系列座標データを
得ることはできるのでしょうか?
例えば,floatingObjectで言いますと,
重心の位置変化や,頂点の位置変化のデータ取得です

最終的にfloatingObjectでは上下動(heaving)メインですが,
回転運動になるとき(pitching等)の傾きを調べたいのです

これは可能でしょうか?
可能ならば是非ご教授をお願いしたいです

よろしくお願いします

nakagawa

unread,
Jun 16, 2016, 7:57:17 AM6/16/16
to OpenFOAM
Shingoさん

foamToSurface で移動した境界をサーフェスファイルに書き出し,surfaceSplitByPatchで境界毎のファイルに分割した後,surfaceInertiaを使って重心などを計算したことがあります。すべて,OpenFOAMのユーティリティです。少し前に実行した方法なので,今なら,もっと良い方法があるかもしれません。船体系の研究者も多く利用しているはずなので,良い方法があると思います。英語キーワードだけで検索した方が,多くの情報にヒットする可能性が高まります。


投稿内容のタイトルからは,流体中の指定座標での値を時系列データとして取り出したいのかと思いましたが,違いますよね?
そちらの場合には,probeLocationsユーティリティが使えます。計算結果から,指定した座標での指定した変数の値を抜きだして,1つのファイルにまとめて出力してくれます。

probeLocations用の設定は,system/probeDictに書き込みます。サンプルファイルが,OpenFOAMインストールディレクトリ/applications/utilities/postProcessing/sampling/probeLocations/の中にあります。これを,自分のケースディレクトリ/systemにコピーして,試してください。

http://www.cfd-online.com/Forums/openfoam-post-processing/129884-how-export-time-series-variables-one-point.html#post475727

この使い方を調べた学生さんが,今週末に開催されるオープンCAE勉強会@富山で,使い方や検証結果などを発表するらしいです。


なかがわ

2016年6月16日木曜日 20時39分30秒 UTC+9 Shingo:

Shingo

unread,
Jun 16, 2016, 10:58:46 AM6/16/16
to OpenFOAM
nakagawa様
はやいお返事ありがとうございました
タイトルが分かりにくかったですね...
はじめの方の解釈で間違いありません

行き詰っていたので,解決の糸口が
見つかりそうで非常に助かります

なかがわ様の方法で実行させて頂きました.
foamToSurfaceでは全計算時刻での出力ができ,
surfaceSplitByPatchをしてからsurfaceInertiaをして
ターミナル上に重心を表示できました
ありがとうございます.


そこで,厚かましくて申し訳ないのですが,
一つ質問させて下さい.

foamToSurfaceでは全計算時刻での出力が出来たのですが,
surfaceSplitByPatchをしてからsurfaceInertiaをする際に
重心データは一つずつしか採取できませんでした

foamToSurfaceで出した全ファイルを対象に,
一気に重心計算できる方法はありますか?
できれば,それを一つのファイルに出力したいのですが...

なければ,やはり一つずつ重心計算をしなければなりませんか?
よろしくお願いします.


----
私がfloatingObject計算終了時から打ったコマンドです
(tutorialではtopoSetで作ってますが,snappyにしました)
foamToSurface floatingObject.stl
surfaceSplitByPatch floatingObject.stl
surfaceInertia floatingObject_floatingObject.stl
-helpでいろいろオプションがありましたが,ひとまずは置いときました




2016年6月16日木曜日 20時57分17秒 UTC+9 nakagawa:

Hiromichi AKIMOTO

unread,
Jun 16, 2016, 11:01:57 PM6/16/16
to open...@googlegroups.com
Shingoさん、

floatingObjectチュートリアルでは、
sixDoFRigidBodyMotionCoeffsが、Center of mass (位置座標)
とOrientation (物体座標3軸の方向ベクトル、回転変換の行列でもある)
を出力しています。
角度変位は、Orientationから計算できます。

また、私が見たOF3.0.1のfloatingObjectチュートリアルは、
既にheaveとpitchの連成運動になっていました。

 秋元

Shingo

unread,
Jun 22, 2016, 8:50:15 PM6/22/16
to OpenFOAM
秋元様

お返事が遅くなってしまい申し訳ありませんでした
大変参考になりました.
Orientationについてもう少し調べたいと思います

ありがとうございました.
Reply all
Reply to author
Forward
0 new messages