OS-T:5010 L型断面の片持ち梁の形状最適化

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

開始する前に、このチュートリアルで使用するファイルを作業ディレクトリにコピーします。
ポイントNにおける垂直方向の変位を2.0mmに制約し、最小限の材料でこの条件を達成することを目的とします。
1. L型断面の片持ち梁の構造モデル

tut4002.fig
本チュートリアルにおける最適化問題の設定は以下の通りです:
目標
質量の最小化
制約条件
最大節点変位 < 2 mm.
設計変数
梁の各フランジの形状

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

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

モデルのオープン

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

最適化のセットアップ

HyperMorphを使った形状の作成

  1. Analysisページからパネルoptimizationをクリックします。
  2. HyperMorphパネルをクリックします。
  3. ドメインとハンドルを作成します。
    1. domainsパネルをクリックします。
    2. createサブパネルを選択します。
    3. スイッチをauto functionsにセットします。
    4. generateをクリックします。
    5. returnをクリックし、HyperMorphパネルに戻ります。

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

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

  4. ハンドルを移動させます。
    1. morphパネルをクリックします。
    2. move handlesサブパネルを選択します。
    3. interactiveからtranslateに切り替えます。
    4. handlesサブパネルを使って、荷重が与えられている節点の位置にあるローカルハンドルを選択します。
      注: ローカルハンドルは、黄色の点で示されています。
    5. y val=欄に-10.0と入力します。
    6. morphをクリックします。
    先に選択したハンドルがy-方向に-10.0移動する形で、梁が変形します。この形状変化にメッシュがいかに調整されたかをご確認ください。
  5. 形状を保存します。
    1. save shapeサブパネルを選択します。
    2. name =欄にshape1と入力します。
    3. Colorをクリックし、形状の色を選びます。
    4. shape=の下のas node perturbationsを選択します。
    5. saveをクリックします。
    6. 基底ベクトルに関するメッセージにYesと答えます。
      2.

      5010_save_perturbations
    この形状は、shape1として保存されます。追って、この形状を設計変数に関連付けることが可能です。
  6. undo allをクリックします。
    モデルが元の形状に戻ります。
  7. ローカルハンドル3、4、5について、手順45を繰り返します。
    1. ハンドル3と4をx方向に-10、ハンドル5をy方向に-10移動します。
    2. 各ハンドルをそれぞれshape2、shape3、shape4としてモーフィングした後、形状を保存します。
    3. モーフィングされたハンドル群

    5010_handles
  8. returnを2回クリックし、Optimization panelに進みます。

形状最適化設計変数の作成

  1. shapeパネルをクリックします。
  2. desvarサブパネルを選択します。
  3. スイッチをsingle desvarからmultiple desvarsに切り替えます。
  4. 形状セレクターを使用し、 shape1, shape2, shape3、およびshape4を選択します。
  5. createをクリックします。
  6. returnをクリックし、optimizationパネルに移動します。

先に保存された形状を使用し、4つの設計変数が作成されます。

ここに記載された設定で得られるL型片持ち梁の垂直フランジの形状バリエーション
4.

tut4002

Create Optimization Responses

  1. From the Analysis page, click optimization.
  2. Click Responses.
  3. Create the mass response, which is defined for the total volume of the model.
    1. In the responses= field, enter Mass.
    2. Below response type, select mass.
    3. Set regional selection to total and no regionid.
    4. Click create.
  4. Create the displacement response.
    1. In the response= field, enter Disp.
    2. Below response type, select static displacement.
    3. Using the nodes selector, select the response node.
    4. Set the displacement type to dof2.
      dof1, dof2, dof3
      Translation in the X, Y, and Z directions.
      dof4, dof5, dof6
      Rotation about the X, Y, and Z axes.
      total disp
      Resultant of the translational displacements in x, y, and z directions.
      total rotation
      Resultant of the rotational displacements in x, y, and z directions.
    5. Click create.
    5.


  5. Click return to go back to the Optimization panel.

Define the Objective Function

  1. Click the objective panel.
  2. Verify that min is selected.
  3. Click response and select mass.
  4. Click create.
  5. Click return twice to exit the Optimization panel.

Create Design Constraints

  1. Click the dconstraints panel.
  2. In the constraint= field, enter constr.
  3. Click response = and select Disp.
  4. Check the box next to lower bound, then enter -2.0.
  5. Using the loadsteps selector, select load.
  6. Click create.
  7. Click return to go back to the Optimization panel.

データベースの保存

  1. menu barFile > Save As > Modelをクリックします。
  2. Save Asダイアログでファイル名欄にlbeamshape_opt.hmと入力し、自身の作業ディレクトリに保存します。

Run the Optimization

  1. From the Analysis page, click OptiStruct.
  2. Click save as.
  3. In the Save As dialog, specify location to write the OptiStruct model file and enter lbeamshape_opt 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 optimization.
  7. Set the memory options toggle to memory default.
  8. Click OptiStruct to run the optimization.
    The following message appears in the window at the completion of the job:
    OPTIMIZATION HAS CONVERGED.
    FEASIBLE DESIGN (ALL CONSTRAINTS SATISFIED).
    OptiStruct also reports error messages if any exist. The file lbeamshape_opt.out can be opened in a text editor to find details regarding any errors. This file is written to the same directory as the .fem file.
  9. Click Close.

結果の表示

変形構造の表示

境界条件が正しく定義されているか、また、モデルが予測した通り変形しているかを確認するためには、モデルの変形形状を表示させると役立ちます。ここでは、Deformedパネルを使用し、スケールファクターで最後の反復計算の変形形状を確認し、非変形形状をオーバーレイさせます。
  1. OptiStructパネルから、HyperViewをクリックします。
    HyperMesh Desktop内でHyperViewが起動し、page 2に最適化結果、page 3に解析結果が含まれている.h3dファイルが読み込まれます。
  2. 上部右側にあるナビゲーションボタンを使って、Design History(page 2)に移動します。
    6.

    page_nav
  3. Results Browserから、最終反復計算(Iteration 6)を選択します。
    7.

    os5010_iteration5
  4. ResultsツールバーでresultsContour-24をクリックし、Contour panelを開きます。
  5. Result typeをShape change (v)に設定します。
  6. Applyをクリックします。
Iteration #の最終形状を見ることができます。

形状コンター変化の時刻歴アニメーション表示

  1. AnimationツールバーでanimationStart-24をクリックし、アニメーションを開始します。
    seekスライダー(上)とplayback speedスライダー(下)は、再生コントロールの横にあります。
    8.

    animation_mini_toolbar
  2. speedスライダを動かして、アニメーションのスピードを調整します。
  3. アニメーションの確認後、animationStop-24をクリックしてアニメーションを停止します。
  4. Current time:を0に戻します。

変位コンターのプロット

  1. アプリケーションの上部右側でをクリックし、解析結果を含むpage 3に移動します。
  2. ResultsツールバーでresultsContour-24をクリックし、Contour panelを開きます。
  3. Result type:をDisplacement (v)Y(変位のY成分。これが制約された)に設定します。
  4. Results Browserから、最終反復計算(Iteration 6)を選択します。
    9.

    os5000_iteration6
  5. Applyをクリックします。
変位のプロットが最終形状上に表示されます。Iteration #の最大変位は2.0以下のままです。