TOP->CAE技術->Abaqusチュートリアル

スロッシング|Abaqusチュートリアル

(Abaqusバージョン:Abaqus 6.9 Student Edition)

スロッシングとは液体の入った容器において、外部からの加振力によって内部の液体が揺動することです。主に巨大な石油タンクなどで問題になる事例が多いですが、機械装置においては燃料やオイルのタンクなどでしばしば問題になります。

スロシングに関して解析する方法にはいくつかありますが、今回はオイラー要素を用いる方法を紹介したいと思います。

スロッシング解析

概要

流体の問題であれば流体解析の範疇ですが、ここでは流体の動きにより構造側が受ける影響を評価するために、流体と構造を連成させた解析を実施します。Abaqusではオイラー要素を用いることで流体の挙動を簡易的に表現することができます。

実はオイラー要素を用いたスロッシングの解析を1000節点以下で実施するのは非常にキツイです・・。よって今回はタンクの断面を要素1層分だけ抜き出してモデル化することにしました。

解析条件

  • タンクはt1.2の鋼板
  • 内部の流体は非圧縮性、非粘性のニュートン流体でオイラー要素を用いてモデル化
  • 断面は面対称の拘束条件
  • タンク底面を左右に5mmの振幅、各速度10rad/sで加振
  • 下向きに重力加速度を定義

モデルの外観は以下です。

流体領域の作成

パートの作成

モデルツリーパート上で右クリックして現れるメニューにおいて作成をピックします。ちなみにパートダブルクリックすることでも同じ操作をすることができます。

以下のパートの作成ダイアログにより、どのような形状作成するのかを定義します。ここでは3Dモデルでオイラー要素用の形状を作成しますので、名前:fluid_area、モデリング空間:3次元、タイプ:Euler、ベースフィーチャ:押し出しソリッド、近似サイズ:200を入力します。

設定が終わりましたら、続けるのボタンをクリックします。これによりビューポートはグリッドが表示されたスケッチ画面に切り替わります。

流体領域のスケッチ

まずは基準となるコンストラクションを作成します。コンストラクションとはスケッチを作成するのに必要な基準線のようなものです。コンストラクションの作成:2ポイントを通る斜線をクリックします。スケッチ画面で中心線(垂直・水平)を示す点線上の2点を水平線、垂直線の両方で適当にクリックし、下図のような黄色の点線を作成してください。

コンストラクションを固定するため、拘束の追加をクリックします。続く拘束ダイアログにおいて、固定を選択します。

スケッチ画面上で先ほど作成したコンストラクションを2本選択します。コンストラクションが緑色に変わり、拘束のアイコンが表示されます。ESCキーで作業を完了し、拘束ダイアログは×で閉じます。

"直線の作成、矩形(4ライン)"と、"寸法の追加"により下図のような矩形を作成してください。縦215mm、横230mm、左辺は縦のコンストラクション線から左側に15mmずらして配置しています。底辺は水平コンストラクション線に一致しています。

奥行きの定義

寸法定義が終わりましたら、Escで寸法定義の状態から抜けてプロンプトエリアの完了ボタンをクリックします。そうしますと、プレートの厚みを入力する"ベースの押し出しの編集"ダイアログが現れますので、奥行きに.15と入力し、OKボタンをクリックします。

下図のように3Dモデルができました。

(→このページのトップに移動)

初期の流体領域の作成

パートの作成

モデルツリーパート上で右クリックして現れるメニューにおいて作成をピックします。

初期の流体の領域を表す3Dモデルは参照だけに使うのでメッシュは作成しません。形だけあればいいので設定はあまり意味をなさないのですが、とりあえず次に示す条件で作成ください。

以下のパートの作成ダイアログにおいて、名前:init_fluid_area、モデリング空間:3次元、タイプ:変形体、形状:ソリッド、タイプ:押し出し、近似サイズ:200を入力します。

設定が終わりましたら、続けるのボタンをクリックします。これによりビューポートはグリッドが表示されたスケッチ画面に切り替わります。

スケッチ

"直線の作成、矩形(4ライン)"と、"寸法の追加"により下図のような矩形を作成してください。縦100mm、横200mm、左下の頂点がスケッチ画面の中心(点線の交点)になるようにしてください。

奥行きの定義

寸法定義が終わりましたら、Escで寸法定義の状態から抜けてプロンプトエリアの完了ボタンをクリックします。そうしますと、プレートの厚みを入力する"ベースの押し出しの編集"ダイアログが現れますので、奥行きに.15と入力し、OKボタンをクリックします。

下図のように3Dモデルができました。

(→このページのトップに移動)

タンクの作成

パートの作成

