形状最適化
概要
Fluxでは、Windowsの場合のみ、ベータモードにあるFlux 2DモジュールのMagneto-StaticまたはTransient Magneticアプリケーションで形状最適化を実行できます。このためには、最適化問題を定義する必要があります。最適化問題は、このパートに示すように、目的関数と制約を定義します。
- Adjoint法
- OptiStructとの連成
- Fluxにおける形状最適化の設定方法
- 制限事項
- 用途の例
Adjoint法
Adjoint法では、ラインなどの形状エンティティではなく、メッシュ節点の動きに基づく準解析的感度の計算が可能になり、有限差分法よりも計算時間を短縮できます。領域および材料の境界を維持し、メッシュ要素が重なり合うのを回避しながら、メッシュ節点は、計算シナリオで目的関数に対する感度計算によって定義された最も引力の強い方向に移動します。Fluxでは、この方法には電磁設計の移動ラインのような構造情報が必要とされ、最適化問題(応答、目的関数、制約)の定義と解析シナリオの定義も必要になります。移動するのはメッシュのみで、形状エンティティではないことに注意する必要はありますが、.../Extensions/Macros/Macros_Flux2D_Shape_OptimizationフォルダーにあるCreateGeomFromOS.PFMという名前のマクロを使用すると、ラインやポイントなどの形状エンティティをメッシュ節点から再構築することができます。Adjoint法の処理の詳細については、こちらのページをご参照ください。
OptiStructとの連成
- OptiStruct 2021.1をインストールします。 https://altairone.com/Marketplace
- Flux Supervisor > Options > Coupled softwareの順に選択してOptiStructのインストールパスを設定し、次のようにローカルインストールパスを追加します: C:\Program files\Altair_2021\hwsolvers\scripts
Fluxにおける形状最適化の設定方法
- 左側のデータツリーで、Solverの中のOptimizationノードで、Responsesノードを選択し、短いリストから応答を選択します。応答は最適化問題の一部となる物理量です。使用可能な応答のリストはこちらにまとめてあります。これらの応答は最適化の対象となる物理量です。
- 次に、データツリーでConstraintsノードを選択します。次の3つのタイプの制約を定義できます: ボリューム制約の上限と下限による構造的制約、軸による設定可能な節点の変位に対する制約または2軸対称の制約、1つまたは複数のResponsesを使用する物理量に対する制約。これらの制約の詳細については、こちらのページをご参照ください。Fluxで形状最適化を実行するために、最適化問題内に制約を持つことは必須ではありません。
- Optimization problemノードを選択します:
- Minimization or maximization欄を選択した値に設定します。この欄では、目的関数を増加させるのか、減少させるのかを選択できます。
- Objective function to optimize欄で、目的関数に適用する演算を設定します。これは提供される簡単なリストで定義するか、Composeで定義されるカスタム関数で定義できます。Composeで定義される関数の場合は、追加のパラメータ(関数の名前など)が必要になります。omlファイルタイプを使用して、目的関数や複数の制約を定義できます。
- 前に定義したResponsesとConstraintsを選択します。注: 複数の応答を同時に選択できますが、Fluxではこの機能はMulti-responseと呼ばれます。ここではすべての値間でリンケージが操作されます。すべての応答が必ず同じ値範囲内にあるようにしてください。注: 複数の制約も同時に選択できます。
- Solvingメニューで、Run Shape Optimizationを選択します。次のことを求められます:
- メッシュの節点が移動できるラインを選択する。
- 解析シナリオを選択する。
- 最適化実行中に作成される一時ファイル用の作業ディレクトリを選択する。
- 以前に定義した最適化問題を選択する。
- リメッシュ方針(リメッシュあり / リメッシュなし)を選択します。変位後にメッシュの品質が劣化しすぎる場合には、最適化の2回の反復の合間で節点と要素を追加することで、最適化を向上させることができます。このオプションのさらなる微調整は、Optimization optionsで設定できます。
- オプティマイザーで異なるオプションを設定するには、Optimization optionsノードを表示します。詳細情報についてはこちらのページをご参照ください。
制限事項
- 解析シナリオの実行中はリメッシュが行われません(形状パラメータ、圧縮性メカニカルセットの変化を含む)。
- 解析時の適応時間ステップがありません。
- 選択するラインに関していくつか制約があります(両側の同じ材料の2つのフェイス間の界面にはラインなし、移動シリンダー上にはラインなし)。
- 最適化するゾーン内のメッシュは薄く、規則性がある必要があります。
例
この例は、以下に示す2Dアプリケーションノートの項にある、Supervisorで使用可能な例の拡張版として考えることができます:同期リラクタンス機械の形状最適化
デバイス全体の4分の1のみで表された、次の電気機械のモデル化を検討してみましょう。
- 回転子の重みの軽減
- トルクの平均値の増大
このページで説明したように、形状最適化を実行する場合に選択する応答は、Torque computed on a path (Maxwell Tensor)です。
- 1軸対称の制約
- 重みを減らすための回転子のボリュームの制約
原点は(0,0)に設定され、対称軸は(0.5,0.5)に設定されます。
ボリュームの制約については、回転子内の鉄の体積を約20%減らしたいと考えています。上限の値はボリューム全体の80%が埋まる状態に対応し、下限ではボリュームの60%が埋まります。
開始時点で初期設計がこの制限範囲外になる場合でも、最適化アルゴリズムが制限範囲にフィットする設計を見つけるために目的関数を低下させ、さらにこのアルゴリズムは、目的関数を増減させるために設計の最適化を開始します。
目的関数では、以前定義したTorque応答のAverageをMaximizeするように選択します。
最後に、下の図に示すように、節点が移動可能なラインが選択されます(ラインは黄色で囲まれています):
このシナリオはメカニカルセットの角度で試行され、計算ステップごとに2度の電気的周期をカバーしています。
初期設計 | 最終設計 | 差異 | |
---|---|---|---|
平均トルク(N.m) | 11.9 | 12.5 | + 4.8% |
回転子の重み(kg) | 0.5 | 0.4 | - 20% |