OS-T:1940 MBD剛体接触

本チュートリアルでは、HyperMeshを使ってモデルの接触を作成します。

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

接触は、機構 / 汎用機械領域でかなり一般的なものです。MotionSolveは、接触および摩擦力の大きさと方向の計算に、ペナルティベースのポワソン接触力モデルを使用します。

曲線の五角形確動カムシステムが、接触の定義に用いられます。このシステムでは、湾曲した五角形が円内で回転し、スライダーを並進させます。

rd4040_rigid_body_model
図 1. 剛体モデル

HyperMeshの起動とOptiStructユーザープロファイルの設定

  1. HyperMeshを起動します。
    User Profilesダイアログが現れます。
  2. OptiStructを選択し、OKをクリックします。
    これで、ユーザープロファイルが読み込まれます。ユーザープロファイルには、適切なテンプレート、マクロメニュー、インポートリーダーが含まれており、OptiStructモデルの生成に関連したもののみにHyperMeshの機能を絞っています。

モデルのオープン

  1. File > Open > Modelをクリックします。
  2. 自身の作業ディレクトリに保存したfor_contact_tutorial.hmファイルを選択します。
  3. Openをクリックします。
    for_contact_tutorial.hmデータベースが現在のHyperMeshセッションに読み込まれます。

モデルのセットアップ

剛体(PRBODY)の生成

PRBODYは、マルチボディシミュレーションのための剛体定義です。PRBODYは剛体を、有限要素のプロパティ、要素、節点のリストとは別に定義します。

モデルには、ground bodyとは別に、スタンド、スライダー、ドライバー、ペンタゴン、サークルの5つのボディがあります。事前定義された自由節点が、これらのボディとジョイントの定義に用いられます。

  1. Analysisページからパネルbodiesをクリックします。
  2. createサブパネルを選択します。
  3. body=欄にstandと入力します。
  4. type=をクリックしPRBODYを選択します。
  5. プロパティセレクターを使って、<uicontrol>shells</uicontrol>を選択します。
  6. nodesをダブルクリックし、by idを選択して2, 19391, and 19402と入力します。
  7. createをクリックします。
  8. 残りのコンポーネントについて、PRBODYを定義します。
    body = type = props free nodes
    Slider PRBODY Slider2 4, 19399
    Driver PRBODY Driver3 19392, 19395
    Pentagon PRBODY Pentagon4 4246, 19396
    Circle PRBODY Circle5 414, 19400
    グラウンド GROUND 必要なし 19401
  9. returnをクリックします。

ジョイントの作成

ここでは、このモデルに必要な全てのジョイントを作成します。

最初のジョイントはスタンドとグラウンドの間の固定ジョイントです。2番目に必要なジョイントはスタンドとドライバーの間の回転ジョイントで、3番目のジョイントはスライダーをスタンドに結合する並進ジョイント、4番目のジョイントはドライバーとペンタゴンの間の回転ジョイント、5番目のジョイントがスライダーとサークルの間の固定ジョイントです。
DOF = 5*6 - (5+5+6+6+5+1) = 2
ジョイントタイプ 並進自由度の除去 回転自由度の除去 自由度の除去総数
回転 3 2 5
固定(Fixed) 3 3 6
並進 2 3 5
Motion (rev) 3 2 1

