HS-4215: 複合領域の設計Optimization(最適化)スタディ

複合領域の設計Optimization(最適化)スタディを行う方法について学習します。チュートリアルで最適化されるのは、構造のパフォーマンスとコストです。

開始に先がけ、本チュートリアルで使用されるモデルファイルを<hst.zip>/HS-4215/から自身の作業ディレクトリにコピーします。
構造のパフォーマンスはOptiStructで、コストはComposeまたはPythonを使ってシミュレーションされます。双方のシミュレーションについてのOptimization(最適化)パラメータは、各入力デックに対応したテンプレートファイルで特定されます。
tail.fem
OptiStruct
tail.oml
Compose
tail.py
Python
1. 水平尾翼モデル


尾翼は、飛行機の胴体に近いほうの部分が片持ちとなっています。尾翼が底部外板に0.25psiの圧力荷重を受ける、尾翼が400lbsの先端荷重を受ける、尾翼が圧力荷重と先端荷重を同時に受ける、という3つの荷重ケースについて考察します。適用される荷重は、図 2に示すとおりです。
2. 水平尾翼にかかる荷重


このスタディの問題の定式化は以下のとおりです:
入力変数
内側におけるガラス繊維厚み; 初期値 = 0.1、下限 = 0.01、上限 = 2.0
中央におけるガラス繊維厚み; 初期値 = 0.1、下限 = 0.01、上限 = 2.0
外側におけるガラス繊維厚み; 初期値 = 0.1、下限 = 0.01、上限 = 2.0
内側におけるコア繊維厚み; 初期値 = 0.1、下限 = 0.01、上限 = 2.0
中央におけるコア繊維厚み; 初期値 = 0.1、下限 = 0.01、上限 = 2.0
外側におけるコア繊維厚み; 初期値 = 0.1、下限 = 0.01、上限 = 2.0
アルミニウム製リブ板厚; 初期値 = 0.1、下限 = 0.01、上限 = 2.0
注: 両モデル共7つの入力変数を有していますが、入力変数の値は2つのモデル間で一致している必要があります。そのために、入力変数の2つのセットを互いにリンクさせます。
目的関数
コストの最小化
設計制約条件
最大変位がベースライン値31未満

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

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


    2. Solver input file(ソルバー入力ファイル)列にtail.femと入力します。
      これが、評価中にHyperStudyが書き出すソルバー入力ファイルの名称となります。
    3. Solver execution script(ソルバー実行スクリプト)列に、OptiStruct (os)を選択します。
  5. 2つ目のパラメータ化ファイルモデルを追加します。
    1. Directory(ディレクトリ)から、適切な.tplファイルをワークエリアにドラッグ&ドロップします。
      • Pythonをご使用の場合は、tail_cost_python.tplを使用します。
      • Composeをご使用の場合は、tail_cost_compose.tplを使用します。
    2. Solver input file(ソルバー入力ファイル)列に、HyperStudyが評価中に書き出すソルバー入力ファイルの名称を入力します。
      • Pythonをご使用の場合は、tail.pyと入力します。
      • Composeをご使用の場合は、tail.omlと入力します。
    3. Solver execution script(ソルバー実行スクリプト)列に、以下のいずれかを選択します:
      • Python (py)
      • Compose (oml)
    4. ソルバー実行スクリプトとしてComposeををご使用の場合、Solver input arguments(ソルバー引数)列で、$fileの前に-fと入力します。
    注: 製品群の一部としてComposeをご使用の場合HyperStudyは自動的に正しい.batファイルを指します。Composeを別個のインストレーションとされている場合は、Register Solver Script(ソルバースクリプトの登録)ステップでCompose_batch.batを指定する必要があります。
  6. Import Variables(変数のインポート)をクリックします。
    14個のの入力変数が、2つの.tplリソースファイルからインポートされます。
  7. Define Input Variables(入力変数の定義)ステップに進みます。
  8. 入力変数の下限値と上限値を確認します。
  9. 入力変数をリンクします。
    1. Links(リンク)タブをクリックします。
    2. Varname(識別子)列で、独立変数の全て(Model_1からの全ての変数)をコピーします。
    3. 従属入力変数の全て(Model_2からの全ての変数)のExpression(式)列に、独立変数をペーストします。
      4.