モデルツリーパート上で右クリックして現れるメニューにおいて作成をピックします。

以下のパートの作成ダイアログにおいて、名前:tank、モデリング空間:3次元、タイプ:変形体、形状:シェル、タイプ:押し出し、近似サイズ:200を入力します。

設定が終わりましたら、続けるのボタンをクリックします。これによりビューポートはグリッドが表示されたスケッチ画面に切り替わります。

スケッチ

"直線の作成、矩形(4ライン)"と、"寸法の追加"により下図のような矩形を作成してください。縦200mm、横200mm、左下の頂点がスケッチ画面の中心(点線の交点)になるようにしてください。

奥行きの定義

寸法定義が終わりましたら、Escで寸法定義の状態から抜けてプロンプトエリアの完了ボタンをクリックします。そうしますと、プレートの厚みを入力する"ベースの押し出しの編集"ダイアログが現れますので、奥行きに.15と入力し、OKボタンをクリックします。

下図のように3Dモデルができました。

(→このページのトップに移動)

材料の定義

流体とタンクで2種類の材料特性を定義します。流体は水、タンクは鉄鋼材料を想定します。

流体の材料特性

モデルツリーにおいて材料特性の項目の右クリックメニューから"作成"を選択(材料特性の項目をダブルクリックでも可)。

上記操作によって現れる"材料特性の編集"ダイアログにおいて、名前に"water"と入力します。さらにダイアログ内メニューの一般/密度を選択、密度9.96E-007kg/mm^3と入力します。

ダイアログ内メニューのその他/状態方程式を選択ます。タイプをUs-Upに変更し、co=1450000、s=0、yo=0と入力します。

入力が終わりましたら、OKボタンをクリックします。

タンクの材料特性

次にタンクの材料特性を定義します。名前はsteelとし、ダイアログ内のメニュー、一般/密度を選択し、質量密度7.85e-6を入力します。

ダイアログ内メニューの機械的/弾性/弾性を選択し、ヤング率210000000、Poisson比0.3を入力します。

入力が終わりましたら、OKボタンをクリックします。

(→このページのトップに移動)

要素特性の定義と割り当て

要素特性の定義

モデルツリーにおいて、要素特性の項目の右クリックメニューから"作成"を選択(要素特性の項目をダブルクリックでも可)。この時、自動で特性モジュールに切り替わります。

"要素特性の作成"ダイアログにおいて、名前にSection-fluidと入力、カテゴリでソリッドタイプでEulerを選択して、続けるボタンをクリックします。

"要素特性の編集"ダイアログにおいて、ベース材料特性で先ほど定義したwaterを選択します。そうするとインスタンス名にwater-1が自動で入力されますので、OKボタンをクリックします。

同様にタンクの要素特性を作成します。モデルツリーにおいて、要素特性の項目の右クリックメニューから"作成"を選択(要素特性の項目をダブルクリックでも可)。

要素特性の作成ダイアログにおいて名前にSection-tankと入力、カテゴリ:シェル、タイプ:均質を選択します。

要素特性の編集ダイアログにおいて、シェル厚:1.2と入力、材料特性:steelを選択します。

要素特性の割り当て

上記で定義した要素の特性を3Dモデルに対して割り当てます。モデルツリーにおいて、パート、fluid_areaをそれぞれ展開します。fluid_areaの下位にある要素特性割り当てという項目の右クリックメニューから"作成"を選択します。

上記操作で現れる"要素特性割り当ての編集ダイアログの要素特性で、先ほど定義したSection-fluidを選択して、OKボタンをクリックします。

同様にタンクに対しても要素特性を割り当てます。

モデルツリーにおいて、パート、tankをそれぞれ展開します。tankの下位にある要素特性割り当てという項目の右クリックメニューから"作成"を選択します。タンクの場合は下図のように”要素特性を割り当てる領域を選択してください”と出るので、ビューポート上でドラッグなどしてモデルを選択し、完了ボタンをクリックします。

要素特性割り当てダイアログにおいて、要素特性にSection-tankを選択します。完了したらOKボタンをクリックします。

法線方向の割り当て

タンクはシェルモデルなので法線方向を確認しておきましょう。特性モジュールにおいて、メニューから割り当て/法線を選択します。

表はブラウンで表示されますので、よければ完了ボタンをクリックします。意図する方向と異なる場合にはビューポート上で反転したい面を選択して完了ボタンをクリックします。

(→このページのトップに移動)

モデルのアセンブリ

今回はパートの作成の際、コンストラクション線を多用するなどして全体座標を意識したモデリングをしているのでアセンブリは簡単です。

インスタンス作成

