マルチボディダイナミクスシミュレーション

マルチボディシステムは、サブシステム(ボディ、コンポーネント、またはサブストラクチャ)のアセンブリとして定義されます。

サブシステムの動きは機構学的な制約のもとで、各サブシステムまたはコンポーネントは大変位および大回転を受けます。

ボディは、弾性体または剛体のいずれかとみなされます。剛体は、変形しません。剛体の運動は、6つの一般化座標を用いて完全に定義されます。結果の数理モデルは非線形です。ボディの変形を無視すると、正確な結果が得られない場合があります。したがって、一部のボディは弾性、すなわち変形を受け得るとみなすことができます。弾性体をマルチボディダイナミクスシミュレーションに含めるには、モード縮退の手法が使用されます。

ジョイント、荷重要素、およびコントロールによりボディを結合します。初期速度、荷重およびモーションがシステムに適用されます。

特定の荷重、モーションおよび初期速度の条件下でマルチボディシステムの挙動を求めるために、異なるタイプの解析を行うことができます。過渡(運動学、動力学)解析は、時間依存の荷重下における応答を求めます。静解析および擬似静解析は、システムの静的平衡を求めます。マルチボディの解は、拡張絶対座標定式化をベースとしています。


図 1. マルチボディシステム

この機能の装備は、有限要素モデルを利用してマルチボディダイナミクス問題を解くことを希望する典型的な有限要素ユーザーをターゲットとしており、多少の制限が存在します。HyperMeshはモデリングに使用されます。形状エンティティはすべて、有限要素メッシュの形で定義されます。弾性体のモデリングがフルに統合されています。

HyperStudyは、最適化に使用することが可能です。剛体および弾性体ボディの形状最適化には、HyperMorphを適用することができます。

過渡解析

過渡解析は、時間依存の荷重とモーションに関するマルチボディシステムの応答を計算するために使用されます。

荷重とモーションは時間依存です。ボディの初期条件はボディの初期速度を、ジョイントの初期条件は特定のジョイントの初期変位を定義します。

過渡解析の結果は、変位、速度、加速度、要素力、および弾性体における応力とひずみへのモード寄与です。応答は通常、時間依存です。

運動方程式は、次の式で与えられます:(1) M u ¨ = f ( t ) (2) u ˙ t = 0 = v 0

マトリックス M は質量マトリックス、 f は外部荷重ベクトル、ベクトル u は一般化座標系を表します。剛性、減衰、拘束荷重、外部荷重、および重力は、すべて外部荷重ベクトル f に含まれます。初期および最大の積分タイムステップ、終了時間、および積分許容誤差を定義する必要があります。

システム解析の自由度に応じて、運動学および動力学の2つの解析が定義されます。

運動学解析は、適切なジョイントおよびモーションを介してすべての自由度が拘束され、自由度ゼロのモデルとしてある場合に実行されます。運動学解析は、任意の時刻において全ての運動学的拘束条件および運動方程式を満足するボディの位置、姿勢(機構のコンフィギュレーション)を求めます。コンフィギュレーションは、拘束条件を表わす非線形代数方程式のシステムを解くことで得られます。

運動学解析の際は、拘束および運動方程式を解くことのみによって機構のコンフィギュレーションが完全に決定されるため、運動の微分方程式を数値積分によって解く必要はありません。運動学解析に際して荷重は使用されませんが、任意の時刻におけるジョイント反力を計算することができます。含まれるボディの質量および慣性プロパティ、およびそれらにかかる外部荷重は結果の機構のコンフィギュレーションに影響を与えませんが、出力としてリクエストされるジョイント反力には影響します。

動力学解析は、モデルの自由度が1もしくはそれ以上である場合に実施されます。動力学解析は、運動学的拘束条件を表わす非線形代数方程式について、モーションの微分方程式を数値積分により解くものです。すなわち解は、微分-代数方程式を解くことで得られます。

結果の解は、様々な動的効果を考慮し、ボディの質量と慣性プロパティ、システム内の減衰、およびボディにかかる荷重とモーションに従属します。積分法、積分の時間ステップ、収束トレランス等、解析パラメータも解に影響を与えるため、適切に設定する必要があります。

