OS-T:5050 4節バーリンク機構

本チュートリアルでは、HyperMeshでマルチボディダイナミクス(MBD)構造最適化問題をセットアップし、OptiStructで形状最適化ジョブを実行します。

開始する前に、このチュートリアルで使用するファイルを作業ディレクトリにコピーします。
システムの質量は12個の形状設計変数をコントロールすることによって最小化し、応力を許容し得る値より小さくします。左側のリンクは角速度が50 rad/secである駆動リンクです。単位: kg、N、cm、s

リンク機構
図 1. 4節バーリンク機構
本チュートリアルにおける最適化問題の設定は以下の通りです:
目標
質量の最小化
制約条件
応力の上限
設計変数
3つの弾性体の形状設計変数

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

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

モデルのオープン

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

モデルのセットアップ

駆動モーションの定義

本チュートリアルでは、ジョイント位置における駆動モーションMOTNJが定義されます。ただし、MOTNJは現時点ではHyperMeshでサポートされていないため、カードは手動で入力する必要があります。
  1. Analysisページからパネルcontrol cardsをクリックします。
  2. Card Imageダイアログで、BULK_UNSUPPORTED_CARDSをクリックします。
  3. Control Cardダイアログで、以下を入力し、OKをクリックします。

    5050_control_card

    5050_rev_66299
    図 2. 50 Rad/sの一定速度がジョイント66299に適用されます。
  4. returnをクリックします。

境界条件とMOTIONの更新

  1. ModelブラウザのLoad Stepsフォルダーで、SUBCASE1をクリックします。
    エンティティエディターが開き、荷重ステップカードの詳細が表示されます。
  2. Analysis typeをMultibody dynamicsに設定します。
  3. MBSIMにMBSIM1を選択します。
  4. SUBCASE_UNSUPPORTEDを選択します。
  5. table_pencilをクリックし、MOTION = 1と入力します。

Submit the Job

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

    OS_1000_13_17
    図 3. Accessing the OptiStruct Panel
  2. Click save as.
  3. In the Save As dialog, specify location to write the OptiStruct model file and enter 4bar_design_analysis 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 4bar_design_analysis.fem was written. The 4bar_design_analysis.out file is a good place to look for error messages that could help debug the input deck if any errors are present.

結果の表示

  1. OptiStructパネルから、HyperViewをクリックします。
    HyperViewが起動され、結果が読み込まれます。HyperViewにモデルと結果が正しく読み込まれたことを示すメッセージウィンドウが現われます。
  2. ResultsツールバーでresultsContour-16をクリックし、Contour panelを開きます。
  3. Result typeをElement Stresses (2D & 3D) (t)に設定します。
  4. Applyをクリックします。
  5. Legendタブをクリックします。
  6. Edit Legendをクリックします。
  7. Typeを Dynamic scaleに設定します。
    希望するレジェンドを作成するために、その他のプロパティをここで変更して構いません。
  8. Page Controlsツールバーで、ページレイアウトを縦2つのウィンドウを作成するpageLayout2Vertical-24に切り替えます。
  9. 2つ目のウィンドウをクリックしてアクティブにします。
  10. クライアントセレクターから、clientHyperGraph-24HyperGraph 2D)を選択します。
  11. 1つ目のウィンドウをクリックしてアクティブにします。
  12. AnnotationsツールバーでannotateMeasures-24をクリックし、Measuresパネルを開きます。
  13. Measure Groupsリストで、Dynamic MinMax Resultを選択します。
  14. Resolvedの下のリストで、Maxをクリックします。
  15. Create Curveをクリックします。
  16. Place curve onをExisting Plotに設定します。
    このレポートのプロットウィンドウのリストが表示されます。
  17. Live linkを選択します。
  18. window 2をクリックしてアクティブとします。
  19. Applyをクリックします。
    Maximum von Mises stress (t)がプロットされます。

    5050_mbd_stress
    図 4. MBD応力結果(Max = 56996 N/cm2)
  20. 最適化された結果に適用されるよう、テンプレートとしてこのファイルを保存します。
    1. メニューバーFile > Save As > Sessionをクリックします。
    2. Save Session Asダイアログで、ファイルをStress_report.tplとして保存します。
  21. アプリケーションの上部右側にあるpagePrevious-24/pageNext-24をクリックしてPage 1とHyperMeshクライアントに戻ります。

