形状最適化

概要

Fluxでは、Windowsの場合のみ、ベータモードにあるFlux 2DモジュールのMagneto-StaticまたはTransient Magneticアプリケーションで形状最適化を実行できます。このためには、最適化問題を定義する必要があります。最適化問題は、このパートに示すように、目的関数と制約を定義します。

ここでは次の各トピックについて説明します:
  • Adjoint法
  • OptiStructとの連成
  • Fluxにおける形状最適化の設定方法
  • 制限事項
  • 用途の例

Adjoint法

Adjoint法では、ラインなどの形状エンティティではなく、メッシュ節点の動きに基づく準解析的感度の計算が可能になり、有限差分法よりも計算時間を短縮できます。領域および材料の境界を維持し、メッシュ要素が重なり合うのを回避しながら、メッシュ節点は、計算シナリオで目的関数に対する感度計算によって定義された最も引力の強い方向に移動します。Fluxでは、この方法には電磁設計の移動ラインのような構造情報が必要とされ、最適化問題(応答、目的関数、制約)の定義と解析シナリオの定義も必要になります。移動するのはメッシュのみで、形状エンティティではないことに注意する必要はありますが、.../Extensions/Macros/Macros_Flux2D_Shape_OptimizationフォルダーにあるCreateGeomFromOS.PFMという名前のマクロを使用すると、ラインやポイントなどの形状エンティティをメッシュ節点から再構築することができます。Adjoint法の処理の詳細については、こちらのページをご参照ください。

OptiStructとの連成

前述のように、節点の変位はFluxで計算される感度によって管理されますが、OptiStructでもメッシュの節点を移動させることができます。完全な形状最適化を実行するため、他の操作を開始する前に、OptiStructとの連成を管理する必要があります。
  • OptiStruct 2021.1をインストールします。 https://altairone.com/Marketplace
  • Flux Supervisor > Options > Coupled softwareの順に選択してOptiStructのインストールパスを設定し、次のようにローカルインストールパスを追加します: C:\Program files\Altair_2021\hwsolvers\scripts

Fluxにおける形状最適化の設定方法

Fluxで形状最適化を実行する最初のステップは、最適化問題を定義することです:
  • 左側のデータツリーで、Solverの中のOptimizationノードで、Responsesノードを選択し、短いリストから応答を選択します。応答は最適化問題の一部となる物理量です。使用可能な応答のリストはこちらにまとめてあります。これらの応答は最適化の対象となる物理量です。
  • 次に、データツリーでConstraintsノードを選択します。次の3つのタイプの制約を定義できます: ボリューム制約の上限と下限による構造的制約、軸による設定可能な節点の変位に対する制約または2軸対称の制約、1つまたは複数のResponsesを使用する物理量に対する制約。これらの制約の詳細については、こちらのページをご参照ください。Fluxで形状最適化を実行するために、最適化問題内に制約を持つことは必須ではありません。
  • Optimization problemノードを選択します:
    • Minimization or maximization欄を選択した値に設定します。この欄では、目的関数を増加させるのか、減少させるのかを選択できます。
    • Objective function to optimize欄で、目的関数に適用する演算を設定します。これは提供される簡単なリストで定義するか、Composeで定義されるカスタム関数で定義できます。Composeで定義される関数の場合は、追加のパラメータ(関数の名前など)が必要になります。omlファイルタイプを使用して、目的関数や複数の制約を定義できます。
      注: Predefined operationsの詳細についてはこちらCompose functionの詳細についてはこちらをご参照ください。
    • 前に定義したResponsesConstraintsを選択します。
      注: 複数の応答を同時に選択できますが、Fluxではこの機能はMulti-responseと呼ばれます。ここではすべての値間でリンケージが操作されます。すべての応答が必ず同じ値範囲内にあるようにしてください。
      注: 複数の制約も同時に選択できます。
  • Solvingメニューで、Run Shape Optimizationを選択します。次のことを求められます:
    • メッシュの節点が移動できるラインを選択する。
    • 解析シナリオを選択する。
    • 最適化実行中に作成される一時ファイル用の作業ディレクトリを選択する。
    • 以前に定義した最適化問題を選択する。
    • リメッシュ方針(リメッシュあり / リメッシュなし)を選択します。変位後にメッシュの品質が劣化しすぎる場合には、最適化の2回の反復の合間で節点と要素を追加することで、最適化を向上させることができます。このオプションのさらなる微調整は、Optimization optionsで設定できます。
  • オプティマイザーで異なるオプションを設定するには、Optimization optionsノードを表示します。詳細情報についてはこちらのページをご参照ください。
