OS-T:3000 捩りを受ける矩形平面のトポグラフィー最適化

本チュートリアルでは、捩りを受ける板のトポグラフィー最適化を実施します。

本チュートリアルでは、荷重および制約条件がつけられた設計空間の有限要素モデルを使用します。パートはスタンピング工程で成形されることを前提とします。目的は、正のz-方向の集中荷重がかかる節点の変位を最小にすることです。目的を達成するために変化させるのは板の形状のみで、板厚は変更しないこととします。

6001fig1
図 1. 荷重および制約条件がつけられた設計空間の有限要素モデル

有限要素モデルがHyperMeshに読み込まれます。拘束条件、荷重、材料特性およびサブケース(荷重ステップ)は既にモデル内で定義されています。トポグラフィー設計変数と最適化パラメータを定義し、OptiStructが最適な強化パターンを決定します。結果は、設計空間の形状変化のコンターアニメーションとして表示します。最終的に、グルーピングパターンが示され、OptiStructの解析により得られた形状変化に基づき、製造し得るかどうかの理由で、可能なパターンが選択されます。

本チュートリアルにおける最適化問題の設定は以下の通りです:
目的関数
荷重載荷点における節点変位の最小化
設計変数
設計空間上に自動的に生成される要素法線方向の形状変数

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

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

モデルのオープン

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

コンポーネントの板厚の検証

  1. ModelブラウザのPropertiesフォルダーで、designをクリックします。
    設計プロパティがエンティティエディターで開き、PSHELLカード上のシェル板厚に関する情報が表示されます。
  2. 板厚値Tが1.0に設定されていることを確認します。

最適化のセットアップ

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

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

  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=欄に5.0と入力します。
      このパラメータは、モデル内のビードの幅を制御します。推奨される値は、平均要素幅の1.5から2.5倍の間です。
    4. draw angle欄に、60.0(これがデフォルト)と入力します。
      このパラメータは、ビードの側壁の角度を制御します。推奨される値は60°と75°の間です。
    5. draw height=に4.0と入力します。
      このパラメータは、絞られるビードの最大高さを設定します。
    6. buffer zoneを選択します。
      このパラメータは、設計領域内の要素と設計領域外の要素の間にバッファゾーンを設けます。
    7. draw directionをnormal to elementsに切り替えます。
      このパラメータは、形状変数が作成される方向を定義します。
    8. boundaryをload and spcに設定します。
      これは、荷重または拘束条件のかかる節点を設計領域から除外するようOptiStructに指示します。
    9. updateをクリックします。

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

  5. 設計変数の上限値と下限値を更新します。
    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に等しい節点の移動の下限を設定します。
  6. returnをクリックし、Optimization panelに進みます。

最適化の応答の作成

  1. Analysisページからoptimizationをクリックします。
  2. Responsesをクリックします。
  3. 変位の応答を作成します。
    1. responses=欄に、displaceと入力します。
    2. response typeの下で、static displacementを選択します。
    3. inodes > by idをクリックし、id=に2500を入力します。
    4. displacement typeをdof3に設定します。
      dof1、dof2、dof3
      X、Y、Z方向の並進自由度
      dof4、dof5、dof6
      X、Y、Z方向の回転自由度
      total disp
      x、y、z方向の並進変位の結果
      total rotation
      x、y、z方向の回転変位の結果
    5. createをクリックします。
  4. returnをクリックし、Optimization panelに戻ります。

目的関数の定義

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

最適化の実行

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

結果の表示

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

静的な形状コンター図の表示

  1. OptiStructパネルから、HyperViewをクリックします。
    HyperViewHyperMesh Desktop内で起動し、モデルおよび最適化結果のtorsion_plate_des.h3dファイルとtorsion_plate_s1.h3dファイルが読み込まれます。
  2. ResultsツールバーでresultsContour-24をクリックし、Contour panelを開きます。
  3. Result typeをShape Change (v)およびMagに設定します。

    os_3000_result_type
    図 2.
  4. AnimationツールバーでanimationFastForwardEnd-24をクリックし、Simulationリストから最終反復計算を選択します。
    変形したプレートが現れます。
  5. Applyをクリックします。

max=欄は4.0e + 00になっていますか?

このモデルではそうなっているはずです。なっていない場合、最適化が十分進められていません。OBJTOLパラメータ(optimizationパネルのopti controlパネルで設定)を減らしてください。この値4.0e+00は、先に定義したビード高に由来するものです。


