Presentation is loading. Please wait.

Presentation is loading. Please wait.

第5回OpenFOAM勉強会 for beginner

Similar presentations


Presentation on theme: "第5回OpenFOAM勉強会 for beginner"— Presentation transcript:

1 第5回OpenFOAM勉強会 for beginner
進捗報告 冨原 大介

2 第5回OpenFOAM勉強会 for beginner ー進捗報告ー
・取り組んでいる課題 ・前回勉強会出席時からやってみたこと ・疑問 ・今後の取り組み予定

3 スロッシングの周波数応答解析 第5回OpenFOAM勉強会 for beginner ー進捗報告ー 取り組んでいる課題
スロッシング・・・容器内の液体が、特定の振動数(周波数)に        反応して波打つ現象のこと ex)マグカップに注いだコーヒーの液面揺れが、   歩く速度によって変化する 容器にはそれぞれ固有振動数(周期)があり、 揺れの振動数が固有振動数に近づいたときに波が大きくなる

4 第5回OpenFOAM勉強会 for beginner ー進捗報告ー
矩形水槽のスロッシング 約0.5m 振幅:5×10-3m 固有振動数:1.047Hz 上記の値の加速度を 振動方向に正弦波であたえる 奥行き方向は2次元問題 として考えない 約0.5m うまくいかない!! ・固有振動数での波高が実験値に及ばない ・固有振動数で波高がピークをとらない 振動

5 第5回OpenFOAM勉強会 for beginner ー進捗報告ー
・すでに業務を離れているため、自由に使用できる環境が必要 ・汎用ソルバで考えられることを様々試したがうまく行かず、原因も分からず OpenFOAMなら自由に使用でき、さらに様々なことを試せる可能性 まず、スロッシング解析を行うために interFoamの改造から行う。

6 第5回OpenFOAM勉強会 for beginner ー進捗報告ー
OpenFOAMのrunディレクトリにフォルダを作成。 その中にOpenFOAMの中からinterFoam.C、同フォルダ内のCヘッダファイル およびMakeフォルダをすべてコピーする 新しく作成するのは interFoamSとする

7 第5回OpenFOAM勉強会 for beginner ー進捗報告ー
interFoam.Cへのコードの追加は以下のHPを参考にさせていただきました。 GiroD'Ana ジロ・デ・解析屋 OpenFOAM // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Info<< "\nStarting time loop\n" << endl; // --- add by Giro start --- // Acc=Bw^2sin(wt) , B=0.005[m] , w= [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= ; Foam::doubleScalar ww_g; // // よく判らない時のお約束。 // いろいろと出力させてみて、中身を見てみましょう。 // Info<< "g.dimensions() = " << g.dimensions() << endl; // Info<< "g.value() = " << g.value() << endl; // Info<< "ghf = " << ghf << endl; // --- add by Giro end --- 追加①

8 第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 ), // and "&" is the inner product ("dot-product") operator // (Table 1.2, Sect ). // 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 --- 追加②

9 第5回OpenFOAM勉強会 for beginner ー進捗報告ー
Makeフォルダ内のOptionsファイルはそのまま filesファイルは 「interFoamS.C EXE = interFoamS」 と変更

10 第5回OpenFOAM勉強会 for beginner ー進捗報告ー
用意したフォルダにおいて、 wmake を実行。いくつかの警告文か出たが、無事Make終了。 interFoamSが作成される

11 第5回OpenFOAM勉強会 for beginner ー進捗報告ー
動画

12 第5回OpenFOAM勉強会 for beginner ー進捗報告ー
今後の課題 ・現状だと、振動数を変更する度にMakeしなおさなければならない →振動数、振幅等のパラメータを外部入力出きるようにする ・振動数を変化させて波高の変化を確認する ・汎用ソルバとの違いの原因を探っていく


Download ppt "第5回OpenFOAM勉強会 for beginner"

Similar presentations


Ads by Google