過渡タイプのシミュレーションが要求された際は、ソルバーは運動学解析を実行すべきか、動解析を実行すべきかどうかを、自由度によって自動的に判断します。

運動方程式は利用可能な3つの積分法の1つを用いて解かれます。選択は、運動方程式の数値的な硬さ(スティフ)に基づいて決定されます。ステップサイズが手法の精度よりもむしろ数値積分手法の安定性によって一層厳しく制限される場合、その問題はスティフと判断されます。これらは、高減衰かつ低移動性のシステムです。
  • VSTIFF(デフォルト) - Variable Coefficient Differential Equation Solver(VODE)を使用する陰的積分法。スティフおよび非スティフな問題に適しています。
  • MSTIFF - 非線形運動方程式を解くためにModified Extended Backward Differentiation Formulae(MEBDF)を使用する陰的積分法。スティフな問題に適しています。
  • ABAM(Adams-Bashforth-Adams-Moulton) - 非線形運動方程式を解くために有限差分理論を使用する陽的積分法。スティフではないシステムに適しています。

マルチボディサブケースは、入力デック内で定義する必要があります。1つのモデル内で使用できるマルチボディサブケースは1つのみです。解析タイプ“Static”(静解析)は、MBSIMサブケースステートメントで参照される必要のあるMBSIMバルクデータエントリで定義されます。MBSIMバルクデータエントリは、積分法、終了時間およびタイムステップも定義します。代わりにMBSEQバルクデータステートメントを参照することによって、一連の異なるタイプの解析を定義することが可能です。荷重とモーションは、それぞれMLOADおよびMOTIONサブケースエントリで参照されます。初期速度はここでは適用されません。変位を拘束条件として使用する場合、マルチボディダイナミクス解析のSPCタイプの拘束は、弾性体のMBD-ESL最適化のみで利用可能です。荷重および境界条件の詳細については、適用される荷重とモーションおよび初速度の項をご参照ください。

解析に使用される単位系は、DTI, UNITSバルクデータエントリで定義することが可能です。

静解析

静解析は、平衡解析とも呼ばれます。静解析を実施するには、機構は少なくとも自由度1を有し、初期位置が指定されている必要があります。

運動学的拘束条件がすべて満足されている場合、自由度ゼロの機構は常に静的平衡状態にあるとみなされます。

ユーザーが指定した初期位置から始まり、機構内のどのボディにも平衡状態にない荷重またはトルクが存在せず、運動学的拘束条件がすべて満足されているよう、繰り返し計算を重ねた後、最終的な位置に到達します。速度と加速度はすべてゼロに設定されます。

マルチボディサブケースは、入力デック内で定義する必要があります。1つのモデル内で使用できるマルチボディサブケースは1つのみです。解析タイプ“Static”(静解析)は、MBSIMサブケースステートメントで参照される必要のあるMBSIMバルクデータエントリで定義されます。MBSIMバルクデータエントリは、積分法、終了時間およびタイムステップも定義します。代わりにMBSEQバルクデータステートメントを参照することによって、一連の異なるタイプの解析を定義することが可能です。荷重とモーションは、それぞれMLOADおよびMOTIONサブケースエントリで参照されます。初期速度はここでは適用されません。変位を拘束条件として使用する場合、マルチボディダイナミクス解析のSPCタイプの拘束は、弾性体のMBD-ESL最適化のみで利用可能です。荷重および境界条件の詳細については、適用される荷重とモーションおよび初速度の項をご参照ください。

解析に使用される単位系は、DTI, UNITSバルクデータエントリで定義することが可能です。

準-静的解析

準-静的解析は、与えられた時間範囲において指定の間隔でモデルに適用される静解析ステップのシーケンスです。

準-静的解析は、モデル内に時間に依存する外力やモーションが存在し、各タイムステップにおいて静的に平衡な位置を要求する場合に行ないます。準-静的解析を実施するには、機構は少なくとも自由度1を有し、ユーザーは初期位置を指定する必要があります。

