HS-1540: HyperMeshANSYSを使用した形状最適化スタディ

HyperStudyへのダイレクトリンクを使用し、HyperMesh内から起動して形状Optimization(最適化)を実行する方法について学習します。

開始に先がけ、本チュートリアルで使用されるモデルファイルを<hst.zip>/HS-1540/から自身の作業ディレクトリにコピーします。

有限要素ソルバーはANSYSです。HyperMorphは、形状パラメータ化を行うために使用されます。最適化の目的は、穴の開いたプレートの最大応力を最小にすることです。ソリューションとしては、楕円形のようなものが期待されます。したがって、入力変数は、穴の半軸です。

1. 2つの対象条件を持つ板モデル


HyperMeshでのモデルのセットアップ

  1. スタートアップダイアログから 新しいセッションを開始し、HyperMeshが選択されていることを確認します。
  2. プロファイルはAnsysを選択します。
  3. Create Sessionをクリックします。
  4. User Profilesダイアログで、ユーザープロファイルをAnsysにセットします。
  5. メニューバーで、File(ファイル) > Import(インポート) > Solver Deck(ソルバーデック)をクリックします。
  6. ファイルタイプをAnsysにセットします。
  7. File欄で、plate.cdbファイルを開きます。
  8. Solver Import Optionsダイアログで、Import(インポート)をクリックします。
    有限要素モデルがグラフィックス領域内に現れます。
    2.


HyperMorphでの形状のパラメータ化

  1. 必要に応じて、HyperMorphパネルを有効にします。
    1. メニューバーより View(表示) > Panels(パネル)が有効になっていることを確認してください。
    2. パネル領域で、Toolサブパネルを選択し、HyperMorphをクリックします。
      3.


  2. ドメインと、メッシュの形状を操作したり形状最適化に必要な形状基底ベクトルを生成するために使用するハンドルが作成されます。
    1. パネル領域のdomainsをクリックします。
    2. createサブパネルに進みます。
    3. 左側の下向き矢印をクリックし、auto functionsを選択します。
      4.


    4. generateをクリックします。
    5.


  3. returnをクリックします。
  4. パネル領域のmorphをクリックします。
  5. 寸法を変更します。
    1. alter dimensionsサブパネルに進みます。
    2. 1つ目の矢印をクリックし、radiusを選択して、半径を形状として定義します。
    3. モデリングウィンドウで、穴の赤いエッジを選択します。
      6.


    4. radius =欄に20.0000と入力します。
    5. 下部の矢印をクリックし、hold centerを選択します。
    7. Alter Dimensionsサブパネルの設定


  6. morphをクリックします。
    1つ目の形状が生成されます。
  7. 形状sh1を保存します。
    1. Morph(モーフィング)リボンのSave(保存)グループから、Shapes(形状)ツールをクリックします。
      Edit Shapesダイアログが開きます。
    2. Edit Shapesダイアログでをクリックします。
      シェイプが追加されます。
    3. 作成したシェイプを右クリックし、コンテキストメニューから Rename(名前の変更)を選択し、新しい名前としてsh1を入力します。
    4. sh1のPreviewチェックボックスを 無効にします。
  8. 寸法変更サブパネルで、undoをクリックし、次の形状を作成する準備に入ります。
  9. 2つ目の形状を作成します。
    1. move handles サブパネルに進みます。
    2. 2番目の矢印をクリックし、translateを選択します。
    3. 3番目の矢印をクリックし、along xyzを選択します。
    4. x val=欄をクリックし、10.0000と入力します。
    5. モデリングウィンドウで、四分円の角にある下のほうの黄色いハンドルを選択します。
      8.


    6. morphをクリックします。
      2つ目の形状が生成されます。
  10. ステップ7を繰り返してシェイプを保存しますが、シェイプ名を sh2に変更します。
  11. move handlesサブパネルで、undoをクリックし、次の形状を作成する準備に入ります。
  12. 3つ目の形状を作成します。
    1. move handles サブパネルに進みます。
    2. モデリングウィンドウで、四分円の角にある上のほうの黄色いハンドルを選択します。
      9.


    3. x val=欄をクリックし、0.000と入力します。
    4. y val=欄をクリックし、10.0000と入力します。
    5. morphをクリックします。
      3つ目の形状が生成されます。
  13. ステップ7を繰り返してシェイプを保存しますが、シェイプ名を sh3に変更します。
  14. undo allをクリックし、最初のメッシュに戻ります。
  15. HyperMeshモデルを保存します。
    1. メニューバーで、File(ファイル) > Save As(名前を付けて保存) > HyperMeshModelをクリックします。
    2. Save File Asダイアログで作業ディレクトリに進み、plateDV.hmとしてファイルを保存します。
  16. HyperMesh Desktopを閉じます。

