MV-3000:MotionView - HyperStudyを使用したDOE

このチュートリアルでは、以下の操作を行います:
  • HyperStudyを使用して、MotionViewモデルのDOEスタディを設定する。
  • MotionView - HyperStudy環境でDOEスタディを実行する。
  • DOEの結果を使用して、MotionViewモデルの最適化実行で使用できる近似を作成する。

理論

HyperStudyを使用すると、CAE環境でDOE(Design of Experiments:実験計画法)、最適化、確率統計調査を実行できます。DOEスタディの目的は、モデルのパラメータ(設計変数)の変更がそのモデルのパフォーマンス(応答)にどのように影響するかを把握することにあります。

DOEスタディが完了すると、そのDOEスタディの結果から近似を作成できます。この近似は、すべての入力変数の関数として出力を記述した多項式の形式をとります。この式は回帰方程式と呼ばれています。

この回帰方程式を使用して最適化を実行できます。

注: DOEの目標は、システムの挙動を理解することであり、単一の最適解を見出すことではありません。

HyperStudyを使用すると、さまざまな条件下で設計が示すさまざまな特性を検討できます。このような特性として非線形なものも考えられます。

HyperStudyでは以下の機能も実行できます:
  • ユーザー定義のスタディなど、さまざまなタイプのDOEスタディを提供する。
  • 多領域のDOE、最適化、確率統計調査の実施を容易にする。
  • 確率統計調査向けにさまざまなサンプリング手法と分布状態を提供する。
  • 使いやすいインターフェースを通じて、任意のソルバー入力モデルをパラメータ化する。
  • 大規模な式ビルダーを使用して数学演算を実行する。
  • 堅牢な最適化エンジンを使用する。
  • 調査結果のポスト処理のサポートを提供する。
  • MVWTXTなどの複数の結果フォーマットによるスタディ結果をサポートする。

ツール

MotionViewでは、以下の操作でHyperStudyにアクセスできます。
  • メニューバーからApplications >HyperStudyを選択します。

続いて、DOEまたは最適化の演習で使用する設計変数としてMDLプロパティデータを選択できます。MotionViewのプリファレンスファイルにはソルバースクリプトが登録されていて、HyperStudyインターフェースから使用できます。これらのスクリプトを使用して複数のソルバーを連続的に実行し、DOEまたは最適化を実現できます。

どのようなスタディでも、HyperStudyのプロセスは以下の図のようになります。



図 1.

HyperStudyのプロセス

MotionViewのMDLファイルはHyperStudyに直接読み込むことができます。MotionSolveADAMSAbaqusなど、あらゆるソルバーの入力ファイルはパラメータ化可能であり、それらのテンプレートファイルをHyperStudyの入力としてサブミットできます。パラメータ化したファイルでは、DOE、最適化、または確率統計調査の実行によって変更された設計変数が特定されます。その特定結果に応じてソルバーが実行され、その実行結果がHyperStudyでポスト処理されます。

mbd_modeling\doeフォルダにあるhs.mdlファイルとtarget_toe.csvファイルを各自の<working directory>にコピーします。

以下のステップでは、フロントSLAサスペンションモデルを対象としたDOEスタディを実行するために、その前段階のスタディを作成します。



図 2.

静的ライド解析を実行する中で、内側タイロッドのジョイントと外側タイロッドのジョイントの原点座標位置がトー曲線上で変化したことによる影響を判断します。

手順1:スタディのセットアップ

  1. 新しいMotionViewセッションを開始します。
  2. Model-Mainツールバー上のOpen Modelアイコンをクリックします。

