OS-T:3010 L型ブラケットのトポグラフィー最適化

本チュートリアルでは、集中質量を付加してモデル化したL型ブラケットのトポグラフィー最適化を行います。

ブラケットはシェル要素でモデル化されています。目的は、ブラケットにビード、すなわちスエージを導入することにより1次モードの振動数を最大にすることにあります。この目的は、トポグラフィー最適化の使用により達成されます。穴の周りの領域は非設計領域として指定され、ブラケットの大部分は、ビードの付加が許される設計領域として定義されます。

3010_l_bracket
図 1. L型ブラケットのレイアウト
本チュートリアルにおける最適化問題の設定は以下の通りです:
目的関数
1次モード振動数の最大化
制約条件
ビードの寸法とレイアウト
設計変数
シェルの中立面に対する法線方向への節点の移動

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

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

モデルのオープン

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

最適化のセットアップ

トポグラフィー設計変数の定義

トポグラフィー最適化のために、設計空間とビードを定義しなくてはなりません。

ここでは、ビード幅15mm、ビード高5mm、ドロー角度85度を使用します。ビードパターンの対称性は、設計空間の対称線に沿うよう設定します。

  1. Analysisページからパネルoptimizationをクリックします。
  2. topographyパネルをクリックします。
  3. トポグラフィー設計変数定義を作成します。
    1. createサブパネルを選択します。
    2. desvar=欄にtopoと入力します。
    3. プロパティセレクターを使って、designを選択します。
    4. createをクリックします。
    これで、トポグラフィー設計空間の定義topoが作成されました。designコンポーネントコレクターに属す要素はすべて、設計空間内に含まれるようになりました。
  4. 設計空間topoについてビード定義を作成します。
    1. bead paramsサブパネルを選択します。
    2. desvar =欄が、新たに作成された設計空間の名称であるtopoに設定されていることを確認します。
    3. minimum width=欄に15.0と入力します。
      このパラメータは、モデル内のビードの幅を制御します。推奨される値は、平均要素幅の1.5から2.5倍の間です。
    4. draw angle欄に、85.0(これがデフォルト)と入力します。
      このパラメータは、ビードの側壁の角度を制御します。推奨される値は60°と75°の間です。
    5. draw height=に5.0と入力します。
      このパラメータは、絞られるビードの最大高さを設定します。
    6. buffer zoneを選択します。
      このパラメータは、設計領域内の要素と設計領域外の要素の間にバッファゾーンを設けます。
    7. draw directionをnormal to elementsに切り替えます。
      このパラメータは、形状変数が作成される方向を定義します。
    8. boundaryをload and spcに設定します。
      これは、荷重または拘束条件のかかる節点を設計領域から除外するようOptiStructに指示します。
    9. updateをクリックします。

    これで、設計空間topoについてビード定義が作成されました。この情報に基づき、OptiStructは設計変数領域全体に環状のビード変数定義を自動的に作成します。

  5. パターングルーピング制約条件の追加
    1. pattern groupingサブパネルを選択します。
    2. desvar =をクリックしtopoを選択します。
    3. pattern typeを1-pln symに設定します。
    4. anchor nodeをクリックし、id=欄に337と入力します。
    5. first nodeをクリックし、id=欄に613と入力します。
    6. updateをクリックします。
  6. 設計変数の上限値と下限値を更新します。
    1. boundsサブパネルを選択します。
    2. desvar =欄が、設計空間の名称であるtopoに設定されていることを確認します。
    3. Upper Bound=欄に1.0と入力します。
      グリッドの移動を制御する変数の上限(実数 > LB、デフォルト = 1.0)。グリッド移動の上限をUB*HGTに設定します。
    4. Lower Bound=欄に0.0と入力します。
    5. updateをクリックします。
    upper boundはUB*HGTに等しい節点の移動の上限を、lower boundはLB*HGTに等しい節点の移動の下限を設定します。
  7. returnをクリックし、Optimization panelに進みます。

最適化の応答の作成

  1. Analysisページからoptimizationをクリックします。
  2. Responsesをクリックします。
  3. 周波数の応答を作成します。
    1. responses=欄に、FREQと入力します。
    2. response typeの下で、frequencyを選択します。
    3. Mode Numberに、1.0と入力します。
    4. createをクリックします。
    応答FREQが、firstモードの振動数について定義されました。
  4. returnをクリックし、Optimization panelに戻ります。