最初のタイプステップについて、スターティングポイントとしてユーザー指定の初期位置が使用され、その他のすべてのタイプステップについては、その1つ前のタイムステップからの状態量が、そのタイプステップにおける平衡シミュレーションのスターティングポイントとして使用されます。機構内のどのボディにも平衡状態にない荷重またはトルクが存在せず、運動学的拘束条件がすべて満足されているよう、繰り返し計算を重ねた後、最終的な位置に到達します。各ステップについて、速度と加速度はすべてゼロに設定します。

マルチボディサブケースは、入力デック内で定義する必要があります。1つのモデル内で使用できるマルチボディサブケースは1つのみです。解析タイプ“Static”(静解析)は、MBSIMサブケースステートメントで参照される必要のあるMBSIMバルクデータエントリで定義されます。MBSIMバルクデータエントリは、積分法、終了時間およびタイムステップも定義します。代わりにMBSEQバルクデータステートメントを参照することによって、一連の異なるタイプの解析を定義することが可能です。荷重とモーションは、それぞれMLOADおよびMOTIONサブケースエントリで参照されます。初期速度はここでは適用されません。変位を拘束条件として使用する場合、マルチボディダイナミクス解析のSPCタイプの拘束は、弾性体のMBD-ESL最適化のみで利用可能です。荷重および境界条件の詳細については、適用される荷重とモーションおよび初速度の項をご参照ください。

解析に使用される単位系は、DTI, UNITSバルクデータエントリで定義することが可能です。

線形解析

線形解析では、荷重、モーション、剛性、または減衰の非線形性が線形化されます。

これらのモデルについて線形化を行うことが可能で、Matlabで使用、もしくはモデルの固有モード特性を得るためにモデルの準備を行います。機構システムについて線形解析を実行する際は、eig_info、Simulink MDLおよびMatlab ABCDマトリックスタイプのファイルが、オプションとしてエクスポートできるようになっています。

マルチボディサブケースは、入力デック内で定義する必要があります。1つのモデル内で使用できるマルチボディサブケースは1つのみです。解析タイプ“Static”(静解析)は、MBSIMサブケースステートメントで参照される必要のあるMBSIMバルクデータエントリで定義されます。MBSIMバルクデータエントリは、積分法、終了時間およびタイムステップも定義します。代わりにMBSEQバルクデータステートメントを参照することによって、一連の異なるタイプの解析を定義することが可能です。荷重とモーションは、それぞれMLOADおよびMOTIONサブケースエントリで参照されます。初期速度はここでは適用されません。変位を拘束条件として使用する場合、マルチボディダイナミクス解析のSPCタイプの拘束は、弾性体のMBD-ESL最適化のみで利用可能です。荷重および境界条件の詳細については、適用される荷重とモーションおよび初速度の項をご参照ください。

解析に使用される単位系は、DTI, UNITSバルクデータエントリで定義することが可能です。

ボディ

ボディは、質量および慣性モーメントを有するモデル要素です。ボディは、弾性体または剛体のいずれかであり得ます。

剛体は質量と慣性モーメントのみを有し、解析中に変形しません。初期速度を割り当てることが可能です。運動学解析、静解析および準-静的解析については、質量と慣性モーメントの情報は省略してもかまいません。運動学解析の変位、速度および加速度結果、または静解析と準-静的解析の変位結果には影響がありません。運動学解析、静解析または準-静的解析でジョイントの反力が対象となっている場合は、質量および慣性モーメントの情報は正しく設定しなければなりません。

弾性体は解析中に変形します。質量および慣性モーメントは、ボディを定義する構造の材料および形状によって決定されます。初期速度および減衰を割り当てることが可能です。弾性体は、下記の弾性体の変位 u を表す直交モードのセット A を用いて定式化されます:(3) u = A q

ここで q は、マルチボディダイナミクス解析により決定されるべきモーダル座標です。直交モードのセットは、区分モード合成(CMS)内で決定されます。モデルに応じ、特定の解析を使った処理ステップとしてCMSが実行できます(有限要素解析(スーパーエレメント))。弾性体については、変位、速度、加速度に加え、応力とひずみも計算することができます。

