3Dメッシュ間の接触のシミュレーション

チュートリアルレベル:中級‘ 本チュートリアルでは、MotionSolveでの3D剛体接触機能、およびシミュレーション中に接触するボディのサーフェスメッシュを用いたメッシュ間の接触アプローチの使用について学習します。

サーフェスメッシュは、3D剛体のサーフェスを正確に表現する内部的に結合された三角形のセットです。MotionSolveはそのようなサーフェスメッシュに関して所定の条件を規定しています。
  • 各メッシュコンポーネントは、閉空間を形成している必要があるすなわちメッシュには、オープンエッジ(1つの要素のみの一部分であるエッジ)やT接合(共通するエッジで結合しているT字形を成す2つの要素)を含んでいてはならない
  • メッシュは均等なサイズでなければならない
  • 要素のサーフェスの法線は、接触の方向を指している
本チュートリアルでは、以下の項目について学習します:
  • 接触のシミュレーションに適したグラフィック設定のCAD形状をインポート
  • マルチボディモデル内のメッシュ化された形状間の3D剛体接触をセットアップ
  • 過渡解析を実行し、それらの形状間の接触を計算
  • 自動的に生成されたレポートを用いて結果をポスト処理

本チュートリアルでは、溝付きリンクモデルを使用します。

この種の3D剛体のメッシュ化表現についてMotionSolveは、複数のサーフェスメッシュ間の貫通を検知し、続いて貫通の深さと接触力を計算する数値的衝突エンジンを使用します。

このアプローチを用いて解析され得る3D接触の適用例は、数多くあります(ギア、カム、接触する部品を含んだ機構など)。
溝付きリンクモデル

溝付きリンク機構(スコッチヨーク機構とも呼ばれる)は、入力の回転運動を、溝付きリンクまたはヨーク部の連続的または断続的な並進運動に変換します。運動は、接触する機構のパート間の接触力を介して伝えられます。接触垂直抗力と摩擦力は共に、運動の伝達に関与し得ます。

このような機構は、バルブアクチュエーター、エアコンプレッサー、一部のレシプロエンジンやロータリーエンジンなどに共通して応用されます。下の図は、本チュートリアルでモデル化される溝付きリンク機構を表しています。

1. 溝付きリンク機構. 図に示すとおり、カムが溝付きリンクに接触しており、ピンが溝と接触します。


開始する前に、このチュートリアルで使用するファイルを作業ディレクトリにコピーします。

CAD形状のMotionViewへの取り込み

  1. 新しいMotionViewセッションを開始します。
  2. メニューバーからFile > Import をクリックし、Geometry or FEM using HyperMeshを選択します。
    2. HyperMeshオプションを使用してジオメトリまたはFEMを作成


    Import CAD or FE using HyperMeshダイアログが表示されます。
  3. このダイアログ内で、以下のとおり設定します:
    1. Import Optionsで、Import CAD or Finite Element Model with Mass and Inertiasを選択します。
    2. Input FileドロップダウンメニューからParasolidを選択します。
    3. ファイルブラウザアイコンをクリックして自身の作業ディレクトリに進み、入力CAD形状としてslotted_link.x_tを選択します。
      Output Graphic Fileテキスト欄には自動的に同じパスと名称が入力されますが、接尾部に_graphic.h3dの拡張子が付きます。このファイルは、モデル内のグラフィックスの指定に用いられます。希望する場合は、グラフィックH3Dの名称やパスを変更してもかまいません。
    4. をクリックし、Surface DataセクションのMeshing Optionsを展開表示します。Allow HyperMesh to specify mesh optionsが選択されていることを確認します。
    5. Control mesh coarseness for contacts のチェックボックスを有効にします。スライダーを5にセットします。
      このオプションを選択することで、HyperMeshに、MotionSolveでの3D接触に使用できるようCAD形状をメッシュするよう指示します。
      注: スライダーは、生成されるメッシュの粗さをコントロールします。1が最も粗く、10が最も細かいメッシュになります。メッシュが非常に粗い場合、三角形メッシュが大きいため、CADサーフェスの湾曲が正しく表現されない可能性があります。一方、メッシュが非常に細かい場合、三角形メッシュは極端に小さいため要素数が多くなり、その結果解析時間が長くかかります。メッシュの細かさと、モデル化の目標を満足するパフォーマンスとが上手く両立できれば、それが最良です。
      この時点で、Import CAD or FE using HyperMeshダイアログは以下のようになっているはずです:
      3. Import CAD or FE using HyperMeshダイアログでの選択


  4. OKをクリックします。
    MotionViewはバックグラウンドでHyperMeshを起動し、形状をメッシングしてその体積のプロパティを計算します。Import CADダイアログが表示されます。このダイアログでは、CADファイル内のコンポーネント、およびそれらの質量、密度、体積のプロパティを確認することができます。
    4. Import CAD Using the Import CAD or FE Utilityダイアログを使用した CADインポートでのCADコンポーネントリスト


  5. OKをクリックし、Message Logを破棄します。
    変換された形状が、目視のためにMotionViewに読み込まれます。ディスプレイをメッシュ化された表現に切り替えることにより、サーフェスメッシュを検証することができます。
  6. モデルブラウザから、Graphicsをクリックして、利用可能なボディグラフィックスのリストを開きます。
  7. Graphics > Linkを選択します。
  8. エンティティエディターで、Mesh > Mesh Lines をクリックし、 ApplyOKをクリックします。
    5. 入力CADジオメトリのコンポーネント全てにメッシュラインを表示


    残りのグラフィックスについて、手順 7-8までを繰り返します。
    • Pin
    • Cam
    • Slotted_Link
    6. 入力CAD形状のコンポーネント全てにサーフェスメッシュを表示