注: 同じようなアルゴリズムはAdvanced modeにも存在し、Run Shape Optimization (finite difference)という名前になっています。前に説明したように、このアルゴリズムはAdjoint法ではなく有限差分法に基づいています。この手法では、Responsesとしてすべての種類のセンサーと式でShape Optimizationを実行できますが、この手法の最大の欠点は、計算に果てしなく長い時間がかかることです。

制限事項

この機能はベータモードでしか使用できないので、いくつかの制限事項が残っています:
  • 解析シナリオの実行中はリメッシュが行われません(形状パラメータ、圧縮性メカニカルセットの変化を含む)。
  • 解析時の適応時間ステップがありません。
  • 選択するラインに関していくつか制約があります(両側の同じ材料の2つのフェイス間の界面にはラインなし、移動シリンダー上にはラインなし)。
  • 最適化するゾーン内のメッシュは薄く、規則性がある必要があります。

この例は、以下に示す2Dアプリケーションノートの項にある、Supervisorで使用可能な例の拡張版として考えることができます:同期リラクタンス機械の形状最適化

デバイス全体の4分の1のみで表された、次の電気機械のモデル化を検討してみましょう。



図 1. 3相電流による4極電気機械
この例では、回転子の形状のみを最適化し、次のことを達成しようとします:
  • 回転子の重みの軽減
  • トルクの平均値の増大

このページで説明したように、形状最適化を実行する場合に選択する応答は、Torque computed on a path (Maxwell Tensor)です。

この最適化問題では、2つの制約が選択されます:
  • 1軸対称の制約
  • 重みを減らすための回転子のボリュームの制約
対称の制約は次のように設定できます:


図 2. 1軸対称の制約に関する原点と対称軸

原点は(0,0)に設定され、対称軸は(0.5,0.5)に設定されます。

ボリュームの制約については、回転子内の鉄の体積を約20%減らしたいと考えています。上限の値はボリューム全体の80%が埋まる状態に対応し、下限ではボリュームの60%が埋まります。

開始時点で初期設計がこの制限範囲外になる場合でも、最適化アルゴリズムが制限範囲にフィットする設計を見つけるために目的関数を低下させ、さらにこのアルゴリズムは、目的関数を増減させるために設計の最適化を開始します。

目的関数では、以前定義したTorque応答のAverageMaximizeするように選択します。

最後に、下の図に示すように、節点が移動可能なラインが選択されます(ラインは黄色で囲まれています):



図 3. 最適化プロセス中に考慮するライン

このシナリオはメカニカルセットの角度で試行され、計算ステップごとに2度の電気的周期をカバーしています。

Shape Optimizationを使用して、一時フォルダー内の複数のファイル(HyperViewでは.wmv)を取得して結果を表示し、Project_OptimizationResults.FLUのメッシュを確認します:


図 4. リラクタンス同期機械の初期設計(a)と、リラクタンス同期機械の最終設計(b)
初期の回転子のパフォーマンスがすでに良好であっても、Shape Optimizationを使用すると著しい改善がもたらされます。表 1に示すように、平均トルクの4.8%の上昇を達成し、回転子の質量は20%減少しています。 図 4 は、初期と最適化後の回転子の設定を示しています。
表 1. 同期リラクタンス機械の初期設計と最終設計の比較
  初期設計 最終設計 差異
平均トルク(N.m) 11.9 12.5 + 4.8%
回転子の重み(kg) 0.5 0.4 - 20%


図 5. 最適化プロセス中の節点の変位

参考資料