MV-3021:ショックアブソーバーの最適化
本チュートリアルでは、ショックアブソーバーについてMotionViewのOptimization Wizardを使って最適化問題をセットアップする方法について学習します。
- 設計変数としてSpringDamper要素の剛性と減衰を定義
- タイプMaxValの応答を定義
- 目的関数としての応答の使用
- 最適化の実行と結果のポスト処理
- 概要
- ショックアブソーバーは、質量m、線形剛性k、線形減衰係数cで自由度1のシステムとしてモデル化されます。 質量の速度は1 m/s、質量はm = 1 kg、過渡解析の終了時間は12秒を使用します。
最適化の目的は、最大変位が1m未満で、時間間隔0~12sでの質量の最大加速度を最小化することです。これを達成するために、剛性kおよび減衰係数cが設計変数としてモデル化されます。感度の計算には、MotionSolveのFD(Finite Differencing: 有限差分)機能が使用されます。図 1.
設計変数の追加
このステップでは、最適化のための設計変数を追加します。
- MotionViewで、mv_3021_initial_impact_absorber.mdlを開きます。
- Project BrowserでModelを右クリックし、context menuからOptimization Wizardを選択します。
- Design Variablesページの下で、Springsタブをクリックします。
-
kとcをSpringDamper 0の設計変数とします。Model TreeのSpringDamperの下からkおよびcデータメンバーを選択し、Addをクリックします。
図 2.
-
設計変数の上限および下限を、表 1に従って修正します:
表 1. DV 下限値 上限値 sd_0.k 0.2 1.0 sd_0.c 0.2 1.0
応答変数の追加
このステップでは、最適化のための応答変数を追加します。
- 質量のz方向の最大加速度
- 質量のz方向の最大変位
- Responsesページ上をクリックします。
-
をクリックして、応答変数を追加します。デフォルトのラベルと識別子を保持し、OKをクリックします。
- 応答変数が作成されたら、Response Typeの下でMaxValを選択します。
-
Response Expression欄に
`ABS(ACCZ({b_0.cm.id},{m_0.id}))`
と入力します(質量重心のACCZの絶対値)。Response Variableは、図 3に示すように見えるはずです:図 3.
-
再度これらの手順に従い、2つ目の'MaxVal'応答を作成します。Response Expressionには
`ABS(DZ({b_0.cm.id},{m_0.id}))`
を使用します。これで、必要な応答変数がすべて作成されました。完成したページは、図 4に示すように見えるはずです:図 4.
目的関数と制約条件の追加
ここで、目的関数と制約条件を問題に追加します。
-
Goalsページに進みます。Objectivesの下で、
をクリックします。
これで、応答rv_0で目的関数が追加されます。 - Weightに1.0を選択し、TypeはMinのままとします。
-
Constraintsの下で
をクリックし、作成された応答rv_0がrv_1となるよう修正します。
-
符号は'< ='のままとし、値に
1.0
と入力します。これは、rv_1の値が1.0未満となることを保証します。これで目的関数と制約条件が定義され、モデルを実行する準備が整いました。図 5.
最適化の実行
このステップでは、最適化を実行します。
- Solutionsページに進み、最適化の設定を指定して解析を実行します。
- Optimization Settingsをクリックします。
-
DSA typeをFDに変更します。
注: AUTOを選択するというオプションもあります。AUTOを選択すると、MotionSolveはシミュレーションタイプを検知し、感度を計算するための最良のアプローチを選択します。シミュレーションタイプはDynamicであるため、MotionSolveはFDを選択します。
図 6.
-
Save & Optimizeをクリックして最適化を開始します。
最適化が実行されている間、総加重コストvs.反復計算数のプロットと制約値が別々のウィンドウに表示されます。
最適化プロセスが完了すると、Solutionページ内のテキストウィンドウには最適化された設計変数値、応答の最終値および最適化されたコスト関数が表示されます。
期待される設計変数の値は表 2に示すとおりです:図 7.
表 2. RV/VD 期待される値 最適化エンジンからの値 rv_0 0.5206 0.5206 sd_0.k 0.3606 0.36003 sd_0.c 0.4851 0.48569
ポスト処理
このステップでは、ショックアブソーバーの最適化の結果をポスト処理します。
-
Review Resultsページに進みます。
Summaryタブには、設計変数、応答および目的関数の値が表形式で反復計算毎にリストされます。このチュートリアルについては、最適設計変数は、最終反復計算5からのものとなっています。
図 8.
-
Plotタブをクリックし、設計変数、応答変数およびコスト関数の変動をグラフで可視化します。
図 9.
- Animationタブをクリックし、反復計算中に生成されたコンフィギュレーションをアニメーション表示します。
-
Iteration 5を選択してLoad
Resultをクリックし、その反復計算からのH3Dファイルを読み込みます。
/
ボタンクリックして、アニメーションを開始 / 停止することができます。
このタブからは、任意の反復計算に対応した状態のモデルのアーカイブをエクスポートすることも可能です。図 10.
- Archive Model Locationブラウザをクリックし、ファイルのパスを指定します。
-
Export ボタンをクリックします。
これで、モデルをオープン / 実行 / 最適化するのに必要なファイルがすべて含まれるアーカイブフォルダーが作成されます。設計変数値は、ユーザーが選択した反復計算番号の値に設定されます。