rd4040_joint_locations
図 2. モデル中のジョイント位置
  1. コンポーネントjointsを作成します。
    1. Modelブラウザで右クリックしコンテキストメニューからCreate > Componentを選択します。
      デフォルトのコンポーネントテンプレートがエンティティエディターに表示されます。
    2. Nameにjointsと入力します。
  2. メニューバーからJointsをクリックします。
    Jointsパネルが開きます。
  3. スタンドとグラウンドとの間に固定ジョイントを作成します。
    1. joint typeをfixedに設定します。
    2. first terminalとしてnode ID 19401を、second terminalとしてnode ID 19402を選択します。
      ヒント: first terminalとsecond terminalは、ジョイントに結合されるボディに対応します。節点19401と19402は一致しています。optionsパネル> graphicsサブパネルで重複節点をピックすることで、それら重複節点をモデリングウィンドウで選択します。
    3. createをクリックします。
  4. スライダーとサークルとの間に固定ジョイントを作成します。
    1. joint typeをfixedに設定します。
    2. first terminalとしてnode ID 19399を、second terminalとしてnode ID 19400を選択します。
    3. createをクリックします。
  5. スタンドとドライバーとの間に回転固定ジョイントを作成します。
    1. joint typeをrevoluteに設定します。
    2. first terminalとしてnode ID 19391を、second terminalとしてnode ID 19392を選択します。
    3. first orientationセレクターをvectorに設定し、y-axisを選択します。
    4. createをクリックします。
  6. ドライバーとペンタゴンボディとの間に回転固定ジョイントを作成します。
    1. joint typeをrevoluteに設定します。
    2. first terminalとしてnode ID 19395を、second terminalとしてnode ID 19396を選択します。
    3. first orientationセレクターをvectorに設定し、y-axisを選択します。
    4. createをクリックします。
  7. スライダーとスタンドとの間に並進ジョイントを作成します。
    1. joint typeをtranslationalに設定します。
    2. first terminalとしてnode ID 2を、second terminalとしてnode ID 4を選択します。
    3. first orientationセレクターをvectorに設定し、x-axisを選択します。
    4. createをクリックします。
  8. returnをクリックしてパネルを終了します。

接触の定義

ここでは、事前定義された要素セットを使って、接触をモデルに付加します。要素セットは、Analysisページのentity setsで要素のセットを選択することにより定義されます。ペンタゴンボディの表面の要素セットの名前はmain、サークルボディの表面の要素セットの名前はsecondaryです。
  1. 接触を作成します。
    1. Analysisページからパネルinterfacesをクリックします。
    2. createサブパネルを選択します。
    3. name =欄にContactと入力します。
    4. type=をクリックしMBCNTRを選択します。
    5. createをクリックします。

    rd4040_interfaces
    図 3.
  2. 事前定義された要素セットを接触に付加します。
    1. addサブパネルを選択します。
    2. mainをsetsに設定し、セットセレクターを使ってmasを選択します。
    3. secondaryをsetsに設定し、セットセレクターを使ってSlaを選択します。
    4. updateをクリックします。

    rd4040_interfaces2
    図 4. Interfaces パネル – 接触
  3. 接触のカードイメージを編集します。
    1. card imageサブパネルを選択します。
    2. editをクリックします。
    3. Card Imageダイアログで、CNFTYPEをPOISSONに設定します。
    4. 下の図に示す値を入力します。

      rd4040_mbcntr_v11
      図 5.
    5. returnをクリックします。
  4. returnをクリックし、interfacesパネルを終了します。

モーションの拘束の定義

ここでは、機構を駆動するモーションを作成します。
  1. メニューバーからBCs > Create > Constraintsをクリックし、Constraintsパネルを開きます。
  2. nodesをダブルクリックし、by idを選択して、節点ID19392を入力します。
  3. dof5を除くすべての自由度からチェックマークを外します。dof=欄に1と入力します。

    rd4040_constraints
    図 6. Constraints パネル - Motion
  4. load types =をクリックしMOTNG(V)を選択します。
  5. createをクリックし、拘束を生成します。
  6. returnをクリックし、Analysisページに戻ります。
新しい荷重コレクター(auto1)がモデルに追加されました。モーションはこの荷重コレクターに割り当てられ、 OptiStructサブケースで参照されて用いられます。

荷重コレクターの作成