3000_converged_solution
図 3. コンタープロット. 最終反復計算(収束ソリューション)における強化パターンを示す

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

コンター形状の時刻歴アニメーションにより、異なる繰返し計算で形状がいかに変化するかを知ることができます。
  1. Animationツールバーで、アニメーションモードをanimationTransient-24(Transient)に設定します。

    transient_menu
    図 4.
  2. animationStart-24をクリックし、アニメーションを開始します。
  3. animationOptions-24をクリックし、Animation Controlsパネルを開きます。
  4. アニメーションの再生中に、Max Frame Rateの下のスライダーバーを使って、アニメーションのスピードを調整します。
  5. animationPause-24をクリックし、アニメーションを停止します。

変形構造の表示

最初および最後の反復計算(デフォルト)からの変位と応力結果はtorsion_plate_s1.h3dファイルに出力されます。

  1. アプリケーションの上部右側でpageNext-24をクリックし、次のページに移動します。
    このページには、torsion_plate_s1.h3dファイルからのサブケース情報が含まれています。
  2. Animationツールバーで、アニメーションモードをLinear Staticに設定します。
    ヒント: このモデルでどのような変化が起こっているかがはっきり確認できるよう、メッシュラインをオンにし、結果をコンター表示します。
  3. ResultsツールバーでresultsDeformed-24をクリックし、Deformedパネルを開きます。
  4. Result typeをDisplacement(v)に設定します。
  5. Resultsブラウザから、最初の反復計算(Iteration 0)を選択します。

    os_3000_iter_0
    図 5.
  6. Animationツールバーで、アニメーションモードをanimationLinear-24(Linear Static)に設定します。
  7. animationStart-24をクリックし、アニメーションを開始します。
  8. animationOptions-24をクリックしてAnimation Controlsパネルに進みます。
  9. アニメーションの再生中に、Max Frame Rateの下のスライダーバーを使って、アニメーションのスピードを調整します。

    元のモデルの変形アニメーションが表示されます。

    メッシュに与えている境界条件が、変形形状に正しく反映されていますか?

  10. animationStop-24をクリックし、アニメーションを停止します。
  11. Page ControlツールバーでpageDelete-24をクリックし、HyperViewページを消去します。

パターングルーピング制約条件の追加

製造性の制約条件として、パターングルーピングを追加します。

前の例で得られた形状は、実際製造するには困難かもしれません(17番目の反復計算における補強パターンを示すコンター図を参照)。どのような種類のパターンに構造を最適化(この場合、選択された節点における変位の最小化)する見込みがあるかの目安にはなります。

前の演習で得られた静的コンター図により提案される可能なパターンは、対角線に平行な溝を使用するものです。この例では、荷重がかかる節点を起点とする対角線を選択します。

  1. HyperMeshreturnをクリックし、OptiStructパネルを終了します。
  2. Analysisページからパネルoptimizationをクリックします。
  3. topographyパネルをクリックします。
  4. pattern groupingサブパネルを選択します。
  5. desvar =をクリックしtopoを選択します。
  6. pattern typeをlinearに設定します。
  7. sub-typeをbasicに設定します。
  8. nodesを選択します。
    1. anchor nodeセレクターを使って、荷重が与えられている角の節点を選択します。
      HyperMeshは自動的にfirst nodeを水色の枠で囲みます。
    2. first nodeセレクターを使って、向かい側角にある節点を選択します。

    3000_pattern_grouping_node_loc
    図 6. パターングルーピングの節点位置
  9. updateをクリックします。
  10. returnを2回クリックし、メインメニューに進みます。

最適化の実行

  1. AnalysisページからOptiStructをクリックします。
  2. save asをクリックします。
  3. Save Asダイアログで、OptiStructモデルファイルを書き出す場所を指定し、ファイル名としてtorsion_patternと入力します。
    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はエラーメッセージも出します。エラーに関する詳細は、テキストエディタでファイル torsion_pattern.outを開いて確認することができます。このファイルは同じディレクトリ内に.femファイルとして書き出されます。
  9. Closeをクリックします。

前回と同様、新しい結果を確認します。また、0回目と最終回の反復計算における目的関数の値を.outファイルでチェックします。目的関数の最終値は、パターングルーピングで‘none’オプションを使用して得た最終値と比べてどうでしょう?

静的な形状コンター図の表示

先ほどの手順を繰り返し、形状変化のコンタープロットを表示させます。

3000_contour_plot
図 7. 補強パターンを示すコンタープロット. (最終反復計算におけるパターングルーピング制約条件での)