モデルツリーでアセンブリを展開してインスタンスの項目上の右クリックメニューから"作成"を選択します。この時、自動でアセンブリモジュールに切り替わります。

"インスタンスの作成"ダイアログにおいて、パートからfluid_area、init_fluid_area、tankをshiftを押しながら選択(もしくはドラッグして選択)、インスタンスタイプをディペンデントに設定してOKボタンをクリックします。

下図のようにすべての部品が配置されました。

(→このページのトップに移動)

集合の作成

境界条件を設定するのに使用されるジオメトリ集合を定義します。

モデルツリーを展開してアセンブリの下の集合の右クリックメニューから"作成"をクリックします。

集合の作成ダイアログにおいて、名前にcornerと入力して"続ける"ボタンをクリックします。

下図に示すfluid_areaの断面となる面を選択し、プロンプトエリアの"完了"ボタンをクリックします。手前側と奥側の2面ありますので注意してください。shiftを押しながら2面を選択します。

タンクにも集合を作成したいのですが、パートが重なっていて選択が難しいので、表示グループを設定します。メニューから、ツール/表示グループ/作成を選択します。

表示グループの作成ダイアログにおいて、アイテム:パートインスタンスを選択右側のリストからtank-1を選択して置換ボタンをクリックします。ビューとにtankのみが表示されたら閉じるボタンをクリックします。

このように表示グループの作成ダイアログを使えば、複雑なモデルでも必要なパートのみを表示させることができます。活用ください。

同様の手順で以下の集合を作成ください。

集合名:Set-sym_tank

ちょっと解りづらいですけど、タンク断面のエッジを選択しています。

集合名:Set-fix_tank

タンクの底面を選択します。

(→このページのトップに移動)

解析ステップの定義

解析ステップの作成方法

モデルツリーにおいて、ステップ右クリックメニューから"作成"を選択します。この時、ステップモジュールに自動で切り替わります。

上記操作で現れる"ステップの作成"ダイアログにおいて、プロシージャタイプ:一般Dynamic,Explicitを選択して、続けるボタンをクリック。名前を適宜変更しても構いません。

上記操作で現れる"ステップの編集"ダイアログにおいて、Nlgeomをオンにチェックし、時間幅に2と入力します。2秒間に起こる現象について解析を実行するという意味です。最後にOKボタンをクリックします。

フィールド出力要求の設定

モデルツリーにおいて、フィールド出力要求の項を展開し、F-Output-1の右クリックメニューから"編集"をクリックします。

フィールド出力要求の編集ダイアログにおいて、頻度:x時間ごと、x:0.01と入力します。OKボタンをクリックしてダイアログを閉じます。結果の出力頻度の設定についても好みですので適宜変更ください。

(→このページのトップに移動)

接触条件の定義

相互作用特性の定義

モデルツリーにおいて相互作用特性の右クリックメニューから"作成"をクリックします。

相互作用特性の作成ダイアログにおいて、接触を選択して"続ける"ボタンをクリックします。

接触特性の編集ダイアログのメニューが現れますが、ここでは摩擦など特別な条件は考慮しません。このまま"OK"ボタンをクリックします。

相互作用の定義

モデルツリーの相互作用の右クリックメニューから"作成"をクリックします。

相互作用の作成ダイアログにおいて、ステップ:Initial、選択されたステップに対するタイプ:一般接触(Explicit)を選択し、"続ける"ボタンをクリックします。

続く相互作用の編集ダイアログにおいて、含めるサーフェス対:すべて*(自己接触含む)を選択し、接触特性の全体の特性割り当て:IntProp-1(先ほど作成した相互作用特性)を選択します。最後に"OK"ボタンをクリックしてダイアログを閉じます。

(→このページのトップに移動)

荷重条件の定義

下方向の重力加速度を荷重条件として定義します。モデルツリーにおいて、荷重の項目の右クリックメニューから"作成"を選択します。この時、荷重モジュールに自動で切り替わります。

上記操作で現れる"荷重の作成"ダイアログにおいて、ステップ名(Step-1)、カテゴリで機械的、タイプで重力を選択し、"続ける"のボタンをクリックします。名前を適宜変更しても構いません。

"荷重の編集"ダイアログにおいて、成分2に-9810と入力し、"OK"ボタンをクリックします。今回のモデルは上下方向がyですので成分2となります。加速度の単位系はmm/s^2となります。

 

境界条件の定義

モデルツリーにおいて、境界条件右クリックメニューから"作成"を選択します。

上記操作で現れる"境界条件の作成"ダイアログにおいて、名前:BC-sym_fluidステップ:step-1カテゴリ:機械的タイプ:対称/反対称/完全固定、を選択し、"続ける"ボタンをクリック