モデルに与える重力荷重とマルチボディシミュレーション用パラメータを指定するためのMBSIMバルクデータカードをこの演習で作成します。

  1. Modelブラウザで右クリックしコンテキストメニューからCreate > Load Collectorを選択します。
    デフォルトの荷重コレクターがエンティティエディターに表示されます。
  2. Nameにgravityと入力します。
  3. Colorをクリックし、カラーパレットから色を選択します。
  4. Card Imageを<uicontrol>MBDCRV</uicontrol>に設定します。
  5. 以下に示す値を入力します。


    図 7.
  6. もう1つの荷重コレクターを作成します。
    1. NameにSIMと入力します。
    2. Card Imageに、MBSIMを選択します。
    3. 以下に示す値を入力します。


      図 8.

荷重ステップの作成

  1. Modelブラウザで右クリックしコンテキストメニューからCreate > Load Stepを選択します。
  2. NameにDynamicと入力します。
  3. Analysis typeを<uicontrol>Linear Static</uicontrol>に設定します。
  4. MLOADを定義します。
    1. MLOADに、Unspecified > Loadcolをクリックします。
    2. Select Loadcolダイアログでgravityを選択し、OKをクリックします。
  5. MBSIMを定義します。
    1. MBSIMに、Unspecified > Loadcolをクリックします。
    2. Select LoadcolダイアログでSIMを選択し、OKをクリックします。
  6. MOTIONを定義します。
    1. MOTIONに、Unspecified > Loadcolをクリックします。
    2. Select Loadcolダイアログでauto1を選択し、OKをクリックします。

Submit the Job

  1. From the Analysis page, click the OptiStruct panel.

    OS_1000_13_17
    図 9. Accessing the OptiStruct Panel
  2. Click save as.
  3. In the Save As dialog, specify location to write the OptiStruct model file and enter for_contact_tutorial for filename.
    For OptiStruct input decks, .fem is the recommended extension.
  4. Click Save.
    The input file field displays the filename and location specified in the Save As dialog.
  5. Set the export options toggle to all.
  6. Set the run options toggle to analysis.
  7. Set the memory options toggle to memory default.
  8. Click OptiStruct to launch the OptiStruct job.
If the job is successful, new results files should be in the directory where the for_contact_tutorial.fem was written. The for_contact_tutorial.out file is a good place to look for error messages that could help debug the input deck if any errors are present.
The default files written to the directory are:
for_contact_tutorial.html
HTML report of the analysis, providing a summary of the problem formulation and the analysis results.
for_contact_tutorial.out
OptiStruct output file containing specific information on the file setup, the setup of your optimization problem, estimates for the amount of RAM and disk space required for the run, information for each of the optimization iterations, and compute time information. Review this file for warnings and errors.
for_contact_tutorial.h3d
HyperView binary results file.
for_contact_tutorial.res
HyperMesh binary results file.
for_contact_tutorial.stat
Summary, providing CPU information for each step during analysis process.

There are a few more files written to the directory with the name for_contact_tutorial_mbd.

結果の表示

このステップでは、HyperMeshOptiStructパネルで起動するHyperView内で結果を可視化します。

HyperViewは有限要素解析(FEA)、マルチボディシステムシミュレーション、ビデオと工学データのための完全なポストプロセッシングと表示の環境です。

  1. AnalysisページのOptiStructパネルから、をクリックします。

    Load modelとLoad resultsの右側入力欄にfor_contact_tutorial.h3dのパスとファイル名が表示されます。これは、.h3dフォーマットにはモデルと結果データの両方が含まれているためです。

    モデルと結果は現在のHyperViewウィンドウに読み込まれます。

  2. <uicontrol>Axis</uicontrol>ツールバーアイコンresultsContour-16をクリックします。
  3. Results type:の下で、Displacement(v)を選択します。
  4. Applyをクリックします。
  5. playback controlsの横のパネル内にあるAnimation Controlsを使ってアニメーションを開始 / 停止します。

    animation_toolbar
    図 10.
    1. Animate ModeがanimationTransient-24(Transient)にセットされていることを確認します。
    2. Start/Pause Animationアイコンをクリックし、アニメーションを開始します。
    3. アニメーションの再生中に、一番下のスライダを使って、アニメーションのスピードをコントロールします。
    4. Start/Pause Animationアイコンを再度クリックし、アニメーションを停止します。