OS-T:2050 パターン繰り返し

本チュートリアルでは、パターン繰り返しを用いてトポロジー最適化を行います。

開始する前に、このチュートリアルで使用するファイルを作業ディレクトリにコピーします。

本チュートリアルで使用されるモデルは、1つのエッジ上に集中荷重が、その向かいにあるエッジ上に2つの拘束条件が課せられている矩形のプレートです。パターン繰り返しの有無によってトポロジー結果にどのような差が生じるかを検証するために、このプレートの0.6および0.3倍にスケーリングされた、異なる方向に集中荷重および境界条件が適用されている2つの矩形プレートもモデル化されています。

最適化の目的は、1つのサブケースについてコンプライアンスを最小にすることです。設計空間の体積率は0.3に制限されます。設計空間は、3つのプレートです。

2050_model
図 1.

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

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

モデルの読み込み

  1. File > Import > Solver Deckをクリックします。
    Importタブがタブメニューに追加されます。
  2. File typeにOptiStructを選択します。
  3. Filesアイコンfiles_panelを選択します。
    Select OptiStruct Fileブラウザが開きます。
  4. 自身の作業ディレクトリに保存したno_repeat.femファイルを選択します。
  5. Openをクリックします。
  6. Import、続いてCloseをクリックし、Importタブを閉じます。

最適化のセットアップ

トポロジー設計変数の作成

  1. Analysisページからoptimizationをクリックします。
  2. topologyをクリックします。
  3. createサブパネルを選択します。
  4. desvar=欄にdv1と入力します。
  5. type:をPSHELLにセットします。
  6. プロパティセレクターを使って、firstを選択します。
  7. createをクリックします。
  8. 設計変数のパラメータを更新します。
    1. parametersサブパネルを選択します。
    2. minmemb offからmindim=に切り替え、2.0と入力します。
    3. updateをクリックします。
  9. 上記の手順を繰り返し行い、コンポーネントsecondおよびthirdについて、dv2およびdv3とラベル付けされた設計変数を作成します。
  10. returnをクリックします。

最適化の応答の作成

  1. Analysisページからoptimizationをクリックします。
  2. Responsesをクリックします。
  3. 体積率の応答を作成します。
    1. responses=欄に、Volfracと入力します。
    2. response typeの下で、volumefracを選択します。
    3. regional selectionをとno regionidに設定します。
    4. createをクリックします。
  4. コンプライアンスの応答を作成します。
    1. responses=欄に、compと入力します。
    2. response typeの下で、complianceを選択します。
    3. regional selectionをとno regionidに設定します。
    4. createをクリックします。
  5. returnをクリックし、Optimization panelに戻ります。

設計制約条件の作成

  1. dconstraintsパネルをクリックします。
  2. constraints=欄にvolfracと入力します。
  3. response =をクリックしVolfracを選択します。
  4. upper boundの横のボックスにチェックマークを入れ、0.3と入力します。
  5. createをクリックします。
  6. returnをクリックし、Optimization panelに戻ります。

目的関数の定義

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

最適化の実行

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

パターン繰り返しWithoutでの結果の表示

ここでは、要素密度のアイソバリュープロットを確認します。
  1. OptiStructパネルから、HyperViewをクリックします。
    HyperViewHyperMesh Desktop内で起動し、no_repeat_opt_des.h3dファイルとリンクされたセッションファイルno_repeat_opt.mvwが読み込まれます。
  2. ResultsツールバーでresultsIso-24をクリックし、Valueパネルを開きます。
  3. Result typeの下で、Element Densities(s)を選択します。
  4. AnimationツールバーでanimationFastForwardEnd-24をクリックし、Simulationリストから最終反復計算を選択します。
  5. Applyをクリックします。
  6. 密度しきい値を変更します。
    • Current value欄に0.4と入力します。
    • Current valueの下のスライダーを動かします。
  7. Show valuesをAboveにセットします。
  8. Clipped geometryの下で、FeaturesTransparentを選択します。
    アイソサーフェスプロットが表示されます。密度値が0.4以上であるモデル内の要素は色付きで、それ以外は透明で表示されます。


    図 2.
  9. Page ControlツールバーでDelete Pageアイコンをクリックし、HyperViewページを消去します。

    page_delete
    図 3.

パターン繰り返しのセットアップ

