複数の FEM モデルを用いた最適化

このサンプルでは、1 つの最適化問題の中で複数の FEM モデルを同時に使用する方法を説明します。

サンプルファイル

注釈

サンプルプロジェクトサンプルコード を同じフォルダに配置してください。

このサンプルの動作

このサンプルでは、1 つのプロジェクトファイルに含まれる 2 つの異なる解析モデルを使用して最適化を行います。

1 つ目のモデルでは 2 次元の冷却解析を行い、最高温度を目的関数として使用します。

2 つ目のモデルでは 3 次元の固有値解析を行い、運転周波数と固有振動数の差を最大化する目的関数として使用します。

注釈

この機能を使うことで、例えば同一形状に対する熱解析と構造解析を同時に行い、熱と強度の両方を考慮した最適化が可能になります。

注釈

各 FEM モデルに対して、変数・目的関数・拘束条件を個別に設定することもできます。最適化問題全体はすべてのモデルの目的関数と拘束条件を統合して処理されます。

設計変数と解析設定

../../_images/model-and-analysis-settings.png

モデルの概観と解析設定。2 つの解析モデルで、設計変数は共通です。

変数名

説明

internal_radius

軸の内径

cooling_area_radius

冷却領域の半径

目的関数

../../_images/objectives.png

目的関数の設定

  • 最高温度(最小化)- 2D 熱流体解析モデルから取得

  • 運転周波数と固有振動数の差(最大化)- 3D 共振解析モデルから取得

サンプルコードの実行結果

../../_images/optimization-result.png

実行結果のスクリーンショット。冷却性能を良くするために各 radius を大きくすると固有振動数が低下し、運転周波数に近づきます。

警告

実際の問題で効果的な最適化を行う場合、より多くの試行が必要です。