ソルバーとしてANSYSを登録

  1. HyperStudyを開始します。
  2. メニューバーからEdit(編集) > Solver Script(ソルバースクリプト)をクリックします。
    Register Solver Script(ソルバースクリプトの登録)ダイアログが現れます。
  3. ソルバースクリプトを追加します。
    1. Add Solver Script(ソルバースクリプトの追加)をクリックします。
      Add(追加)ダイアログが開きます。
    2. Label(ラベル)とVarname(識別子)欄にAnsysと入力します。
    3. ソルバースクリプトタイプのリストから、Other Applicationを選択します。
    4. OKをクリックします。
    10.


  4. スクリプトAnsysのパス列で、をクリックします。
  5. Openダイアログで、ansys.batファイルを開きます。
    スクリプトansys.batは、WindowsにおけるAnsys用の実行スクリプトのサンプルです。これを使用するには、ansys.batを作業ディレクトリにコピーします。
  6. OK(適用).をクリックします。

スタディのセットアップの実行

  1. 以下の方法で新規スタディを開始します:
    • メニューバーから、File(ファイル) > New(新規)をクリックします。
    • リボン上でをクリックします。
  2. Add Study(スタディの追加)ダイアログでスタディの名前を入力し、スタディの場所を選んでOKをクリックします。
  3. Define Models(モデルの定義)ステップに進みます。
  4. HyperMeshモデルを追加します。
    1. Directory(ディレクトリ)から、HyperMesh.hm)ファイルplateDV.hmワークエリアにドラッグ&ドロップします。
      11.


    2. Solver input file(ソルバー入力ファイル)列にplate.cdbと入力します。
      これが、評価中にHyperStudyが書き出すソルバー入力ファイルの名称となります。
    3. Solver execution script(ソルバー実行スクリプト)列に、Ansysを選択します。
    4. Solver input arguments(ソルバー引数)欄で、$fileの後ろにplate.out plateと入力します。
    12.


  5. 変数をインポートします。
    1. Import Variables(変数のインポート)をクリックします。
      Model Parameters(モデルパラメータ)ダイアログがHyperGraphで開きます。
    2. Shapeを展開し、sh1.Ssh2.Ssh3.Sを選択します。
    3. Lower boundを-1.0に、Upper boundを1.0が設定されているのを確認します。
    4. Add(追加)をクリックします。
    5. OKをクリックします。
    13.


  6. Define Input Variables(入力変数の定義)ステップに進みます。
  7. 入力変数の下限値、初期値、上限値を確認します。
    14.


ベースランの実行

  1. Test Models(モデルをテスト)ステップに進みます。
  2. Run Definition(計算実行)をクリックします。
    スタディのDirectory(ディレクトリ)内に、approaches/setup_1-def/ディレクトリが作成されます。approaches/setup_1-def/run__00001/m_1には、ベースランの結果である入力ファイルが含まれます。

出力応答の作成と評価

  1. Define Output Responses(出力応答の定義)パネルに進みます。
  2. Directory(ディレクトリ)から、approaches/setup_1-def/run__00001/m_1にあるplate.rstファイルをワークエリアにドラッグ&ドロップします。
  3. File Assistant(ファイルアシスタント)ダイアログで、Reading technology(読み取り技術)をAltair® HyperWorks®にセットし、Next(次)をクリックします。
  4. Multiple Items at Multiple Time Steps(複数タイムステップで複数のアイテム)(readsim)を選択し、Next(次)をクリックします。
  5. 以下のオプションを定義し、Next(次)をクリックします。
    1. SubcaseをStep 1にセットします。
    2. TypeをStress (2D)にセットします。
    3. RequestをFirst - Lastにセットします。
    4. ComponentをvonMisesにセットします。
  6. オプション: データソースと出力応答のラベルを入力します。
  7. Expression(式)をMaximum(最大)にセットします。
  8. Finish(終了)をクリックします。
    出力応答1がワークエリアに追加されます。
  9. Evaluate(評価)をクリックして出力応答値を抽出します。

Optimization(最適化)の実行

  1. Optimization(最適化)を追加します。
    1. Explorer(エクスプローラ)内で右クリックし、コンテキストメニューからAdd(追加)を選択します。
    2. Add(追加)ダイアログでOptimization(最適化)を選択します。
    3. Definition from(定義元)に、Setup(セットアップ)を選択しOKをクリックします。
  2. Optimization(最適化) > Definition(定義) > Define Output Responses(出力応答の定義)ステップに進みます。
  3. Objectives/Constraints - Goals(目的 / 制約条件 - 目標)タブをクリックします。
  4. Response 1に目的関数を追加します。
    1. Add Goal(目標を追加)をクリックします。
    2. Type (タイプ)列に、Minimizeを選択します。