OS-T: 5000 片持ち梁の2D形状最適化

本チュートリアルでは、シェル要素で構成される片持ち梁の形状最適化を行います。

荷重および拘束条件の与えられた構造モデルを使用します。下部右側の撓みは3mmに制約されます。この結果として最小限の材料による最適設計の結果が得られます。

5001-1
図 1. 片持ち梁の構造モデル

構造モデルはHyperMeshに読み込まれ、片持ち梁の形状最適化実行に使用されます。形状摂動ベクトルの生成は、HyperMeshウィンドウからアクセスするHyperMorphを使って行います。OptiStructが、最適形状を決定します。その後、結果をHyperView内で確認します。

本チュートリアルにおける最適化問題の設定は以下の通りです:
目的関数
体積の最小化
制約条件
梁の終端における最大節点変位 < 3.0 mm
設計変数
HyperMorphにより定義された形状変数

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

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

モデルのオープン

  1. File > Open > Modelをクリックします。
  2. optistruct.zipファイルから自身の作業ディレクトリに保存したbeamshape.hmファイルを開きます。モデルファイルへのアクセスをご参照ください。
  3. Import をクリックします。
    beamshape.hmデータベースが現在のHyperMeshセッションに読み込まれます。

最適化のセットアップ

HyperMorphを使った形状の作成

本ステップではHyperMorphを使って形状を作成します。
  1. Analysisページからoptimizationパネルを選択します。
  2. HyperMorphパネルをクリックします。
  3. ドメインハンドルを作成します。
    1. domainsパネルをクリックします。
    2. createサブパネルを選択します。
    3. global domainsからauto functionsに切り替え、デフォルトの設定を受諾します。
    4. generateをクリックします。
    5. returnをクリックし、HyperMorphパネルに戻ります。

    梁の形状をモーフィングするために使用可能なドメインとハンドルが作成されます。

    ハンドルには、大きめの赤い点で表されるグローバルハンドルと、小さめの黄色い点で表されるローカルハンドルの2種類があります。本チュートリアルでは、ローカルハンドルのみを扱います。

  4. ハンドルを移動させます。
    1. morphパネルを選択します。
    2. move handlesサブパネルを選択します。
    3. interactiveをmove to nodeに切り替えます。
    4. ハンドルセレクターを使って、上部右側の局所ハンドル(集中荷重が適用されている)を選択します。

      4001-fig2
      図 2.
    5. セレクターをすかって、梁の右側の辺の中央にある節点を選択します。
    先に選択したハンドルがこの節点位置に移動する形で、梁が変形します。この形状変化にメッシュがいかに調整されたかをご確認ください。

    4001-fig3
    図 3. モーフィングされた形状1
  5. 形状を保存します。
    1. save shapeサブパネルを選択します。
    2. shape=欄にshape1と入力します。
    3. カラーボタンをクリックし、形状ベクトルの新しい色を選択します。
    4. shape=の下で、トグルをas node perturbationsにセットします。
    5. saveをクリックします。
    6. Yesをクリックします。
    これで、この形状が保存されました。追って、この形状を設計変数に関連付けることが可能です。
  6. undo allをクリックします。
    モデルが元の形状に戻ります。
  7. returnをクリックし、HyperMorphパネルに戻ります。
  8. ハンドルを作成します。
    1. handlesパネルを選択します。
    2. createサブパネルを選択します。
    3. name =欄にaux1と入力します。
    4. ドメインセレクターを使って、上部のエッジドメインを選択します。
      ヒント: 上部エッジドメインを確実に選択するには、マウスの左ボタンを押したまま梁の上部エッジ上にマウスを移動し、エッジがハイライト表示(白色)されたらマウスボタンを放します。
    5. トグルをby nodesにセットします。
    6. 節点セレクターを使って、梁の上部エッジの中央にある節点を選択します。
    7. createをクリックします。
    8. returnをクリックし、HyperMorphパネルに戻ります。
    新しいハンドル'aux1’が梁の上部エッジの中央に作成されました。

    4001-fig4
    図 4.
  9. ハンドルを移動させます。
    1. morphパネルをクリックします。
    2. move handlesサブパネルを選択します。
    3. move to nodesからinteractiveに切り替えます。
    4. ハンドルセレクターを使って、今しがた作成した黄色いハンドルを選択します。
      選択されたハンドル上にマニピュレータ軸が生成されます。
    5. マニピュレータ軸上で正のX方向を指し、クリックしながらマウスボタンを押したままにします。マウスボタンを押している間に、選択された軸を正のX方向に引っ張ります。梁のほぼ中央まで引っ張ったら、マウスボタンを放します。
      注: 軸に沿ってハンドルを動かすと、メッシュがインタラクティブにモーフィングします。

    os5000_morph_shape2
    図 5. モーフィングされた形状2
  10. バイアシングをセットします。
    1. set biasingサブパネルを選択します。
    2. ハンドルセレクターを使って、aux1を選択します。
    3. make retroactiveを選択します。
    4. biasをscreen editに切り替えます。
      aux1ハンドルの横に、1.000という数値が現われます。
    5. 数字をクリックし、値が1.500となるまでマウスボタンを押したままにします。
      ヒント: マウスを上方に移動すると数値は大きくなり、下方に移動すると小さくなります。
    6. updateをクリックします。
    上部エッジの撓みが変化します。

    4001-fig6
    図 6. モーフィングされた形状3
  11. 形状を保存します。
    1. save shapeサブパネルを選択します。
    2. shape=欄にshape2と入力します。
    3. カラーボタンをクリックし、形状ベクトルの新しい色を選択します。
    4. shape=の下で、トグルをas node perturbationsにセットします。
    5. saveをクリックします。
    6. 全体およびモーフボリュームハンドルにおける節点について規定ベクトルを保存するには、Yesをクリックします。
    これで、この形状が保存されました。追って、この形状を設計変数に関連付けることが可能です。
  12. undo allをクリックします。
    モデルが元の形状に戻ります。
  13. returnを2回クリックし、Optimizationパネルに戻ります。