ジョイントと強制運動の作成

この時点では、モデルには下記のボディとそれぞれ関連付けされたグラフィックが含まれています。

エンティティ名 エンティティタイプ 説明
Slotted_Link Rigid Body 溝付きリンクボディ
Cam Rigid Body カムボディ
Pin Rigid Body ピンボディ。カムボディとピンボディとで溝付きリンクを成す
Link Rigid Body ピンとカムの間のコネクターボディ
Slotted_Link Graphic 溝付きリンクボディを表すグラフィック。これは、メッシュ化されたグラフィックです
Cam Graphic カムのボディを表すグラフィック。これは、メッシュ化されたグラフィックです
Pin Graphic ピンボディを表すグラフィック。これは、メッシュ化されたグラフィックです
Link Graphic リンクボディを表すグラフィック。これは、メッシュ化されたグラフィックです

Pin、Link、およびCamの各ボディは互いに固定されており、カム中央のGround Bodyに置かれます。溝付きリンクは、Ground Bodyに対し並進が可能です。

  1. 下の一覧の詳細のとおり、ジョイントを作成します:
    S.No ラベル タイプ Body 1 Body 2 Origin Alignment Axis
    1 Pin Link Fix 固定ジョイント Pin Link Pin CG
    2 Link Cam Fix 固定ジョイント Link Cam Link CG
    3 Cam Pivot 回転ジョイント Cam Ground Body 全体座標系の原点 Global Y
    4 Slotted Link Slider 並進ジョイント Slotted_Link Ground Body Slotted_Link CG Global X
  2. DisplacementタイプのCam Pivotジョイント上のモーションを適用し、`360d*TIME`と定義します。
  3. モデルをslotted_link_mech.mdlとして保存します。

衝突する形状間の接触の定義