または、メニューバーからFile > Open > Modelを選択します。

  1. 作業ディレクトリ<working directory>内にあるモデルファイルhs.mdlを選択し、Openをクリックします。
  2. Static Ride Analysisの下で、モデルとトーカーブ出力リクエストを確認します。
  3. ApplicationsメニューからHyperStudyを選択します。
    HyperStudyが起動します。メッセージ“
    Establishing connection between MotionView and HyperStudy
    ”が表示されます。
  4. 下記のいずれかの方法で、新規スタディを開始します。
    • ウェルカムページページで新規スタディアイコンをクリックします。
    • ツールバーで(新規スタディ)アイコンをクリックします。
    • メニューからFile > Newを選択します。HyperStudy - Add Studyダイアログが表示されます。


    図 3.
  5. デフォルトの識別子を受諾します。
    1. Location(位置)の下でファイルブラウザをクリックし、<作業ディレクトリ>を選択します。
    2. OKをクリックします。
  6. モデル定義
    1. スタディのSetup(セットアップ)ツリーからDefine models(モデルの定義)を選択します。
    2. をクリックしてAdd(追加)ダイアログを開きます。
    3. Type(タイプの選択)の下で、MotionViewを選択し、MotionViewモデルをスタディに追加します。
    4. デフォルトの識別子を受諾します。
    5. OKをクリックします。
      モデルデータを含んだ、下に示す表が作成されます。


      図 4.
  7. モデルデータ
    ユーザーがモデルを定義する際に、以下の詳細は自動的に入力される点(1つ前の手順)にご留意ください。
    1. Active(アクティブ)の下で、スタディからモデルをアクティブにするには、ボックスにチェックマークを入れます。
    2. 前の手順で入力されたモデルのラベル
    3. 前の手順で入力されたモデルの識別子
    4. 前の手順で選択されたモデルタイプ
    5. ソースファイルを指定(ここでは、モデルファイルはMotionViewHyperStudyインターフェースを介してMotionViewから供給される)
    6. 正しい拡張子のついたソルバー入力ファイルの名称を入力し、(MotionSolveの場合、拡張子は.xml)ソルバー実行スクリプトMotionSolve - standalone ( ms )を選択します。
  8. 設計変数の作成
    1. Import Variables(変数のインポート)をクリックし、スタディの設計変数を指定します。
    2. MotionViewModelブラウザウィンドウが開き、ここで変数をインタラクティブに選択することができます。
    3. Model Parameter Tree(モデルパラメータツリー)ダイアログを使って、ブラウザから下記を選択します:
      System Point Coordinate Function
      Front SLA susp. Otr tie-rod ball-jt -left Y ダブルクリック、またはAddをクリック
      Front SLA susp. Otr tie-rod ball-jt –left Z ダブルクリック、またはAddをクリック
      Parallel Steering Inr tie-rod ball - left Y ダブルクリック、またはAddをクリック
      Parallel Steering Inr tie-rod ball - left Z ダブルクリック、またはAddをクリック


      図 5. Model Parameter Tree(モデルパラメータツリー)ダイアログ
    4. Doneをクリックします。
    5. Next(次)をクリックし、設計変数の定義に進みます。
  9. 設計変数の定義
    1. Define design variables(設計変数の定義)タブで、下の一覧に従い、設計変数の上限と下限を編集します。
      Point Coordinate Lower Bound(下限値) Upper Bound(上限値)
      Outer tie-rod ball-jt -left Y -571.15 -559.15
      Outer tie-rod ball-jt - left Z 246.92 250.92
      Inner tie-rod ball - left Y -221.9 -209.9
      Inner tie-rod ball - left Z 274.86 278.86


      図 6.
    2. この手順には、設計変数への他のプロパティの定義も含まれています。オプションのModes(モード)およびDistributions(分布)は、指定した範囲での入力変数のバリエーションを指定します。オプションのLinks(リンク)は、数式を介して異なる設計変数同士をリンクするために使用されます。
    3. 各タブをクリックし、これらのオプションを確認します。
    4. 追加可能なオプションを確認するには、列のヘッダーの行を右クリックします。


      図 7.
    5. Next(次)をクリックし、Specifications(スタディ仕様)に進みます。
  10. モデルをテストします。
    このセクションでは、HyperStudyが計算を実行し、そのファイルにアクセスして同じ結果を抽出できることを確認するためのテストランを実行することができます。


    図 8.
    1. Run Definition(実行定義)をクリックし、シミュレーションを開始します。
      注: 完了すると、以下のオプションに緑色のチェックマークが表示されます。Write(書き出し)、Execute(実行)またはExtract(抽出)。
    2. Next(次)をクリックすると、Define Output Response(出力応答の定義)に進みます。
  11. 応答の定義
    1. Add Responseをクリックし、新しい応答を追加します。
    2. 応答のラベルをSum of Squared Errorとします。
    3. 変数名を受諾し、OKをクリックします。


      図 9. 応答テーブルデータ
    4. 応答テーブル内、Expression(式)セルの…をクリックしてExpression Builder(式ビルダー)を起動します。


      図 10. 式ビルダー
      注: 関数の上にカーソルを移動すると、その関数についてのヘルプを得ることができます。本演習では、応答関数は次の2つのデータソースを必要とします:
      • Data Source 1の要素には、ベース設定についてソルバーランからのトーカーブの実際のデータポイントが含まれます。
      • Data Source 2の要素には、ターゲットカーブからのデータポイントが含まれます。
    5. Data Sources(データソース)タブをクリックし、ファイルからデータを得ます。
  12. Data Source 1
    1. クリックし、ソルバー出力ファイルを使って新しいデータソースを追加します。


      図 11. 応答データテーブル
    2. Data Source(データソース)テーブルのFile(ファイル)セルで…をクリックしてData Source Builder: Data Source 1 (ds_1)ダイアログボックスを開きます。
    3. ファイルブラウザボタンをクリックし、<working directory>\approaches\setup_1-def\run__00001\m_1\からm_1.mrfを選択します。
    4. これで、Type、RequestおよびComponent欄に入力が可能となります。
    5. Typeドロップダウンメニューから、Expressionsを選択します。
    6. Requestドロップダウンメニューから、REQ/70000033 toe-curveを選択します。
    7. Component ドロップダウンメニューからF2を選択します。


      図 12. Data Source 1ダイアログボックス

      これで、Data Source 1用のデータ要素として、ソルバーランからのトーカーブデータが選択されました。

    8. OKをクリックします。
  13. Data Source 2
    1. ターゲットトーカーブからのデータ要素を保持するデータソースを作成します。
    2. Add Data Sourceをクリックし、リファレンスファイルを使って新しいデータソースを追加します。


      図 13. 応答データテーブル
    3. Data Source2(データソース 2)テーブルのFile(ファイル)セルでをクリックしてData Source Builder: Data Source 2 (ds_2)ダイアログボックスを開きます。
    4. ファイルブラウザボタンをクリックし、<working directory>\にあるファイルtarget_toe.csvを選択します。
      • TypeをUnknown、RequestをBlock 1に設定します。
      • Component ドロップダウンメニューからColumn 1を選択します。
      • OKをクリックします。
  14. Expression(式)欄を編集し、以下の式を作成します:

    sum((ds_1-ds_2)^2)

    この式は、“実際のトーの変化”の値(ソルバーランより)と“目標のトーカーブ”(インポートされたファイルより)との差の二乗の和を評価します。後続のチュートリアルMV-3010では、HyperStudyを使用し、この式の値を最小化して、必要とされるサスペンションのコンフィギュレーションを求めます。



    図 14.
  15. Evaluate expression(式の評価) をクリックし、式が正しく評価されていることを確認します。値16.284が得られるはずです。
  16. OKをクリックし、Expression builder(式ビルダー)を閉じてEvaluate(評価)ボタンをクリックします。
  17. FileメニューからSave As…を選択します。
  18. このスタディのセットアップを<working directory>\setup.hstudyとして保存します。

