第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
© Copyright 2024 ExpyDoc