特別な剛体の1つとして、グラウンドボディがあります。グラウンドボディは全体座標系(慣性系)を示し、システムに自由度を加えません。これは、絶対静止状態にあります。グラウンドボディはいずれも1つに併合されます。

ボディは、有限要素モデルの形で定義されます。1つのボディは、特性、弾性要素、剛体要素、質量要素および節点のグループによって形成されます。

剛体は、PRBODYエントリで定義されます。質量および慣性モーメントは、形状エンティティによって決定されるか、もしくはPRBODYエントリで入力されます。

グラウンドボディは、GROUNDバルクデータエントリを用いて定義されます。

弾性体は、PFBODYバルクデータエントリを用いて定義されます。取り付け節点は自動的に決定されるか、もしくはPRBODYエントリでFLXNODEフラグを用いて定義されます。プロシージャは、マトリックスの直接アプローチの項に説明されているとおり、各PFBODYに適用されます。プロシージャはマルチボディダイナミクス解析タイプに完全に統合され、同じモデル内の複数の弾性体についてflexh3dファイル群が生成されます。パラメータPARAM, FLEXH3Dは、後続の実行用のflexh3dファイルの再生成を制御するために使用できます。

マーカー

マーカーは、形状ポイント位置においてボディに対して付加された座標系です。マーカーは、ジョイント、コンプライアント要素、荷重および出力要求の参照として使用されます。

マーカーは、1つの節点と1つの座標系を使って定義されます。MARKERバルクデータエントリが使用されます。

拘束

ジョイント、カプラ等の代表的な拘束、およびハイペアジョイントを定義することが可能です。ハイペアジョイントには、点-曲線、点-面、曲線-曲線の拘束が含まれます。これらのジョイントは、剛体同士、弾性体同士、または剛体と弾性体を結合できます。

マルチボディシステムは適切に拘束される必要があります。

ソルバーを実行する前に、モデル内の重複する拘束条件が削除されます。重複する拘束条件に関連した拘束荷重はゼロに設定されるため、モデル内のすべての拘束条件を確認し、それらが物理的に意味をなしていること、また、意図されたものではない重複した拘束条件がないことを確実にする必要があります。

ジョイントは、1つのボディに属する2つの節点を結合し、ボディ間のモーションを拘束します。ジョイントは、JOINTまたはJOINTMバルクデータエントリを用いて定義されます。変位を拘束条件として使用する場合、マルチボディダイナミクス解析のSPCタイプの拘束は、弾性体のMBD-ESL最適化のみで利用可能です。
ジョイントタイプ 拘束される自由度 節点数
平行移動 回転
固定(Fixed) 3 3 2
回転(Revolute) 3 2 3
並進(Translational) 2 3 3
円筒(Cylindrical) 2 2 3
ユニバーサル(Universal)(開発ソースのみ) 3 1 4
平面(Planar) 1 2 3
ボール(Ball) 3 0 2
直角(Perpendicular) 0 1 4
平行軸(Parallel axes) 0 2 4
オリエンテーション(Orientation) 0 3 2
面内(In-plane) 1 0 4
線内(Inline) 2 0 3
等速(Constant velocity) 3 1 4

カプラ-は、2つまたはそれ以上のジョイントの平行移動および / または回転モーション間を拘束します。カプラは、COUPLERバルクデータエントリを用いて定義されます。

ハイペアジョイントは、点、曲線および面を結合します。これらは、弾性体または剛体のいずれかであり得ます。
ハイペアジョイントのタイプ
バルクデータエントリ
点-曲線
MBPTCV
点-可変形曲線
MBPTDCV
点-可変形サーフェス
MBPTDSF
曲線-曲線
MBCVCV

これらのエントリは、パラメトリック曲線定義(MBPCRV)、可変形曲線定義(MBPTDCV)および可変形サーフェス定義(MBDSRF)を参照します。

接触