形状設計変数の作成

  1. shapeパネルをクリックします。
  2. desvarサブパネルを選択します。
  3. 設計変数のオプションをsingle desvarからmultiple desvarsに切り替えます。
  4. shapesセレクターを使用し、shape1shape2を選択します。
  5. createをクリックします。
  6. returnをクリックし、Optimizationパネルに戻ります。
先に保存された形状を使用し、2つの形状設計変数が作成されます。

最適化の応答の作成

  1. Analysisページからoptimizationをクリックします。
  2. Responsesをクリックします。
  3. 設計空間の体積率を定義する体積の応答を作成します。
    1. responses=欄に、volと入力します。
    2. response typeの下で、volumeを選択します。
    3. regional selectionをtotalno regionidに設定します。
    4. createをクリックします。
  4. 変位の応答を作成します。
    1. responses=欄に、dispと入力します。
    2. response typeの下で、static displacementを選択します。
    3. Nodes > by idをクリックし、id=欄に1115と入力します。
    4. displacement typeをdof1に設定します。
      dof1、dof2、dof3
      X、Y、Z方向の並進自由度
      dof4、dof5、dof6
      X、Y、Z方向の回転自由度
      total disp
      x、y、z方向の並進変位の結果
      total rotation
      x、y、z方向の回転変位の結果
    5. createをクリックします。
  5. returnをクリックし、Optimizationパネルに戻ります。

設計制約条件の作成

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

目的関数の定義

  1. objectiveパネルをクリックします。
  2. minが選択されていることを確認します。
  3. responseをクリックし、volを選択します。
  4. createをクリックします。
  5. returnを2回クリックし、Optimizationパネルを終了します。

SHAPEカードの定義

デフォルトでは、変位と応力の結果のみが_s#.h3dファイルに得られます。HyperViewで、モデルに加えられた形状変化に重ねた結果(変位 / 応力 / 温度)を得るには、SHAPEカードを定義する必要があります。
  1. Analysisページからcontrol cardsパネルをクリックします。
  2. Card Imageダイアログで、SHAPEをクリックします。
  3. FORMATをH3Dにセットします。
  4. TYPEをALLにセットします。
  5. OPTIONをALLにセットします。
  6. returnを2回クリックし、メインメニューに戻ります。

最適化の実行

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

結果の表示

形状結果の可視化

  1. OptiStructパネルから、HyperViewをクリックします。
    HyperMesh Desktop内でHyperViewが起動し、beamshape_des.h3dがpage 1に、beamshape_s2.h3dがpage 2に開かれます。
  2. ナビゲーションボタンを使って、page 1のDesign Historyに移動します。

    page_nav
    図 7.
  3. Resultsブラウザから、反復計算を選択します。

    os5000_iteration5
    図 8.
  4. ResultsツールバーでresultsContour-24をクリックし、Contourパネルを開きます。
  5. Result type:をShape change (v)およびMagに設定します。
  6. Applyをクリックします。
形状最適化の結果はモデルに適用されます。

5000_shape_opt_results
図 9.

変位のコンタープロットの表示

  1. 上部右側にあるナビゲーションボタンを使って、page 2に移動します。
  2. Resultsブラウザから、最終反復計算を選択します。

    os5000_iteration5A
    図 10.
  3. Resultsツールバーで、Deformedパネルを開きます。
  4. Result type:をShape change(v)に設定します。
  5. Applyをクリックします。
    梁の最適化形状が表示されます。
  6. ResultsツールバーでresultsContour-24をクリックし、Contourパネルを開きます。
  7. Result type:をDisplacement (v)およびMagに設定します。
  8. Applyをクリックします。
  9. Annotationsツールバーでmeasureをクリックし、Measuresパネルを開きます。
  10. Static MinMax Resultを選択します。
節点1115は制約条件値内の変位を有しています。

5000_final
図 11.