手順2:DOEスタディ

  1. 新規DOEスタディの追加
    1. エクスプローラブラウザ領域を右クリックし、コンテキストメニューからAdd(追加)をクリックしてAdd Approach(アプローチの追加)ダイアログを表示させます。


      図 15.
    2. Next(次へ)ボタンで新しいDOEスタディを追加します。


      図 16.
      注: Add Approachダイアログが表示されます。


      図 17.
    3. Select Type(タイプの選択)の下でDoeを選択します。
    4. デフォルトのラベルと識別子を受諾し、OKをクリックします。
      DOE 1という名称のDOEスタディツリーがブラウザに表示されます。
    5. Next(次へ)をクリックし、次の定義に移動します。
      注: モデルと入力変数は以前のセットアップから抽出され、すでに定義されているのを確認してください。本スタディ内の全ての設計変数は制御変数である点に注意します。


      図 18.
  2. Test models(モデルをテスト)定義します。
    1. Review(レビュー)をクリックすると、Test Models(モデルをテスト)ステップに移動します。


      図 19.
    2. Run Definition(実行定義)をクリックして、モデルのテスト実行します。


      図 20.
  3. DOEスタディのための応答の選択:
    1. 現在のスタディには応答は1つしかありません。その応答を選択してください。
    2. Next(次)をクリックし、Specifications(スタディ仕様)に進みます。
  4. DOEスタディの仕様:
    DOEスタディの設計空間は、このステップで作成されます。現在のスタディには、それぞれが2つのレベルを有した4つの設計変数が含まれています。実験数はより少ないため、完全要因は、2の4乗 = 16 実験となります。完全要因のランを行います。
    1. Show more...をクリックしFull Factorialモード を選択します。


      図 21.
      注: リストから任意のモードを選択すると、GUIの右側のパラメータパネルに、使用可能なオプションの全てが表示されます。
    2. Levels(レベル)タブをクリックし、設計変数とレベル数を確認します。


      図 22.
    3. Interaction(交互作用)タブをクリックし、適用不可であることを確認します。これは、全ての交互作用がデフォルトで完全要因のランに選択されているためです。


      図 23.
      注: 適用されないオプションはグレイアウトされているか、もしくはメッセージが表示されます。
  5. Apply(適用)をクリックし、設計空間を作成します。
  6. Next(次)をクリックし、Evaluate(評価)に進みます。
  7. DOEラン:

    タスクタブには、16行4列のテーブルが表示されています。列1は実験番号、その他の列はモデルの実行の3つのステージ書き出し、実行、抽出において各実験が更新された失敗または成功の実験ステータスに対応しています。

    各実験下で使用される設計変数値は、Evaluation Data(評価データ)タブで確認できます。

    一番右の列は、各ランからの応答値に対応しています。これらの値は、ランが完了した際に入力されます。

    1. Evaluate TasksをクリックしてDOEスタディを開始します。


      図 24.

      すべてのランが完了すると、タスクテーブルで各ランについてのステータス(成功/失敗)が示されます。

    2. 現在のDOEスタディでは、すべてのランが正常に完了しています。Next(次)をクリックし、Post Processing(ポスト処理)に進みます。
  8. 主効果と交互作用のプロットの確認:
    ポスト処理セクションには、ユーザーが結果のポスト処理を効果的に行うための様々なユーティリティが用意されています。ポスト処理ページでは、設計と応答のサマリーが表示されます。

    新世代のHyperStudyでは、列のヘディングを右クリックしてコンテキストメニューからオプションを選択することにより、データをソートすることが可能です。

    ポスト処理のためのオプション群は、その他のタブにも用意されています。主効果は、Linear Effects(線形効果)タブを選択することによりプロットできます。

  9. 主効果
    1. Linear Effects(線形効果)タブをクリックして、主効果のプロットウィンドウを開きます。Channel(チャンネル)ページで、主効果をプロットする必要のあるVariables and Responsesを選択します。複数の選択を行う場合は、マウスの左ボタンを押し、変数または応答のリストの上で移動させます。
    2. 全ての制御変数と応用を選択し、主効果のプロットを描画します。このプロットは、応答の各パラメータの効果を示します。


      図 25. DOE – 主効果のプロット
      注: ウィンドウアイコン(上の図のハイライト部分)をクリックし、複数ウィンドウのアイコンに切り替えます。各カーブが異なるプロットウィンドウ内に表示されます。
  10. 交互作用
    交互作用は、別の入力変数の異なるレベルにおける出力応答に同じ影響を及ぼすための1つの変数の失敗です。すなわち、影響の強さまたはサイン(方向)は、他の変数の値(ラベル)によって異なります。交互作用は正でも負でもあり得ます。

    交互作用は、Interactions(交互作用)タブで上記のプロシージャに従ってプロットすることが可能です。

    1. 設計変数Otr_tierod_ball_jt-left-zおよびInr_tierod_ball_jt-left-z、および応答Sum of Squared Errorを選択します。
    2. Interaction(交互作用)タブをクリックし、適用不可であることを確認します。これは、全ての交互作用がデフォルトで完全要因のランに選択されているためです。
      これは、これら2つの変数のみについての交互作用を表示します。


      図 26. “Otr_tierod_ball_jt-left-z” および “Inr_tierod_ball_jt-left-z” 交互作用についての制御設計変数のプロット