ベースランの実行

  1. Test Models(モデルをテスト)ステップに進みます。
  2. Run Definition(計算実行)をクリックします。
    スタディのディレクトリ内に、approaches/setup_1-def/ディレクトリが作成されます。approaches/setup_1-def/run__00001/m_1およびapproaches/setup_1-def/run__00001/m_2サブディレクトリには、tail.h3d(最大変位用)およびcost.res(コスト用)ファイルが含まれています。これらはベースランの結果で、最適化で使用されます。

出力応答の作成と評価

ここでは2つの出力応答:MaxDispとCostを作成します。

  1. Define Output Responses(出力応答の定義)パネルに進みます。
  2. MaxDisp出力応答を作成します。
    1. Directory(ディレクトリ)から、approaches/setup_1-def/run__00001/m_1にあるtail.h3dファイルをワークエリアにドラッグ&ドロップします。
    2. File Assistant(ファイルアシスタント)ダイアログで、Reading technology(読み取り技術)をAltair® HyperWorks®にセットし、Next(次)をクリックします。
    3. Multiple Items at Multiple Time Steps(複数タイムステップで複数のアイテム)を選択し、Next(次)をクリックします。
    4. 以下のオプションを定義し、Next(次)をクリックします。
      • Subcase: Subcase 5 (Combo)
      • Type: Displacement (Grids)
      • Request - 開始: First Request(最初のアイテム)を選択し、N4660と入力します。
      • Request - 終了: Last Request(最後のアイテム)を選択し、N7528と入力します。
      • Component: Mag
      5.


    5. Create individual Responses (個々の応答の作成)(1)チェックボックスを有効にし、Maximum(最大)を選択します。
      6.


    6. Finish(終了)をクリックします。
      出力応答が、ワークエリア内に追加されます。
    7. ワークエリアのLabel(ラベル)列で、ラベルをMaxDispに変更します。
      7.


  3. Cost出力応答を作成します。
    1. Directory(ディレクトリ)から、approaches/setup_1-def/run__00001/m_1にあるcost.resファイルをワークエリアにドラッグ&ドロップします。
    2. File Assistant(ファイルアシスタント)ダイアログで、Reading technology(読み取り技術)をAltair® HyperWorks®にセットし、Next(次)をクリックします。
    3. Single Item in a Time Series(タイムシリーズの単一アイテム)を選択し、Next(次)をクリックします。
    4. 以下のオプションを定義し、Next(次)をクリックします。
      • Type: Unknown
      • Request:Block 1
      • Component: Column 1
      8.
    5. 出力応答のラベルをCostとします。
    6. Expression(式)をFirst Element(最初の要素)にセットします。
    7. Finish(終了)をクリックします。
      Cost出力応答が、ワークエリア内に追加されます。
      9.


  4. Evaluate(評価)をクリックして出力応答値を抽出します。

最適化の実行

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


  5. MaxDisp出力応答に制約条件を適用します。
    1. Add Goal(目標を追加)をクリックします。
    2. Apply On(応答)列で、MaxDispを選択します。
    3. Type (タイプ)列に、Constraintを選択します。
    4. Deterministic
    5. column 1に<=(以下)を選択します。
    6. column 2に31と入力します。
    11.


  6. Optimization(最適化) > Specifications(スタディ仕様)ステップに進みます。
  7. ワークエリア内でModes(モード)をAdaptive Response Surface Method (逐次更新型応答曲面法)(ARSM)にセットします。
    注: 問題の定式化に有効な手法のみが使用可能です。
  8. Apply(適用)をクリックします。
  9. Optimization(最適化) > Evaluate(評価)ステップに進みます。
  10. Evaluate Tasks(評価タスク)をクリックします。
  11. 最適化の反復履歴を確認します。
    1. Iteration Plot(反復計算プロット)タブをクリックし、最適化反復計算の進捗をプロットします。
    2. Channel(チャンネル)セレクターを使って、Objective_1Constraint_1を選択します。
    目的関数および制約条件vs.反復計算の評価を2Dプロットで表示されます。構造のパフォーマンスを保持しつつ、水平尾翼のコストは、72715から67700へと(7%)低くなったことが見てとれます。
    12.