今回は集合を予め設定していますので、集合を用いて境界条件を設定します。プロンプトエリアにある"集合"ボタンをクリックします。

続く領域の選択ダイアログにおいて、リストからSet-sym_fluidを選択し、"続ける"ボタンをクリックします。この時”ビューポート内で選択をハイライトする”にチェックを入れておくと、モデル上で対象部位がハイライトして確認することができます。

上記操作で現れる"境界条件の編集"ダイアログにおいて、ZSYMM(U3=UR1=UR2=0)にチェックを入れます。Z方向に垂直な面で対象という意味です。よければ"OK"ボタンをクリックします。

同様に、集合Set-symm_tankに対して境界条件ZSYMM(U3=UR1=UR2=0)を設定します。やり方は同じなので図は示しません。

次にタンクの底面の境界条件を設定します。境界条件の作成ダイアログにおいて、名前:BC-fix_tankステップ:step-1カテゴリ:機械的タイプ:変位/回転、を選択し、"続ける"ボタンをクリック

続く領域の選択ダイアログにおいて、リストからSet-fix_tankを選択し、"続ける"ボタンをクリックします。

境界条件の編集ダイアログにおいて、U1=5、U2=0と入力し、その他は未入力とします。この設定だけですと、y方向(上下方向)に拘束、x方向(左右方向)に5mm強制変位させる条件となります。

x方向に関して振幅5mmのsin波で揺するために、時間変化を設定します。上記ダイアログで時間変化の項目の"作成"ボタンをクリックします。

下図の時間変化曲線の作成ダイアログにおいて、タイプ:周期的データを選択して、"続ける"ボタンをクリックします。

時間変化曲線の編集ダイアログにおいて、円振動数:10、開始時間:0、初期の時間変化:0、A:0、B:1と入力し、"OK"ボタンをクリックします。

<補足>

周期的データの時間変化曲線は以下の数式に基づいています。今回はω=10、A=0、B=1を入力したので、振幅1のsin波を定義したことになります。

境界条件の編集ダイアログにおいて、時間変化の項に先ほど作成した時間変化曲線Amp-1を選択し、"OK"ボタンをクリックします。

(→このページのトップに移動)

モデルのメッシュ分割

メッシュモジュールへの切り替え

まずは流体領域のメッシュを作成します。モデルツリーにおいて、パート/fluid_areaまで展開し、メッシュという項目が表示されるようにします。次にメッシュ(空)の項目の右クリックメニューからコンテキストの切り替えを選択します。ダブルクリックでも同じ操作が行えます。

メッシュコントロールの設定

メッシュコントロールとはどのような形状の要素をどのように作成するかを決める設定です。ツールボックスエリアからメッシュコントロールの割り当てをクリックします。

下図に示す"メッシュコントロール"ダイアログにおいて、要素形状:6面体テクニック:構造を選択します。このモデルではこれがデフォルですので確認だけになるかと思います。最後に"OK"ボタンをクリックしてメッシュコントロールの設定を終了します。

要素タイプの割り当て

今回はEC3D8R要素(6面体1次オイラー要素の低減積分)を使用します。オイラー要素を用いた解析をする場合はこの要素しか利用できません。

ツールボックスエリアから要素タイプの割り当てをクリックします。

上記操作で現れる"要素タイプ"ダイアログにおいて、内容を確認して"OK"ボタンをクリックします。

シードの定義

シードとはメッシュをどのようなサイズで分割するかということを決める設定です。モデル上に予めメッシュの基準点となる種(シード)をばらまきます。

パートのシードをクリックします。

上記操作で現れる"全体シード"ダイアログにおいて、近似全体サイズを12入力します。

よければ"適用"ボタンをクリックしてモデルで確認後、"キャンセル"ボタンをクリックします。

メッシュの作成

これでメッシュを作成する準備が整いましたので、パートのメッシュをクリックします。プロンプトエリアに"パートをメッシュ分割しますか?"と聞いてきますので、"はい"をクリックします。

メッシュ分割が完了すると下図のようにモデルで確認することができます。1000節点以内の制約があるのでこの辺が限界か・・。

タンクのメッシュ作成

同様の手順ですので詳しくは説明しません。ご自身でやってみてください。ただし流体領域の場合と異なる部分のみ以下に示します。

メッシュコントロールはデフォルト設定です。サーフェスモデルではビューポート上でメッシュコントロールを割り当てる領域をドラッグするなどして選択する必要があります。

要素タイプはS4R(4辺形1次の低減積分要素)を使用します。要素サイズは15mmとします。

メッシュを作成しますと下図のようになります。