最適化のセットアップ

構造解析用境界条件の定義

このモデルの弾性体の構造解析および最適化は、ESL最適化で実行されます。したがって、弾性体の境界条件を定義する必要があります。
  1. 荷重コレクターBCforOptを作成します。
    1. Modelブラウザで右クリックしコンテキストメニューからCreate > Load Collectorを選択します。
      デフォルトの荷重コレクターがエンティティエディターに表示されます。
    2. NameにBCforOptと入力します。
    3. Colorをクリックし、カラーパレットから色を選択します。
    4. Card ImageをNoneに設定します。
  2. coincident pickingを有効にします。
    1. メニューバーPreferences > Graphicsをクリックします。
    2. coincident pickingを選択します。
    3. returnをクリックします。
  3. 境界条件の作成
    1. Analysisページからパネルconstraintsパネルをクリックします。
    2. すべての自由度(1から6まで)を選択します。
      各弾性体ボディの6つの剛体のモーションを削除するために、すべての自由度(1から6まで)は固定されていなければなりません。constraintsパネルでdof1からdof6までにすべてチェックマークが入っていることを確認してください。
    3. コンポーネントLeftの下部スパイダーの中央をクリックします。1つの位置に2つの節点番号が確認できるはずです。節点番号288を選択します。
    4. コンポーネントMiddleの左スパイダーの中央をクリックし、節点番号143を選択します。
    5. コンポーネントRightの下部スパイダーの中央をクリックし、節点番号441を選択します。
    6. load typesをSPCに設定します。
    7. createをクリックします。

    6dof
    図 5. 剛体モーションを拘束するために制約されるべき節点

予め定義されているMBDサブケース内の境界条件とMOTIONの更新

  1. ModelブラウザのLoad Stepsフォルダーで、SUBCASE1を選択します。
    エンティティエディターが開き、荷重ステップカードの詳細が表示されます。
  2. Analysis typeをMulti-body dynamicsに設定します。
  3. MBSIMにMBSIM1を選択します。
  4. SPCにBCforOptを選択します。

形状設計変数の定義

形状基底ベクトルは、このデータベース内に既に作成されています。形状基底ベクトル作成の詳細については、HyperMorphに関連した他のチュートリアルをご参照ください。ここでは、予め定義されている形状基底ベクトルで形状設計変数を定義します。
  1. Analysisページからパネルoptimizationをクリックします。
  2. shapeパネルをクリックします。
  3. desvarサブパネルを選択します。
  4. single desvarからmultiple desvarsに切り替えます。
  5. 形状セレクターを使用し、すべての形状を選択します。
  6. lower bound=欄に-1.0と入力します。
  7. upper bound=欄に1.2と入力します。

    5050_bounds
    図 6.
  8. createをクリックします。
  9. returnをクリックし、optimizationパネルに移動します。
12個の設計変数が作成されます。

最適化の応答の作成

  1. Analysisページからoptimizationをクリックします。
  2. Responsesをクリックします。
  3. モデルの全体積について定義される質量の応答を作成します。
    1. responses=欄に、massと入力します。
    2. response typeの下で、massを選択します。
    3. regional selectionをとno regionidに設定します。
    4. createをクリックします。
  4. 静的応力の応答を作成します。
    1. responses=欄に、Stressと入力します。
    2. response typeをstatic stressに設定します。
    3. プロパティセレクターを使って、<uicontrol>shells</uicontrol>を選択します。
    4. response セレクターをvon misesにセットします。
    5. von misesの下で、both surfacesを選択します。
    6. createをクリックします。
  5. returnをクリックし、Optimization panelに戻ります。

目的関数の定義

  1. objectiveパネルをクリックします。
  2. が選択されていることを確認します。
  3. <uicontrol>desvar=</uicontrol>をクリックし<uicontrol>shape</uicontrol>を選択します。
  4. createをクリックします。
  5. returnを2回クリックし、Optimization panelを終了します。