本ステップでは、下記の間の接触を定義します:
  • CamとSlotted_Link
  • PinとSlotted_Link
  1. Model(モデル)リボンから、エンティティツールバーのContacts(接触)アイコンをクリックします。
    Add Contactガイドバーが表示されます。
  2. 接触タイプは、3Dを指定します。
  3. Body 1をCamに、Body 2をSlotted_Linkに設定し、Createボタンをクリックします。これにより自動的に、これらのボディに付加している各グラフィックが選択されます。
    7. Contactsガイドバー


  4. LabelCam Slotted LinkContactに変更します。
    注: 形状を正しく定義するためには、法線が正しい方向を向き、形状内にオープンエッジまたはT接合が存在しないことが重要です。
  5. エンティティエディターHighlight contact sideチェックボックスを有効にします。これにより、サーフェス法線の方向に従って、この接触力要素について指定されている形状が色づけされます。両形状共、完全に赤く表示されていることを確認します(はっきり視認するには、他のグラフィックを非アクティブにし、その後再度アクティブ化する必要があるかもしれません)。
    8. Highlight Contact Sideチェックボックス有効


    9. 正しくないサーフェス法線のチェック


    赤色の表示はサーフェスの法線で、それが希望する接触の側であることを表します。

  6. オープンエッジまたはT接合がないかをチェックします。関連するグラフィックスのメッシュにオープンエッジまたはT接合が存在する場合、Highlight mesh errorsオプションがアクティブとなります。アクティブとなっている場合は、Highlight mesh errorsのチェックボックスを選択します。
    形状内のオープンエッジまたはT接合がハイライト表示されます。
    この接触エンティティ内の関連するグラフィックには、メッシュのエラーはありません。したがって、No mesh errorsが表示され、グレイアウトされています。
    10.


    形状はクリーンで、モデル内にオープンエッジやT接合は存在しません。

    注: モデルに追加される各接触エンティティについて、MotionViewは自動的にタイプExpressionの出力を生成します。これは、その接触要素の接触力をプロットするために使用できます。
  7. 接触のプロパティを指定します。Propertiesタブの下にNormal ForceおよびNormal ForceおよびFriction Forceプロパティサブタブが表示されます。このモデルでは、下記のプロパティをもつImpactモデルを使用します:
    Normal Force
    タイプ
    Impact
    Stiffness
    1000.0
    Exponent
    2.1
    Damping
    0.1
    Penetration Depth
    0.1
    Friction Force
    タイプ
    Disabled
    11. Contact エンティティエディター - プロパティグループ


    注: MotionSolveはいくつかの接触方法をサポートしています。各方法の詳細とそれらの特性については、Force: Contactをご参照ください。
  8. 接触力がサーフェスメッシュに付与されている場所を変更します。
    1. Advancedタブを選択します。
    2. Force Computed atドロップダウンメニューからNodeを選択します。
    12. 節点の計算場所の変更


    注: デフォルトでは、接触力はサーフェスメッシュの各要素の中央にかけられています。この設定はほとんどの接触の適用例で満足できるものですが、代わりに接触力をサーフェスメッシュの節点上に付与するようMotionSolveに強制することも可能です。これは幾何学的エッジが接触している場合に便利ですが、計算性能が若干低下します。
  9. 手順 1- 8を繰り返し、Pinボディ(Body I)とSlotted_Link(Body J)の間の接触を作成します。この接触のラベルをPin Slotted Link Contactとなるよう設定してもよいでしょう。上のStep 8にリストされているのと同じ接触のプロパティを定義します。
  10. 接触力要素Pin Slotted Link Contactについては、2つの衝突ボディ間で最初に接触が起こる正確な時間をMotionSolveが求めるように指定します。
    1. Advancedタブを選択します。
    2. Find precise contact eventボックスをチェックします。
    3. テキスト欄のMax step size scale factorで、0.01を指定します。
      13. Contactエンティティエディター - Advanced Group


      注: Find precise contact eventオプションでMotionViewは自動的にセンサーエンティティを追加します(ソルバーデック内でSensor_Eventにより定義される)。これにはzero_crossing属性が含まれています。シミュレーション中に接触力が初めて検知されると(荷重値ゼロクロッシング)、MotionSolveは指定の係数でステップサイズを減らし、接触のイベントをより正確に決定するよう試みます。

過渡シミュレーションのセットアップとモデルの実行

この時点で、このモデルについて過渡解析のセットアップを行う準備が整っています。

  1. モデルブラウザからDefault Analysisをクリックし、エンティティエディターを表示します。
  2. Analysis Parametersグループに移動し、シミュレーションタイプがTransientに設定されていることを確認し、終了時間を 3.0秒に設定します。
  3. 正確な結果を得るには、デフォルトよりも小さいステップサイズを指定します。Dynamic Settingsグループに移動し、Maximum Step Sizeを 1e-3に設定します。
    14. Maximum Step Sizeを指定します。


  4. Analyze(解析)リボンから、Run(実行)アイコンの横のAnalysis Settingsをクリックし、Run Motion Analysisダイアログを開きます。
  5. Run Offlineオプションを選択し、実行名と結果を書き込むディレクトリを指定し、Runをクリックします。
    過渡解析が開始されます。
    15. 出力ファイル名を指定し、モデルを実行


    HyperWorks Solver Viewダイアログに、この接触計算にはメッシュベースの接触法が使用されることを確認するソルバーからのメッセージが表示されます。
    16. 解析にメッシュベースの接触法が使用されることの確認


    ログファイルには、センサーに関連したメッセージが含まれます。これは、モデル内の第2の接触要素の正確な接触イベントを求めた結果です。
    17. センサーのアクティビティに関連したソルバーメッセージ


結果のポスト処理