マルチボディダイナミクス用の接触モデリング機能は、剛体と剛体・弾性体間の複雑な接触を扱うことができます。

その定義のために、ユーザーは、1つのボディ上の異なる形状セットに接触する別のボディ上の形状を確認する必要があります。また、摩擦や反発係数といった接触材料プロパティを指定することも可能です。ソルバーは、指定された形状の互いへの接近の度合いを監視します。2つの形状セットの接触が起こった際、定義された物理プロパティに基づいた力が作成されます。これが、接触力を表わします。法線と摩擦力の両方がモデル化されます。ボディが分離されると、力はゼロになります。

接触機能の4つの主な機能を下記に示します:
  • 接触しているボディの形状のモデル化
  • 接触の検出
  • 接触力の適用
  • 接触の“事象”の終わりの検出と、接触力の削除

接触のタイプとして、2つの要素セット(SET)の接触として定義される剛体-剛体(MBCNTR)と、節点セット(SET)と可変形サーフェス間の接触として定義される剛体-弾性体(MBCNTDS)の2つがあります。可変形サーフェスは、MBDSRFバルクデータエントリによって定義する必要があります。

衝突の開始が検出されると、衝突検出アルゴリズムが接触している多角形を探します。これらから、ソルバーは下記を計算します:
  • 接触のポイントとサーフェス法線ベクトル
  • 垂直抗力および摩擦力の方向と大きさ

接触のポイントとサーフェス法線ベクトルが分かると、 ペナルティベースのポアソン接触垂直抗力モデルを用いて垂直抗力と摩擦力が計算されます:このモデルへの2つの主要な入力は、ペナルティと反発係数(COR)です。CORは、衝突するボディが近づく相対速度に対する離れる相対速度の比として定義されます。CORが1.0の場合は完全な弾性接触、0.0の場合は完全な塑性接触を意味します。ペナルティを剛性、CORを減衰と考えることができます。ペナルティの値が高すぎると数値的な問題を引き起こし、小さすぎると過剰な貫通を生じます。安定した正確な結果を得るには、これら2つのパラメータを多少調整することが必要とされます。

摩擦力は、下記の法則に従い、粘性力としてモデル化されます:(4) d = v t v s v d v s (5) f t = μ s + ( μ d μ s ) d 2 ( 3 2 d )
ここで、
v t
接触ポイントにおける現在の滑り速度
μ s
静的摩擦係数
μ d
動的摩擦係数
v s
摩擦係数に μ s の完全な値が使用されている時点においての静摩擦推移滑り速度
v d
摩擦係数に μ d の完全な値が使用されている時点においての動摩擦推移滑り速度
f t
適用されるべき摩擦力。摩擦力は、滑り速度の方向と逆です。

コンプライアント要素

コンプライアント要素は、ブッシュ、スプリングダンパーおよびビームです。

各コンプライアント要素について、剛性、減衰、初期荷重、連結点のマーカー等の関連情報を定義する必要があります。剛性および減衰の値は、実際のシステムを正しく表すもので、物理的に意味をなすものでなくてはなりません。そうでない場合、実際物理システムがスティフな系でなくとも、そのシステムを数値的にはスティフとしてしまうおそれがあります。

コンプライアント要素は、節点について、もしくはマーカーについて定義できます。

CMBEAMおよびCMBEAMMバルクデータエントリは、ビーム要素を定義します。

CMBUSHおよびCMBUSHMバルクデータエントリは、ブッシュ要素を定義します。ブッシュ要素には、線形剛性および減衰特性が含まれます。

CMSPDPおよびCMSPDPMバルクデータエントリは、スプリングダンパー要素を定義します。

適用される荷重とモーメント

荷重とモーメントは、システム内に存在することが可能です。荷重には、1つのポイントに適用される作用のみの荷重と、2つのポイントに適用される作用-反作用の荷重があります。

荷重成分は、定数値、カーブ、数式、またはユーザー定義のサブルーチンであることが可能です。

特別な荷重の1つに重力があります。重力加速度はボディに適用され、質量および加速度から重力は計算されます。

