MV-3020:2自由度ばね質量システムの最適化
本チュートリアルでは、MotionSolveのOptimization Wizardを使って最適化問題をセットアップする方法について学習します。
MotionSolveは、システムレベルのシミュレーションを実行するために広く使用されています。一般的に、特定の設計の性能がどの程度優れているかを把握するためにシミュレーションを実行します。多くの場合、このようなシミュレーションの目標は、システムが目的の機能を最適な方法で実行できるようにする適切な設計パラメータ群を見出すことにあります。
一般に使用する設計変数は、各種コネクターの位置と方向、およびこれらのコネクターの力特性です。一部のボディの質量と材料のプロパティを設計変数とすることもあります。システムの挙動は通常、応答変数のセットで特徴づけられます。したがって、多くの場合、シミュレーションの目標は、望ましい値が応答変数に得られるような設計変数の値を見つけることになります。
以前は、このような解析では、モンテカルロシミュレーションや実験計画法などの技法が使用されていました。これらの手法はきわめて優れた機能を発揮しますが、計算量が多いため、多数のシミュレーションを必要とします。
MotionSolveは、設計感度を解析的に計算する機能を新たにサポートしています。設計感度は、設計変数を変数とする関数とした応答変数の偏導関数で構成するマトリックスです。勾配ベースの最適化エンジンは、これらの感度を使ってコスト関数を最小化することができます。このプロセスは設計最適化と呼ばれます。一部の設計問題の最適化を可能にする新しい最適化ツールキットも、MotionSolveで使用可能になりました。
設計感度に基づいた最適化は、統計的手法ほど一般的ではありませんが、これらの手法よりも大幅に高速であるため、多くの状況で推奨されるソリューションです。
- MotionSolveでの最適化のプロセス
- 設計変数としてのばね剛性の定義
- 応答関数としての変位の定義
- 目的関数としての応答の使用
- 最適化の実行と結果のポスト処理
- 概要
-
2つのばねが連続して繋がれています。ばね1の剛性はk1、ばね2の剛性はk2です。ばね1の一端はグラウンドに固定されており、一方荷重P1がもう一端に作用しています。ばね2にはその一端にP2の荷重がかかっています。
解析の目的は、変位u1およびu2へのばねの剛性の感度を決定し、それらを使ってシステムのk1およびk2を特定または調整してu1とu2の特定の値を得ることです。
感度を計算するためのMotionSolveのDSA(Design Sensitivity Analysis: 設計感度解析)機能が、この例で活用されます。本チュートリアルでは、モデルを定義し実行するための手順をステップ毎に説明します。
図 1 は、問題のセットアップを示しています。この問題で使用されるプロパティも与えられています:システムがフォローするプロパティのリスト:- 変位: u0 =0(固定)
- Force:
- P1 = 1N
- P2 = 2N
- 剛性:
- k1 = 2 N/mm
- k2 = 3 N/mm
- 応答変数(RV): u1およびu2
- 設計変数(DV): k1およびk2
- Analysis Type:DSAを使用した静解析
最適化のプロセスは、MotionViewでのモデルのセットアップから始まります。MotionViewのOptimization Wizardを用いて、設計変数、応答および目的関数がセットアップできます。また、ウィザードを用いて、ユーザーが最適化を実行し、結果をプロット / 出力することもできます。さらなる解析のために、特定の反復計算からの設計を新規のMDLへとエクスポートすることも可能です。
設計変数の追加
このステップでは、最適化のための設計変数を追加します。
応答変数の追加
このステップでは、最適化のための応答変数を追加します。
- Displacement u1:u1が値3に達するよう、(1-u1/3)**2が使用されます。
- Displacement u2:u2が値4に達するよう、(1-u2/4)**2が使用されます。
目的関数と制約条件の追加
ここで、2つの目的関数を問題に追加します。
最適化の実行
このステップでは、最適化を実行します。
ポスト処理
このステップでは、最適化の結果をポスト処理します。