シミュレーションが完了したら、MotionSolveは、最大貫通深さおよび最大接触力で順位付けされた上位5つの接触ペアをリストしたサマリーテーブルを画面上およびログファイル内の両方に出力します。これは、結果(ABF、MRF、PLT、またはH3D)ファイルを読み込む前でも、モデルが意図したとおりに動作していることを確認するために使用できるので便利です。またこのテーブルを用いて、貫通の深さと接触力が意図された制限内に収まっているかを確認することもできます。このシミュレーションについてのサマリーテーブルを以下に示します:
18. 接触の概要テーブル


  1. ソルバーウィンドウを閉じます。
  2. 結果の統合されたレポートを見るには、Analyze(解析)リボン Reports(レポート)をクリックします。
    これより以前にMotionViewを用いて完了しているシミュレーションのリストが表示されます。
  3. 本シミュレーションに関連しているContact Reportを選択します。
  4. OKをクリックします。
    19. 接触のレポートの作成


    現在のセッションに複数のページが作成されます。

H3Dを介した接触力の確認

最初のHyperViewページ(セッションでは2番目)には、接触領域にかかる接触力のベクトルアニメーションが表示されます。これをモデリングウィンドウではっきりと見るには、1つまたは複数のパートの表示をオフにします。これは、下の図に示すとおりです。

20. 接触領域における接触力ベクトル


注: 全体を確認するには、荷重を大きさもしくは係数によって均等にスケーリングする必要があるかもしれません。倍率を変更するには、VectorパネルからDisplayタブをクリックし、Size scalingオプションを適宜変更します。

接触の概要

Page Navigationアイコンを使って、次のページに進みます。

セッション内の3番目のページでは、接触シミュレーションの全体的な概要を知ることができます。このページには、サマリーを集計したテーブルと、シミュレーション全体の貫通量を表示するHyperViewウィンドウが含まれています。このテーブルでは、最大貫通深さと最大力をまとめています。このページでは、モデル内で起こっている接触現象を俯瞰的に見ることができます。貫通深さのコンターは、シミュレーションの全期間中に接触しているすべての領域をハイライト表示した静止画像です。

21. 接触の概要ページ


H3Dを介した貫通の深さの可視化

次のページに進みます。

セッション(HyperView)内の4番目のページでは、シミュレーションの過程での貫通の深さを視覚化することができます。

  1. Start/Pause Animationアイコンをクリックし、結果をアニメーション表示します。
  2. グラフィックス表示をTransparent ElementsおよびFeature Linesにセットします。
    22. 表示をTransparent Elements and Feature Linesにセット


    下図に示すように、アニメーションが表示されます。
    23. Cam BodyとSlotted Linkの間の貫通


MotionSolve出力の可視化

  1. Vectorパネルに移動します、
  2. Result typeにドロップダウンメニューから結果のタイプを選択し、Applyをクリックします。
    これで、モデル内の関連するグラフィックのすべてについて、選択した結果タイプがプロットされます。それらを見るには、荷重ベクトルをスケーリングする必要があるかもしれません。
    24. 接線力のスケーリング


    一例として下の図では、点の滑り速度のベクトルがプロットされています:
    25. 点の滑り速度のベクトル


ABFを介した接触力のプロッティング

で次のページに進みます。これが、セッション内の最後のページです。
MotionViewで新しい接触エンティティが作成される度に、対応する出力荷重リクエストが生成され、これは、接触エンティティ内で指定されているグラフィック間の接触力のプロッティングに使用することができます。これらはHyperGraphで可視化が可能です。接触レポートの最後のページは、モデル内の全接触要素について、接触力の大きさをプロッティングします。
26. 全接触力の大きさ


他の出力リクエストの手動によるプロッティング

  1. Add Pageをクリックし、クライアントをHyperGraph > Line Chartに変更します(まだ選択されていない場合)。
    27. ページの追加


  2. シミュレーションモデルのABF出力ファイルを開きます
  3. Y Sourceで、TypeにExpressionsを選択し、Requestsウィンドウでリクエストを選択します。
    RequestにREQ/70000003 Pin Slotted Link Contact on Slotted_Link (Force – Pin Slotted Link Contact)を選択し、Component to plotにF4を選択します。
    28. ABFファイルを開き、要求された出力を選択


  4. Plotをクリックします。
    29. HyperGraphでの接触力の可視化


  5. セッションをslotted_link.mvwとして保存します。

まとめ

本チュートリアルでは、CAD形状から良好なメッシュ表現を生成する方法を学びました。さらに、メッシュ化された形状間の接触のセットアップ方法を理解しました。また、形状を検証し、サーフェスの法線が正しい向きにあり、オープンエッジやT接合がないことが確認できました。

また、過渡解析をセットアップして、これらの形状間の接触力を計算し、接触力リクエストのプロッティングに加え、結果をベクトルプロットとコンター図でポスト処理しました。