モーションは、システムへのスカラー拘束条件です。変位、速度および加速度タイプのモーションが可能です。モーションは、時間のみに依存し、解析中に変化するモデル内の他の要素には依存してはなりません。すなわち、各タイムステップにおいて時間のみが独立したパラメータであり、ソルバーは、モデルに関するその他のいかなる情報も使用せずに、式を評価できなくてはなりません。例えば、モーションは、モデル内の2点間の変位、速度または加速度の従属とすることはできません。

モーションは、定数値、カーブ、数式、またはユーザー定義のサブルーチンとして指定できます。モーションは、2つのポイント間のモーションまたはジョイントモーションとして定義されます。モーションがジョイントに適用される際、1つのジョイント自由度が時間の関数としてコントロールされます。モーションが2つのポイント間に適用される際は、ユーザー定義の方向に沿った動きが時間の関数として設定されます。

荷重は常に節点位置で定義され、1つの節点(作用のみ)または2つの節点(作用反作用)に適用できます。MBFRCバルクデータエントリは一定荷重を定義し、MBFRCCバルクデータエントリはカーブによって、MBFRCEバルクデータエントリは式によって荷重を定義します。

モーメントは常に節点位置で定義され、1つの節点(作用のみ)または2つの節点(作用反作用)に適用できます。MBMNTバルクデータエントリは一定モーメントを定義し、MBMNTCバルクデータエントリはカーブによって、MBMNTEバルクデータエントリは式によってモーメントを定義します。

GRAVは重力加速度を定義します。

MLOADバルクデータエントリは、荷重およびモーメントセットの組み合わせを求めるために使用できます。

モーションは、節点モーションまたはジョイントモーションとして定義できます。節点モーションは、1つの節点または2つの節点(相対モーション)に適用できます。MOTNGバルクデータエントリは一定荷重を定義し、MOTNGCバルクデータエントリはカーブによって、MOTNGEバルクデータエントリは式によって荷重を定義します。ジョイントモーションは、並進または回転ジョイントのみに適用できます。MOTNJバルクデータエントリは一定モーションを定義し、MOTNJCバルクデータエントリはカーブによって、MOTNJEバルクデータエントリは式によってモーションを定義します。MOTIONバルクデータエントリは、モーションセットの組み合わせを求めるために使用できます。

初速度

初速度は、運動方程式の問題定式化の一部です。初速度は、ボディ、もしくは円筒、並進および回転ジョイントに適用できます。

INVELBバルクデータエントリは、ボディの初速度を定義します。エントリINVELは、初速度セットの組み合わせを求めるために使用できます。

関数式

関数式は、時間、変位、速度、加速度、力などの関数として関係を定式化します。

式は、色々なところで使用することが可能です。式で形状ポイントが使用される場合、常にマーカーに関係しています。

式の定義には、MBVARバルクデータエントリが使用されます。

結果

マルチボディダイナミクス解析で得られる主要な結果は、ボディの運動です。

結果は、節点の変位、速度および加速度として表されます。弾性体については、変形、応力、ひずみなどの要素の結果がこれらの結果から導き出されます。これらの結果は、HyperViewなどの可視化ツールで、システム全体のアニメーションとして表示することが可能です。完全な節点結果とは別に、ソルバーは、HyperViewだけで表示可能な、マルチボディダイナミクス解析のみについてのアニメーションデータを、圧縮されたファイル形式で提供します。HyperViewは、典型的な変換および最終計算の多くを行います。

節点および要素結果のポスト処理の詳細については、有限要素解析の結果をご参照ください。

ボディの変位、速度、加速度、ジョイント荷重およびユーザー定義の式などの結果が時刻歴として書き出されます。マーカーの時刻歴は、リクエストに応じて書き出すことが可能です。これらの結果は、HyperGraphなどのグラフィカルプロッティングツールでプロットすることができます。

出力オプションの定義については、OptiStruct Reference GuideのI/O Options Sectionを、参照してください。結果ファイルの概要は、OptiStructによる結果出力にあります。

mbd_res
図 2.