【CAESES】Adjoint Flow Solversによる自動最適化

CAD+最適化ソフトウェアCAESESの開発元FRIENDSHIP SYSTEMSでは、Adjoint Flow Solversで計算された形状感度をもとに、自動最適化計算を実施しました。


CAESESに統合されているオープンソース最適化ツールキットDakotaは、形状感度をCADモデルパラメータに結合して得られる勾配情報を、直接入力データとして受け取ることができる最適化メソッドを提供しています。

この情報をもとにアルゴリズムが、CAESESが作成する設計候補のためのパラメータを選択し、Adjoint Flow Solversで計算が行われます。


 Process diagram for automated optimization using gradient information from adjoint analysis

図1: 勾配情報を利用した自動最適化のプロセス


最適化対象のジオメトリ


このケースで使用されたジオメトリは、エンジン部品に似た90度のダクトです。

入口面と出口面は、位置、形状、方向が固定されていますが、それら以外の部分はすべて自由に変形することができます。

流路方向の可変サーフェスと、ダクト流路/断面の形状制御をする13個のパラメータがモデルに追加されました。

ジオメトリには、パッチ名が定義された、STEPフォーマットにより出力されます。


adjoint_blog_duct

図2: ダクトジオメトリ


ソルバーにはSTAR-CCM+が採用され、すべての設計候補の主方程式と随伴方程式が計算されました。

作動流体には、エンジン部品の一般的なガス速度に対応する50[m/s] の入口速度を持つ空気となります。

約33,000[cells]を持つメッシュモデルを計算する時間は約6分でした。


表面の形状感度は、アジョイントシミュレーション終了後にSTAR-CCM+で計算が行われ、Ensight Goldフォーマットでエクスポート、そしてこの情報をCAESESにインポートしました。

CAESES内では、STAR-CCM+の計算をJAVAマクロで実行/制御しました。

ここで目的関数には、全体の圧力損失が定義されました。


convergence plot of adjoint optimizationConvergence plot for the pressure drop from the automated optimization with and without gradient information from the adjoint CFD optimization

図3: CFD計算からの勾配情報のある/なしによる自動最適化プロセス


自動最適化の過程で13の設計候補が計算され、5番目の形状で圧力損失の値が素早く降下した後、目的関数が16%改善する局所最小値がすでに見つかりましたが、それ以降は大きな改善は見られませんでした。

比較のために、標準的な決定論的アルゴリズムによる従来の最適化も行われ、局所最小値は若干改善されたものの(20%の改善)、必要となる設計候補の数が大幅に増加することとなりました。

特にアルゴリズムの探索段階において、局所勾配の方向を数値的に決定するために必要な小さなステップが必要と考えられますが、勾配情報を使用する場合にはこのステップは省略されており、最適化アプローチの時間短縮のために重要な結果となります。


Shape sensitivities of both designs

図4: (左)初期設計と(右)最適設計の形状感度


設計の収束度については、初期設計と最適設計の形状感度プロットの違いでも確認することができます。

入口と出口の形状が固定されているため、形状の変更が制約されている部分を除き、ほとんどの部分の形状感度が0になっています。

 

まとめ


形状感度を使用し、それらを最適化のコンテキストとしてCADモデルのパラメータと結合することで、下流のCAD設計プロセスに直接供給することができる最適候補ジオメトリを効率的に取得することができます。

さらに、コストはパラメーターの数に比例しないため、事前選択を行うことなく、モデルのすべての形状パラメータを最適化に含めることができます。

ただし、随伴感度に基づく予測は、ジオメトリに対する小さな変更に対してのみ有効であり、最適化のためにこの情報を使用することは局所的な手順であることを考慮してください。

グローバルな最適が探索される場合、より広い設計空間をスキャンするために、実験計画法による計算を行う方が良い結果に繋がるケースもあります。