(→このページのトップに移動)

初期の流体領域定義

体積分率定義

コンテキストバーから相互作用もしくは荷重モジュールに切り替えます

メニューバーからツール/離散的場/体積分率ツールを選択します。

Eulerパートインスタンスを選択してくださいとプロンプトエリアに表示されますので、ビューポート上で流体領域のパートを選択します。

選択が難しい場合にはプロンプトエリアのインスタンスボタンをクリックし、インスタンスの選択ダイアログから選択してOKボタンをクリックします。

次に"参照パートインスタンスを選択してください"と出ますので、ビューポート上で初期の流体領域を表すinit_fluid_area-1を選択するか、インスタンスの選択ダイアログ上から選択してOKボタンをクリックします。

堆積分率ツールダイアログにおいて、細かい設定はいろいろありますがとりあえずデフォルトの設定を受け入れてOKボタンをクリックします。

ツールパートの一時消去

init_fluid_areaは初期の流体領域を認識させるためのツールパートです。解析には直接利用しないので一時消去しておきます。モデルツリーにおいて、アセンブリ/インスタンスまで展開し、init_fluid_area-1の右クリックメニューから一時消去をクリックします。

材料の割り当て

モデルツリーにおいて、規定場の項目の右クリックメニューから"作成"を選択します。ダブルクリックでも同じ操作が行えます。

規定場の作成ダイアログにおいて、ステップ:Initial、カテゴリ:その他、選択されたステップに対するタイプ:材料割り当てを選択し、"続ける"ボタンをクリックします。

規定場の編集ダイアログにおいて、体積分率、定義:離散的場、fluid_area-1.water-1の項でDiscField-1(堆積分率ツールで定義した名前)を選択し、"OK"ボタンをクリックします。

(→このページのトップに移動)

解析ジョブの作成と投入

解析ジョブの作成

解析モデルが完成したので、解析ジョブを作成して計算を実行してみましょう。モデルツリーにおいて解析を展開してジョブの項が表示されるようにします。ジョブの右クリックメニューから"作成"を選択します。この時、ジョブモジュールに自動で切り替わります。

上記操作で現れる"ジョブの作成"ダイアログでジョブの名前にtank_jobと入力モデルを選択(Model-1)します。"続ける"ボタンをクリックします。ジョブ名は任意です。モデルファイル名と合わせておいた方が解りやすいかもしれません。

続く"ジョブの編集"ダイアログにおいて、精度タブのAbaqus/Explicit数値精度:倍精度、節点出力精度:フル、を選択します。今回、陽解法としては長い時間幅を解析するので、誤差を最小限にするために倍精度での解析を実行します。"OKボ"タンをクリックしてダイアログを閉じます。

ワーキングディレクトリの設定

解析結果のファイルやログファイルなどはワーキングディレクトリに作成されます。予め設定しておかないと、どこにファイルが保存されたのか解らなくなってしまうこともありますので、一応設定しておきましょう。

ファイルメニューからワーキングディレクトリの設定を選択します。ご自身の環境に合わせて設定ください。

解析ジョブの投入

モデルツリーにおいて、先ほど定義したジョブtank_jobの右クリックメニューから"ジョブの投入"を選択します。この操作で計算が実行されます。計算が実行中はジョブ名の横に"実行中"と表示され、計算が終了すると"完了"に変わります。今回の解析はかなり時間がかかりますので注意してください。私のノートPCでは1時間弱かかりました・・・。

tank_jointの右クリックメニューから"モニタ"を選択しますと、解析の進行状況を確認することができます。

(→このページのトップに移動)

解析結果の表示

結果ファイルの読み込み

モデルツリーにおいて、ジョブ名(tank_job)の右クリックメニューから"結果"をクリックします。

ここでオイラー要素を用いた解析特有で設定になりますが、流体が存在する領域だけを表示する設定を行います。メニューからツール/ビューカット/マネージャを選択します。

ビューカットマネージャダイアログにおいて、EVF_VOIDにチェックを入れ"閉じる"ボタンをクリックします。

そうしますと、下図のように流体が存在しない部分がカットされて表示されます。

下の動画ではシェル要素の応力を表示しています。シェル要素の結果表示方法については、"09.L字プレート"の"解析結果の表示"の項を参考にしてください。

この結果より、タンクを同じ振幅で揺らしていても、中の流体の振幅は徐々に大きくなっていくことが確認できると思います。またこの流体の運動によって発生するタンクの応力についても評価することができます。このように流体にオイラー要素を用いることで比較的簡単に流体と構造の連成解析を実施することができるようになります。

(→このページのトップに移動)

[前へ] | [次へ]