株式会社 日本アムスコ

第5回OpenFOAM勉強会 for beginner
進捗報告
冨原 大介
10/27/10
We are engineer group specialized in CAE.
1
株式会社日本アムスコ
1
第5回OpenFOAM勉強会 for beginner ー進捗報告ー
第5回OpenFOAM勉強会 for beginner
・取り組んでいる課題
・前回勉強会出席時からやってみたこと
・疑問
・今後の取り組み予定
10/27/10
We are engineer group specialized in CAE.
2
株式会社日本アムスコ
2
第5回OpenFOAM勉強会 for beginner ー進捗報告ー
取り組んでいる課題
スロッシングの周波数応答解析
スロッシング・・・容器内の液体が、特定の振動数(周波数)に
反応して波打つ現象のこと
ex)マグカップに注いだコーヒーの液面揺れが、
歩く速度によって変化する
容器にはそれぞれ固有振動数(周期)があり、
揺れの振動数が固有振動数に近づいたときに波が大きくなる
10/27/10
We are engineer group specialized in CAE.
3
株式会社日本アムスコ
3
第5回OpenFOAM勉強会 for beginner ー進捗報告ー
矩形水槽のスロッシング
約0.5m
奥行き方向は2次元問題
として考えない
振幅:5×10-3m
固有振動数:1.047Hz
上記の値の加速度を
振動方向に正弦波であたえる
約0.5m
うまくいかない!!
・固有振動数での波高が実験値に及ばない
・固有振動数で波高がピークをとらない
振動
10/27/10
We are engineer group specialized in CAE.
4
株式会社日本アムスコ
4
第5回OpenFOAM勉強会 for beginner ー進捗報告ー
OpenFOAMでスロッシングに挑戦する
・すでに業務を離れているため、自由に使用できる環境が必要
・汎用ソルバで考えられることを様々試したがうまく行かず、原因も分からず
OpenFOAMなら自由に使用でき、さらに様々なことを試せる可能性
まず、スロッシング解析を行うために
interFoamの改造から行う。
10/27/10
We are engineer group specialized in CAE.
5
株式会社日本アムスコ
5
第5回OpenFOAM勉強会 for beginner ー進捗報告ー
OpenFOAMのrunディレクトリにフォルダを作成。
その中にOpenFOAMの中からinterFoam.C、同フォルダ内のCヘッダファイル
およびMakeフォルダをすべてコピーする
新しく作成するのは
interFoamSとする
10/27/10
We are engineer group specialized in CAE.
6
株式会社日本アムスコ
6
第5回OpenFOAM勉強会 for beginner ー進捗報告ー
interFoam.Cへのコードの追加は以下のHPを参考にさせていただきました。
GiroD'Ana ジロ・デ・解析屋 OpenFOAM
http://giropenfoam.web.fc2.com/openfoam/sloshing/sloshing.html
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
追加①
Info<< "\nStarting time loop\n" << endl;
// --- add by Giro start --// Acc=Bw^2sin(wt) , B=0.005[m] , w=6.5784950[rad/sec]
Foam::vector gtans0(1.0,0.0,0.0);
Foam::vector gtans1(0.0,-9.8,0.0);
Foam::doubleScalar acc_g;
Foam::doubleScalar B_g=0.005;
Foam::doubleScalar w_g=6.5784950;
Foam::doubleScalar ww_g;
//
// よく判らない時のお約束。
// いろいろと出力させてみて、中身を見てみましょう。
// Info<< "g.dimensions() = " << g.dimensions() << endl;
// Info<< "g.value() = " << g.value() << endl;
// Info<< "ghf = " << ghf << endl;
//
// --- add by Giro end ---
10/27/10
We are engineer group specialized in CAE.
7
株式会社日本アムスコ
7
第5回OpenFOAM勉強会 for beginner ー進捗報告ー
Info<< "Time = " << runTime.timeName() << nl << endl;
追加②
// --- add by Giro start --// surfaceScalarField ghf("gh", g & mesh.Cf());
// surfaceScalarField ghf is constructed in createFields.H
// According to the Programmer's Guide,
// mesh.Cf() is the cartesian coordinates of the face centres
//
(Table 2.1, Sect. 2.3.2),
// and "&" is the inner product ("dot-product") operator
//
(Table 1.2, Sect. 1.4.1).
//
ww_g=w_g*runTime.timeOutputValue();
acc_g=(B_g*w_g*w_g) * Foam::sin(ww_g);
g.value()=gtans1 + acc_g*gtans0; // addition of gravity
Info<< "g.value() = " << g.value() << endl;
ghf=g & mesh.Cf();
//
// --- add by Giro end ---
10/27/10
We are engineer group specialized in CAE.
8
株式会社日本アムスコ
8
第5回OpenFOAM勉強会 for beginner ー進捗報告ー
Makeフォルダ内のOptionsファイルはそのまま
filesファイルは
「interFoamS.C
EXE = interFoamS」 と変更
10/27/10
We are engineer group specialized in CAE.
9
株式会社日本アムスコ
9
第5回OpenFOAM勉強会 for beginner ー進捗報告ー
用意したフォルダにおいて、
wmake
を実行。いくつかの警告文か出たが、無事Make終了。
interFoamSが作成される
10/27/10
We are engineer group specialized in CAE.
10
株式会社日本アムスコ
10
第5回OpenFOAM勉強会 for beginner ー進捗報告ー
動画
10/27/10
We are engineer group specialized in CAE.
11
株式会社日本アムスコ
11
第5回OpenFOAM勉強会 for beginner ー進捗報告ー
今後の課題
・現状だと、振動数を変更する度にMakeしなおさなければならない
→振動数、振幅等のパラメータを外部入力出きるようにする
・振動数を変化させて波高の変化を確認する
・汎用ソルバとの違いの原因を探っていく
10/27/10
We are engineer group specialized in CAE.
12
株式会社日本アムスコ
12