設計制約条件の作成

  1. dconstraintsパネルをクリックします。
  2. constraints=欄にConstrと入力します。
  3. response =をクリックしStressを選択します。
  4. upper boundの横のボックスにチェックマークを入れ、30000と入力します。
  5. 荷重ステップセレクターを使って、SUBCASE1を選択します。
  6. createをクリックします。
  7. returnをクリックし、Optimization panelに戻ります。

制約条件が応答Stressに定義されます。制約条件は、SUBCASE1の最大応力が30000.0 N/cm2以下となるよう課します。

最適化の実行

  1. Analysisページから<uicontrol>optimization</uicontrol>をクリックします。
  2. save asをクリックします。
  3. Save Asダイアログで、OptiStructモデルファイルを書き出す場所を指定し、ファイル名として4bar_design_optと入力します。
    OptiStruct入力ファイルには、拡張子 .femが推奨されます。
  4. Saveをクリックします。
    入力ファイル欄には、Save Asダイアログで指定されたファイル名と場所が表示されます。
  5. export optionsのトグルをallにセットします。
  6. run optionsのトグルをoptimizationにセットします。
  7. memory optionsのトグルはmemory defaultにセットします。
  8. <uicontrol>Run</uicontrol>をクリックして最適化を実行します。
    ジョブが完了すると、ウィンドウ内に次のようなメッセージが現れます:
    OPTIMIZATION HAS CONVERGED.
    FEASIBLE DESIGN (ALL CONSTRAINTS SATISFIED).
    エラーがある場合、OptiStructはエラーメッセージも出します。エラーに関する詳細は、テキストエディタでファイル 4bar_design_opt.outを開いて確認することができます。このファイルは同じディレクトリ内に.femファイルとして書き出されます。
  9. Closeをクリックします。

結果の表示

応力結果の確認

  1. OptiStructパネルから、HyperViewをクリックします。
    HyperViewが起動され、結果が読み込まれます。HyperViewにモデルと結果が正しく読み込まれたことを示すメッセージウィンドウが現われます。
  2. レポートテンプレートStress_report.tplを開きます。
    1. メニューバーFile > Open > Report Templateをクリックします。
    2. Open Report Fileダイアログで、Stress_report.tplファイルを開きます。
  3. GRAPHIC_FILE_1とRESULT_FILE_1に、最適化を実行したディレクトリから4bar_design_opt_mbd_0#.h3dを選択します(最も大きい#が最終反復計算)。
    Element Stresses (2D & 3D)結果が存在しないというメッセージが現れます -- これは、MBDシミュレーションについての結果がStressと呼ばれているためです。
  4. Message Logウィンドウを閉じます。
  5. window 1をクリックしてアクティブとします。
  6. ResultsツールバーでresultsContour-16をクリックし、Contour panelを開きます。
  7. Result typeをStress (t)に設定します。
  8. traffic lightアイコンをクリックし、アニメーションを開始します。

5050_von_mises_contour
図 7. von Mises応力コンター(Max < 30000 N/cm2

形状変化のコンター表示

  1. Page ControlsツールバーでpageNew-24をクリックし、セッションに新しいページを作成します。
  2. StandardツールバーでfileOpenResults-24をクリックし、最適化が実行されたディレクトリから4bar_design_opt_des_0#.h3dの最終反復計算(最も大きい)番号の結果ファイルを開きます。
  3. Applyをクリックします。
  4. ResultsツールバーでresultsContour-16をクリックし、Contour panelを開きます。
  5. Result typeをShape Change (v)に設定します。
  6. Applyをクリックします。

5050_shape_change_contour
図 8. 形状変化のコンター

ファイル4bar_design_opt.dsvarを開き、最適化中にOptiStructがどのように設計変数を変更したかを確認します。

これは、右側と中央のアームの設計変数がすべて上限の1.2に達し、これら2つのアームの質量の最小化がStressを小さくするキーとなっていることを示しています。