この記事では、OpenFOAM®とCAESES®による形状最適化のプロセスにおけるソフトウェア接続に焦点を当てていきます。
対象とするアプリケーションはプロペラブレードとしており、外部のソフトウェアとCAESESの接続は短時間でできるため、ブレードの自動最適化や設計検討を迅速にスタートさせることが可能となります。
CAESESとOpenFOAMの連携については、様々なケースで活用されており、CAESES内にもチュートリアルやサンプルファイルが用意されています。
オープンソースソフトウェアを用いたこの連携システムは非常に効率的であり、最適化計算の恩恵を大きく受けることが可能です。
今回の対象となるモデルは、CAESESで作成したパラメトリックなブレードモデルを持つプロペラモデルとなります。
設計変数には以下の5つが設定されています。
・ブレード直径
・ブレード枚数
・ブレード厚み
・コード長
・キャンバー
パラメトリックブレードモデル
最適化計算に使用するモデルを作成した後は、CAESESのSoftware Connector(ソフトウェア接続画面)にてソルバー連携や出力結果の選択などの設定を追加していきます。
まず設定することは、CAESESで作成したパラメトリックモデルを最適化計算に組み込むことです。
今回は、Software Connectorの左上の枠にある"Input Geometry"に、サーフェスごとに色と名前を設定したSTL形式データを追加していきます。
次に、OpenFOAMのスクリプトファイル(dictsなどの設定ファイル)を右上の枠に追加し、CAESESでCFD結果を確認したいので、左下の枠にOpenFOAMやGnuPlotで書き込まれる結果ファイルを追加します。
目的関数の結果取得については、右下の枠に結果取得ファイルを設定します。
今回はForceの結果を目的関数とするため、force.datが設定されました。
Software Connector
Software Connectorに追加したスクリプトファイルに対して、ファイルを構成する数値や値をパラメータ制御を行い、最適化計算に組み込むことが可能です。
CAESES内に追加したスクリプトファイルを直接操作してパラメータ化を行うことができ、スクリプトファイルを別途書き直しによる再設定の必要はなく、CAESESのGUIからOpenFOAMを自在に制御することができます。
制御されたパラメータは、最適化計算が実行されるのと同時に、スクリプトファイル内で制御内容に応じて自動的に数値が置き換えられ、CFD解析のセットアップに対する簡単なパラメータスタディを行うことができるのです。
スクリプトファイルのパラメータ化
OpenFOAM連携時の最適化計算では、CAESESに実行ファイルを設定する必要があります。
実行ファイルであるAllrunファイルを、CAESESがCFD計算のトリガーとして認識するように、ExecutableにAllrunファイルを追加しておきます。
計算実行ファイルの設定
ここまでの設定が完了したら、CAESESに搭載された最適化アルゴリズムを用いて最適化計算や設計変数調査を行うことが可能となります。
CAESESで実行した計算が終了となると、そのままCAESESのGUI上で結果ファイルの確認や、形状変形の傾向、設計変数の寄与度等のチェックを行います。
また、CAESESにはコンター図や流線図、プレーンカットといった基本的なポスト処理機能が搭載されており、結果確認画面では異なる設計候補を並べて比較することができます。
モデル形状や設計変数の画像のみならず外部ツールのPNGファイルや、特定位置でのモデルスクリーンショットといったユーザーが比較したいデータを自由にGUI上に追加して、比較検討を行うことも可能です。
CAESESでのコンター図追加の設定
プロペラブレード近傍の圧力コンター図
外部ツールによる結果グラフと設計変数,目的関数の比較
このようにCAESESでは、OpenFOAMとの連携による最適化計算を簡単に行うことができます。
CAESESは商用ソフトウェアのみならずオープンソースソフトウェアに対しても、最適化計算の総合的なプラットフォームの提供します。