概要
この記事は、フォーミュラSAE用のインパクトアッテネータ(衝撃緩衝部品)を題材とした、動解析による衝突シミュレーションのチュートリアルです。
図1:衝突時にインパクトアッテネータに生じる変位の解析結果
このチュートリアルで学べること:
- 動解析のセットアップして実行する
- 部品間の接触を設定する
- 境界条件、材料、その他のプロパティを設定する
- 場所ごとにメッシュサイズを設定しながら、SimScale標準アルゴリズムでメッシュ分割する
以下に示すSimScaleの標準的なワークフローに沿って操作していきます:
- シミュレーション用の CAD モデルを準備する
- シミュレーションを設定する
- メッシュを作成する
- シミュレーションを実行し、結果を分析する
1. 解析用ジオメトリの準備と解析タイプの選択
下記のリンクから、本チュートリアルのCADモデルをワークベンチにインポートしてください。
図2: SimScaleワークベンチにインポートされたインパクトアッテネータのCADモデル
学生フォーミュラカー(フォーミュラSAE)で使用されるようなシンプルなインパクトアッテネータ(衝突時の衝撃緩衝用構造)です。衝突時には車体速度を減速させ、ドライバーの安全を守ります。今回のモデルでは、鉄パイプのフレームに自動車の重量を模擬した鉛のブロックが取り付けられており、最も衝撃が大きいと想定されるコンクリートへの衝突とします。
画面右のシーンツリーに、ジオメトリに含まれるパーツボディの一覧が表示されています。それぞれ、以下の図の部品を指します。チュートリアル内では、混乱を避けるために、英語表記をそのまま使用します。
図3: 鉛のブロック、鉄パイプ、インパクトアッテネータ、コンクリートブロックのCADモデル
1.1. シミュレーションの作成
Geometriesの下に表示されている新たにインポートされたジオメトリをクリックし、Create Simulation ボタンをクリックします。
図4: FSAE Impact Attenuatorジオメトリから新規のシミュレーションを作成する
Create Simulationをクリックすると、流体解析や構造解析の解析タイプが表示されます。 Dynamicを選択します。
図5: 解析タイプの一覧から、Dynamicを選択する
2. シミュレーションのセットアップ
2.1. Contacts (接触)
SimScaleでは、接触面が自動で検出され、Bonded (ボンド接触、固着条件)が自動的に設定されますが、自動的に認識されないものは手動で設定する必要があります。このチュートリアルでは、Contactsを2つ追加で設定する必要があります。ボンド接触を新たに設定するには、シミュレーションツリー内のContactsの横の +ボタンをクリックし、Manual contact creation 内の Bonded を選びます。
図6: Bonded contactを新たに作成する
1つめの追加の接触条件として、Tubing(鉄パイプ) と Steel plate (鉄プレート)の接触を定義します。Tubingの面をMaster assignmentとし、Steel plateをSlave assignmentとします。
- Tubingの外側の面を4つ選択し、Master assignmentとします。
- Massの横の目の形をしたアイコンをクリックし、非表示にします。
- Massを非表示にすると、Steel Plateの面を選択できるので、Slave assignmentとします。
図7: 追加で設定する1つめの接触条件におけるMaster assignment(青色の部分)、Slave assignment(ピンク色の部分)
同様に、TubingをMassに固定します。今回は、Tubingの表面をSlave assignmentとします。Steel plateとImpact attenuatorを非表示にするとMassの底面を選択できるので、Master assignmentに設定します。
図8: 追加で設定する2つめの接触条件におけるMaster assignment(青色の部分)、Slave assignment(ピンク色の部分)
Master assingnmentとSlave assignmentの設定には注意が必要です。SimScaleでは、同じ面に複数のslave assignmentを設定できません。上述のようにSteel pipeについて、Bonded 2ではMasterとし、Bonded 3ではSlaveとしています。
部品間の結合部の接触条件を設定し終えたので、インパクトアッテネータの先端とコンクリートブロックのPhysical contact(物理的な接触)を設定します。Physical contactを設定すると、衝突時に相互に影響を及ぼすようになります。
図9: 新しいPhysical contactの作成
Concrete blockの上面をMaster assignmentとし、Slave assignmentにはImpact attenuatorの下側の面、合計17個の面を全て選択してください。
図10: Physical contactのMaster assingnmentとSlave assignmentの設定
2.2. Materials (材料)
SimScaleでは、多くの材料物性値があらかじめ登録されています。モデルに材料物性を設定するには、Materialsの横の+ボタンをクリックします。
図11: MaterialsからSimScaleの材料ライブラリを開きます
Steel plateとTubingの材料として設定するために、MaterialリストからSteel(鋼鉄)を選択し、Applyをクリックしてください。
図12: SimScaleの材料ライブラリには、最初から材料が登録されています。今回はまずSteelを選びます。
デフォルトではMaterial behavior(材料の挙動)がLinear elastic(線形弾性)になってます。今回のシミュレーションでは、Elasto-plastic(弾塑性)に変更します。材料の、応力-ひずみカーブを定義する必要があるので、テーブル定義アイコンから設定します。
図13: 矢印で示されているテーブル定義アイコンから、材料の応力-ひずみカーブを定義できます。
応力-ひずみカーブは、スプレッドシートの1枚目のシートを使用します。スプレッドシートをCSVファイルとしてダウンロードし、下図のインポートボックスからSimScaleにアップロードします。
図14: 表への直接入力とCSVファイルのインポートの2通りの方法で値を入力できます。CSVファイルは、ドラッグ&ドロップでもインポートできます。
最後に、Assignment Volumesとして、ワークベンチの右側に表示されているシーンツリーのGEOMETRYからTubingとSteel plateを選択し、材料物性を割り当てます。
図15: SteelをTubingとSteel plateの材料として設定します。
次に、Impact attenuatorの材料として、RubberをMaterialリストから選択して、新たな材料を定義します。今回も、デフォルトの設定から少し変更します。
- Material behavior をElasto-plastic(弾塑性)とします。
- この後に設定する応力-ひずみカーブに合わせて、Young's modulus(ヤング率)を9e6 Pa(9000000 Pa = 9 MPa)とします。(ヤング率の計算については、ドキュメントページ(英語)を参照してください。)
- 先ほどのスプレッドシートの2枚目のシートをCSVとして保存し、応力ひずみカーブとしてアップロードしてください。
- 設定したRubberをImpact attenuatorに割り当てるために、Assigned VolumesにImpact attenuatorを選択します。
図16: インパクトアッテネータの材料として設定する、Rubberの定義。
Material behaviorをElasto-plastic(弾塑性)とすると、弾性限界を超えると部品が塑性変形するようになり、荷重が作用しなくなっても元の形状に戻らなくなります。小さな変形の場合は主に弾性変形のため、Linear elastic(線形弾性)が適していますが、大変形の場合はElasto-plastic(弾塑性)モデルを使用する必要があります。
続いて、Massの材料として設定する鉛を割り当てていきます。先ほどまでと同様にMaterialリストからLeadを選択し、デフォルトの値のままMassに割り当てます。
図17: Massの材料としてLeadを割り当てます。パラメータはデフォルトのまま使用します。
同様に、Blockの材料として、Concreteをデフォルト設定のまま割り当てます。
2.3. Initial Conditions (初期条件)
動解析のような時間に依存するシミュレーションでは、系の最初の状態を定義する初期条件の設定が非常に重要です。このチュートリアルでは、コンクリートブロック以外の全てのパーツが初期速度を持つようにします。
- Initial conditions→(U) Velocityと開き、Subdomainsの横の+ボタンをクリックしします。
- UY(Y速度)を-7 m/sとします。
- インパクトアッテネータ全体にこの初期速度を割り当てるために、Assingned volumesには、Steel plate、Impact attenuator、Tubing、Massを選択します。
図18: 初期速度の設定。衝突する直前の速度を、初期速度として設定します。
2.4. 境界条件 (Boundary Conditions)
続いて、境界条件を設定し、拘束や荷重を定義します。このチュートリアルでは、コンクリートブロックの底面を完全固定とするためにFixed support境界条件を設定します。
図19: Boundary conditionsからFixed supportを選択します。
3Dモデルを回転させ、Assigned FacesにConcrete blockの底面を選択してFixed supportを割り当てます。これにより、衝突時にもブロックの底面が動かなくなります。
図20: Concrete blockの底面にFixed support境界条件を割り当てます。これにより、底面は完全固定されます。
2.5. Simulation Control
衝突現象をより良く解析するために、Simulation controlのパラメータをいくつか変更します。Simulation intervalを0.05 s、Maximum runtimeを30000 sとしてください。衝突の瞬間に時間分解能を細かくするために、Maximum time step lengthを表で定義します。
図21: Simulation controlの設定を編集します。
下図のように設定すると、時間ステップはこのように設定されます。
- t = 0 s ~ 0.01 s では、0.005 s
- t = 0.01 s ~ 0.03 s では、0.002 s
- t = 0.03 s ~ 0.05 s では、0.001 s
図22: 衝突時の時間ステップを小さくすることで、衝突と振動をより精度良く解析できます。
2.6. Result Control
Result controlでは、シミュレーション実行時のモニター/出力項目を追加で設定できます。Result controlを展開し、Pont dataの横の+ボタンをクリックし、Point dataを作成してください。1つめのポイントでは、LeadのAcceleration(加速度)をモニターします。表示されるダイアログボックスで、Field selectionをAccelerationにします。
図23: Point dataの設定画面。Geometry primitivesの横の+ボタンをクリックすると、任意の座標を設定できます。
Pointの座標設定ダイアログにて、加速度を出力する座標を設定します。最初のポイントは、XとZ座標は0 mのままとします。Y座標は、0.235 mに変更します。チェックマークボタンから設定を保存すると、Result controlのPoint data 1として保存されます。
図24: 入力したポイントの座標を視覚的に確認できます。1つめのポイントは、鉛ブロックの上部とします。
2つめのポイントを作成します。今回は、Field selectionでDisplacementを選択し、変位をモニターします。ポイントの座標は、初期設定のままのX、Y、Zいずれも0 mとします。
図25: Steel plateの変位を出力するために2つめのポイントを設定します。
3. メッシュ (Mesh)
メッシュを作成していきます。このチュートリアルでは、Region Refinementsを用いて、部位ごとにメッシュサイズを調整します。最終的なメッシュのイメージは下図の通りです。
図26: このチュートリアルでの最終的なメッシュ分割のイメージ。インパクトアッテネータの先端とコンクリートブロックの衝突位置はメッシュを細かくします。衝突の影響が少ないコンクリートブロックの底面付近ではメッシュが粗くなるようにします。
まず、シミュレーションツリーからMeshをクリックして、メッシュの設定を開きます。AlgorithmはStandardのまま、メッシュ設定を、SizingをAutomatic、Finessを3とします。
図27: Finess(細かさ)でメッシュの細かさを調整できます。この後、衝突部付近はメッシュが細かくなるようにするので、Finessを小さくすると、衝突部から離れた位置ではメッシュが粗くなります。
Gererateからメッシュ分割を実行する前に、衝突位置周辺にRegion refinementsを設定し、その箇所の解析精度が高くなるようにしていきます。
3.1. メッシュ細分化領域の設定(Region Refinements)
新たにRegion refinementを作成するには、Refinementsの横の+ボタンをクリックし、Region refinementを選択します。
図28: 新たにRegion refinementを作成します。
設定ダイアログにて、指定する領域内でのメッシュのMaximum edge length(最大の辺の長さ)を調整できます。本チュートリアルで設定する1つめのrefinementでは、maximum edge lengthを0.02 mにします。領域を直方体で指定するため、Refinement regionは+ボタンからCartesian boxを選択してください。
図29: 新たなRefinement regionとしてCartesian boxを選択します。
この設定を、2つのCartesian box領域に対して適用します。直方体の対角となる2点の座標で直方体領域を定義します。1つめの領域は、インパクトアッテネータが移動する領域で、座標設定は以下の通りです。
図30: インパクトアッテネータと錘が移動する領域の座標設定。分かりやすくするために、名前をMoving Regionとします。
チェックマークボタンからこの設定を保存し、続いて、コンクリートブロックの衝突位置付近を2つめの領域として設定していきます。Cartesian boxを追加し、次のように座標を定義します。
図31: コンクリートブロックの衝突部近辺でRegion refinementを設定するためのCartesian boxの座標設定。分かりやすくするために、名前をImpact Regionとします。
2つめの領域の座標を設定したら、2つの領域がリストに表示され、スイッチが入っていることを確認します。
図32: 最初のRegion refinementの最終的な設定ダイアログの状態。
最後に、もうひとつRegion refinementを作成し、下図の様にインパクトアッテネータ周辺のCartesian box領域に対して、Maximum edge lengthを0.01 mと設定します。
図33: インパクトアッテネータ用のCartesian box領域の座標設定。
Region refinemetの設定を合計2つ設定し終えたら、シミュレーションツリーのMeshを開き、Generateボタンをクリックしてメッシュ分割を実行します。
図34: 必要なメッシュ設定を終えたら、Generateから新しいメッシュを生成します。
| 計算実施済みのプロジェクト |
| 解析条件の設定とシミュレーション計算がすでに実施済みのプロジェクトをこちらからご確認いただけます。 |
4.シミュレーションの実行
新たにシミュレーションを実行するには、Simulation Runsの横にある+ボタンをクリックし、Startします。
図35: シミュレーション計算を実行するまえのシミュレーションセットアップツリー
5. ポスト処理
Simulation Runが終了したら、衝突解析結果のポスト処理を実施できます。下記のいずれかの方法でポスト処理画面にアクセスします。
図36: Solution FieldsまたはPost-process resultsからポスト処理画面にアクセスできます。
5.1. 応力の可視化
デフォルトでは、Von Mises応力がカラーコンター図で可視化されています。カラーレンジの上限を調整することで、さらに結果を見やすくできます。
図37: ポストプロセッサでカラーバーの上限を微調整します。
まずは上限を1e8 Pa (=100MPa) にします。さらに、カラーバー上で右クリックすると、Continuous scale(連続的な配色)に変更できます。
図38: カラーバーの右クリックメニュー。Continuous scaleにすると、色同士がなめらかに遷移するようになる。
最後に、アッテネータの内側の応力も確認するために、カット断面を作成してみます。上部のFILTERSリボンにおいてCutting Planeアイコンをクリックし、OrientationをXにします。
図39: FILTERSリボンからCutting Planeを作成する。
ビューワ上で回転(クリックしてドラッグ)やズーム(ホイール)して断面の応力を様々な角度から確認できます。
5.2. 変位の可視化
デフォルトで表示される可視化結果にDisplacement(変位)のフィルタ項目もあります。このフィルタを用いると、パーツの移動や変形を見ることができます。もしもDisplacementが表示されていなければ、上部のリボンから追加できます。
図40: Displacementフィルタを使用すると、各時間ステップにおける各パーツの位置を確認できます。
Displacementフィルタを作成した後、Cutting Plane 1からParts ColorをDisplacement magnitudeに変更します。右側のSTEPSバーより、時間ステップを変更して結果を見ることができます。
図41: STEPSから時間ステップを動かすと、ビューワに表示される変位と値が自動的に更新されます。
最も圧縮されるのはstep 0.036 sと確認できます。変位の可視化は、特にインパクトアッテネータの変形を評価するのに役立ちます。
5.3. アニメーション表示
Animationフィルタを使用すると、変形プロセスの全体像をよりよく可視化できます。Parts ColorのColoringをVon Mises Stressに戻し、アニメーションを表示するために再生ボタンをクリックします。
図42: Animationフィルタでは、アニメーションが保存されると結果をなめらかに再生できます。これにより、衝突時にどのようなことが起きているかを確認しやすくなります。
アニメーションを作成できたら、Record capture機能で動画出力できます。
図43: SimScaleではスクリーンショット撮影と動画キャプチャの機能を利用できます。画像や動画を作成したら、保存も可能です。
例えば下図のように、Record機能を用いてgifアニメーションを作成できます。
アニメーション1: インパクトアッテネータの衝突テストにおける応力の計算結果の可視化。
アニメーションから、変形や応力の変化を追うことができます。黄色と赤で表示された領域は大きな応力が生じていることを表します。
5.4. 時刻歴データの表示
設定したPoint dataをグラフで表示し、確認できます。シミュレーションツリーのRun 1からPoint dataを展開してください。Point data 1とPoint data 2から、それぞれ先ほど設定したaccelerationとdisplacementをグラフで表示できます。
図44: シミュレーションツリーから、表示するPoint dataを選択できます。
図45: Point data 1のaccelerationのグラフ表示。右上のボタンから、グラフのCSVや画像を保存できます。
図46: Point data 2のdisplacementのグラフ表示。0.037 sで最下部になっていることが分かります。
この他にも、例えば速度を出力して運動エネルギを評価したり、反力を出力して荷重を評価するのにも役立ちます。
おめでとうございます!これにてチュートリアルは終了です。