ここでは、HyperMeshでパターン繰り返しカードを定義します。
  1. nodesを選択します。
    1. Toolページからnumbersパネルをクリックします。
    2. nodes > by idをクリックし、id=欄に1329, 66, 6, 46, 507, 447, 487, 928, 892, 948と入力します。
      値を区切るには、カンマを使用します。
    3. onをクリックします。
    4. returnをクリックし、Numbersパネルを終了します。
    選択された節点の番号が表示されます。
  2. コンポーネントコレクターを隔離します。
    1. メニューバーからView > Browsers > HyperMesh > Maskをクリックし、Maskブラウザを開きます。
    2. MaskブラウザのIsolate列で、1をクリックし、1つのコンポーネントコレクターのみを表示させます。

      os2050pic3
      図 4.
  3. Analysisページからパネルoptimizationをクリックします。
  4. topologyパネルをクリックします。
  5. pattern repetitionサブパネルを選択します。
  6. メインDTPLカードを作成します。
    1. desvar=をダブルクリックし、dv1を選択します。
    2. スイッチをmainにセットします。
    3. systemからcoordinatesに切り替えます。
    4. 1つ目のセレクターを使って、IDが6の節点を選択します。
    5. 2つ目のセレクターを使って、IDが46の節点を選択します。
    6. 3つ目のセレクターを使って、IDが1329の節点を選択します。
    7. アンカーセレクターを使って、IDが66の節点を選択します。
    8. updateをクリックします。
  7. セカンダリDTPLカードを作成します。
    1. desvar=をダブルクリックし、dv2を選択します。
    2. スイッチをsecondaryにセットします。
    3. main=をdv1に切り替えます。
    4. sx=に0.6、sy=に0.6;、sz=に1.0と入力します。
    5. systemからcoordinatesに切り替えます。
    6. 1つ目のセレクターを使って、IDが447の節点を選択します。
    7. 2つ目のセレクターを使って、IDが487の節点を選択します。
    8. 3つ目のセレクターを使って、IDが1329の節点を選択します。
    9. アンカーセレクターを使って、IDが507の節点を選択します。
    10. updateをクリックします。
  8. セカンダリDTPLカードを作成します。
    1. desvar=をダブルクリックし、dv3を選択します。
    2. スイッチをsecondaryにセットします。
    3. main=をdv1に切り替えます。
    4. sx=に0.3、sy=に0.3;、sz=に1.0と入力します。
    5. systemからcoordinatesに切り替えます。
    6. 1つ目のセレクターを使って、IDが892の節点を選択します。
    7. 2つ目のセレクターを使って、IDが928の節点を選択します。
    8. 3つ目のセレクターを使って、IDが1329の節点を選択します。
    9. アンカーセレクターを使って、IDが948の節点を選択します。
    10. updateをクリックします。
  9. returnを2回クリックします。
ID 1(最初のコンポーネント上)の最初のDTPLカードはメイン、ID 2(2番目のコンポーネント上)およびID 3(3番目コンポーネント上)のDTPLカードはセカンダリで、ID 1のDTPLに従属することを認識しました。2番目のコンポーネントはX軸およびY軸方向に0.6倍に、3番目のコンポーネントはX軸およびY軸方向に最初のコンポーネントの0.3倍にスケーリングされています。

最適化の実行

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

パターン繰り返しWithでの結果の表示

ここでは、要素密度のアイソバリュープロットを確認します。
  1. OptiStructパネルから、HyperViewをクリックします。
    HyperViewHyperMesh Desktop内で起動し、repeat_opt_des.h3dファイルとリンクされたセッションファイルrepeat_opt.mvwが読み込まれます。
  2. ResultsツールバーでresultsIso-24をクリックし、Valueパネルを開きます。
  3. Result typeの下で、Element Densities(s)を選択します。
  4. AnimationツールバーでanimationFastForwardEnd-24をクリックし、Simulationリストから最終反復計算を選択します。
  5. Applyをクリックします。
  6. 密度しきい値を変更します。
    • Current value欄に0.38と入力します。
    • Current valueの下のスライダーを動かします。
  7. Show valuesをAboveにセットします。
  8. Clipped geometryの下で、FeaturesTransparentを選択します。
    アイソサーフェスプロットが表示されます。密度値が0.38以上であるモデル内の要素は色付きで、それ以外は透明で表示されます。


    図 5.
  9. Page ControlツールバーでDelete Pageアイコンをクリックし、HyperViewページを消去します。

    page_delete
    図 6.