目的関数の定義

  1. objectiveパネルをクリックします。
  2. maxが選択されていることを確認します。
  3. responseをクリックし、FREQを選択します。
  4. 荷重ステップセレクターを使って、STEPを選択します。
  5. createをクリックします。
  6. returnを2回クリックし、Optimization panelを終了します。

データベースの保存

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

最適化の実行

  1. AnalysisページからOptiStructをクリックします。
  2. save asをクリックします。
  3. Save Asダイアログで、OptiStructモデルファイルを書き出す場所を指定し、ファイル名としてLbkttopogと入力します。
    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はエラーメッセージも出します。エラーに関する詳細は、テキストエディタでファイル Lbkttopog.outを開いて確認することができます。このファイルは同じディレクトリ内に.femファイルとして書き出されます。
  9. Closeをクリックします。
ディレクトリ内に作成されるデフォルトのファイルは以下の通り:
Lbkttopog.hgdata
各反復計算における目的関数、制約条件の違反率が納められているHyperGraph形式のファイル。
Lbkttopog.hist
目的関数の各反復計算の履歴および最も違反している制約値が納められているOptiStruct反復計算履歴ファイル。反復計算履歴のxyプロットに使用可能。
Lbkttopog.html
問題設定と最終反復計算結果のサマリーを含むHTML形式の最適化レポート。
Lbkttopog.oss
デフォルトで密度のしきい値が0.3として定義されているOSSmooth用のファイル。このファイル内のパラメーターを調整することでユーザーの意図する結果を得ることができます。
Lbkttopog.out
ファイルのセットアップ、最適化のセットアップの情報、 実行に必要なRAMとディスクスペースの見積もり、それぞれの最適化の反復情報、計算時間の情報を含むOptiStruct出力ファイル。Lbkttopog.femファイルの処理を行う際にフラグが立つワーニングおよびエラーに関しては、このファイルを確認すること。
Lbkttopog.sh
反復計算が終了した段階での形状データが納められているファイル。各要素の密度値、空孔の大きさと角度を含む。このファイルは、最適化計算のリスタートに使用することができます。
Lbkttopog.stat
計算を完全に終了するために使用されたCPU、また、入力デックの読み出し、アセンブリ、解析および収束等のCPU情報が含まれています。
Lbkttopog_des.h3d
最適化結果を含むHyperViewバイナリ結果ファイル。
Lbkttopog_s#.h3d
線形静解析からの結果を含むHyperViewバイナリ結果ファイル。
Lbkttopog.grid
摂動グリッドデータが書かれたOptiStructファイル。

結果の表示

OptiStructは、すべての反復計算におけるコンター(形状変化)情報を提供します。また、デフォルトで、最初と最後の反復計算について固有ベクトルの結果が出力されます。本演習では、これらの結果をHyperViewで可視化する方法について解説します。

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

  1. OptiStructパネルから、HyperViewをクリックします。
    HyperViewHyperMesh Desktop内で起動し、Lbkttopog_des.h3dファイルを読み込みます。
  2. Animationツールバーで、アニメーションモードをTransientに設定します。

    transient_menu
    図 2.
  3. animationStart-24をクリックし、アニメーションを開始します。
  4. animationOptions-24をクリックし、Animation Controlsパネルを開きます。
  5. Max Frame Rateスライダーを動かして、アニメーションのスピードを調整します。

最適化された振動数の差の確認

  1. アプリケーションの上部右側でpageNext-24をクリックし、最初と最後の反復計算結果を含んだpage 3に移動します。
  2. Resultsブラウザから、最初の反復計算(Iteration 0)を選択します。
解析からリクエストされているすべてのモードの周波数は、Subcaseドロップダウンに表示されています。

os_3010_iter0
図 3. Iteration 0の1次モードの振動数
最終反復計算の周波数値を確認します。1次モードの振動数は、最初の反復計算の約48 Hzから最後の反復計算の約93 Hzへと変化していることがわかります。

os_3010_iter12
図 4. Iteration 12の1次モードの振動数

最適化されたトポグラフィーの適用

  1. アプリケーションの上部右側でpageNext-24をクリックし、Design Historyページ(page 2)に戻ります。
  2. AnimationツールバーでanimationFastForwardEnd-24をクリックし、Current timeを最終ステップに設定します。

    3000_topog_results
    図 5. トポグラフィー結果