手順3:近似関数

システム応答は、様々なカーブフィッティングの手法を用いることで近似されます。異なる設計変数での応答の近似は、上記のDOEスタディからのデータを使って計算されます。近似の精度は確認し、向上させることが可能です。

  1. 近似関数の追加
    1. エクスプローラブラウザ領域を右クリックし、コンテキストメニューからAdd(追加)をクリックしてAdd Approach(アプローチの追加)ダイアログを表示させます。


      図 27.
    2. Select Type(タイプの選択)の下でFitを選択します。
    3. デフォルトのラベルと識別子を受諾し、OKをクリックします。
      Fit 1という名称の新しいツリーがブラウザに生成されます。
    4. Next(次へ)をクリックし、次の定義に移動します。
      注: モデルと入力変数は以前のセットアップから抽出され、すでに定義されています。


      図 28.
    5. Test models(モデルをテスト)定義します。Review(レビュー)をクリックすると、Test Models(モデルをテスト)ステップに移動します。Run Definition(実行定義)をクリックして、モデルのテスト実行します。


      図 29.
    6. Next(次へ)をクリックして出力応答を確認します。
    7. Next(次へ)をクリックして、スタディ仕様を定義します。
  2. スタディ仕様を定義します。

    1. 注: デフォルトでマトリクスが追加されています。DOE結果を入力マトリクスとして設定するための以下のオプションが選択されているかどうかを確認します。


      図 30.
    2. Type(タイプ)の下で、ドロップダウンメニューを使ってInputを選択します。
    3. Matrix Source(マトリックスソース)に、ドロップダウンメニューからDoe 1を選択します。
      現在のスタディでは、検証マトリックスは使用していません。したがって、検証マトリックスにはいずれのマトリックスも追加されません。
    4. Display欄の下にあるView(ビュー)をクリックして、実行マトリクスを確認します。Close(閉じる)で戻ります。
    5. フィットタイプをMMoving Least Squares(移動最小自乗法)に変更し、デフォルトを受け入れます。
    6. Apply(適用)をクリックし、近似の手法を適用します。
    7. Next(次)をクリックし、Evaluate(評価)に進みます。
    8. DOE実験に対応した空のTasks(タスク)テーブルを確認します。
    9. Evaluate Tasksをクリックし、DOE実験についての近似を評価します。
      完了時には、テーブルにステータスの値(Success(成功)または(失敗))が入力されます。
    10. 他のタブをクリックして、フィッティングを確認します。
    11. Evaluation Data(評価データ)タブをクリックし、MotionSolveのランからの応答を含んだ実験テーブルと、近似を使って予測された応答を確認します。Evaluation plot(評価プロット)タブを選択すると、同じものがグラフフォーマットで確認できます。
    12. Sum of Squared of Squared ErrorSquared of Squared Error_MLSMを選択し、実験番号に対しプロットを生成します。


      図 31.

      このフィッティングは、応答への良好な近似を示しています。

    13. Next(次)をクリックし、Post Processing(ポスト処理)に進みます。
      ポスト処理は、近似の正確さの検証において有益な統計的パラメータとグラフィカルなツールを提供します。

      (残差)タブには、ソルバーからの応答値と回帰式からの応答値との差が表示されています。

      残差値は、どのランが回帰モデル内でより多くのエラーを生み出しているかを知るために使用できます。

      Trade-off(トレードオフ)タブには、主効果vs.近似からの応答のプロットが表示されています。



      図 32. トレードオフ:3Dプロット
    14. X軸としてOtr_tierod_ball_jt-left-yを、Y軸としてをOtr_tierod_ball_jt-left-z選択し、vs.近似からの応答をプロットします。


      図 33.
    15. ツールバーで保存のアイコンをクリックし、スタディを保存します。
      注: スタディのファイルは全て、ツリーの変数名と同じ名称のついたフォルダでスタディディレクトリに保存されます。たとえば、nom_1doe_1およびfit_1