ANSYS Fluent 2020
By K.Yoshimi
ANSYS Fluentは 世界で最も使用されているCFDソフトウェアで、最も信頼性の高いCFDソフトウェアの1つです。 日本でCFDを導入している大企業なら大抵は所有しているように思います。
歴史を紐解けば、Fluentは、1979年に英国のシェフィールド大学の研究グループ によって原型が開発されました。そして、1983年に、ニューハンプシャーのCreareという会社が Fluentとして販売を開始します。 その後、1988年にFluent, Inc.が設立され、2006年にANSYS社に買収され現在に至っています。
パッケージの内容
Fluentを使用するためには、Fluentを含むANSYSのパッケージ製品を購入する必要があります。 例えば、「ANSYS CFD Preminum」や「ANSYS CFD Enterprise」は、Fluentの他に、Workbench(複数のソフトウェアを管理するツール)、 SpaceClaim、 ANSYS FLUENT Meshing、 ICEM CFD、 EnSight、 CFX(別のCFDソルバー)、CFD-Post(CFXに付属していたポスト処理ソフトウェアでFluentの結果にも対応)などを含みます。
FluentはWindowsとLinuxに対応してますが、SpaceClaimはDirectXで開発されおり、 Windowsにしか対応していないので注意が必要です。
基本的なインターフェースとワークフロー
ANSYS社が想定しているワークフローの1つとしては、まず、形状をSpaceClaimで作成し、 それから、パートや境界を分けてラベルを付け、メッシュの粗密を付けられるようにボディを分けます。 ここで、形状の作成については、外部の3次元CADソフトウェア (NX、CATIAやSolidWorks、AutoDesk Inventorなど)で作成してから、SpaceClaimに読み込む方法でもよいでしょう。 その後は、SpaceClaimの形状ファイルをFluentに読み込みメッシュを生成し、シミュレーションを流すという流れになります。
少し前までは、Workbenchに付属するDesign ModelerとANSYS Mesherを使用してFluentのメッシュを作成する 流れもありましたが、 Fluent Meshingに"Watertight Workflow"がR2019に導入されてからは、Design Modelerの代わりに、 SpaceClaimで形状を作成してからそのままFluentに読み込んでメッシュを作成するのが主流になりつつあります。 こうなると、Workbenchを使用する優位点が無くなりそうですが、 形状変更に対するパラメータスタディや流体-構造連成解析などを行う場合は、 1つの環境で統合的に扱えるWorkbenchは、依然として優位性があると思われます。
Fluentのインタフェースは下図の通りです。こちらは、少し前に大幅に改定されてからは、 大体は固定されたようです。 まず、左側にある"Setup"ツリーにて、境界条件や流体の種類や物性、ソルバーの設定、繰り返し計算の終了条件などを シミュレーションを走らせる前に設定をします。 ツリー上の項目をクリックすると、“Task Page"に詳細設定が現れます。 形状やプロット図、また、解析結果が読み込まれた状態ではコンターなどがメインウインドウの右にある ビュー上に表示されます。古くからのユーザに対しては、ウィンドウ下部にある"Console"に キーボードからコマンドを打てるようにText-User-Interface(TUI)も用意されています。 ここには、計算中に残差や警告なども表示されます。上部のリボンには、素早くアクセスできるように ツリー内の項目に対するアイコンが用意されています。

境界条件や物性、ソルバーを設定し、準備が整ったら、FluentのGUIから計算を実行します。 バッチ実行やジョブを投下するスクリプトで実行することも可能です。 計算が終了したら、結果をFluentのGUIで確認、分析します。 CFD-PostやEnSightを使用してもよいでしょう。
モデリング機能
Fluentには多数の物性や物理オプションが用意されています。 定常、非定常, segregatedソルバー、coupledソルバー、層流、乱流、 過渡流れソルバー、混相流(相変化を含む)、メッシュの移動、エネルギーの湧き出しと吸い込み、 化学反応、パッシブスカラー/トレーサーなどなどです。 LESやDESソルバーも組み込まれています。また、所望の物理現象が組み込まれていない場合のために、 FluentはUDF(User Defined Functions)と呼ばれる、ユーザ定義コードをサポートしています。 これによって、ユーザがコードを書くことで、各セル要素での物理的な振る舞いを制御できます。 その他機能については、 ANSYS FLUENT 機能 をご参考ください。
CADのクリーンナップとメッシュ作成
先にも述べましたが、Fluent Meshingに"Watertight Workflow” と呼ばれる方法がR2019から導入されました。 下図がそのツリー構造です。

ユーザがこのツリーを上から下に進むことで、形状の読み込み、メッシュ・パラメータの設定、 境界やzoneに対するラベル付け、最後に表面メッシュやボリュームメッシュを生成します。 従来のFluent Meshingに比べて、使い勝手が非常に良くなりました。 ただし、“Import Geometry"で、ParasolidのようなCADファイルを直接読むことはできますが、 追加のライセンスを購入する必要があります。そこで、代わりに、SpaceClaimを経由して Fluent Meshingに読み込ませるのがよいでしょう。SpaceClaimならParasolid形式も SolidWorks形式も追加のライセンス無しに読み込むことができます。
さて、Watertight Workflowが完了するとメッシュが生成されますので、次は CFDシミュレーションのパラメータを設定します。ここで、ユーザはメッシュを *.mshファイル形式で保存します。そして、全ての解析用のパラメータを設定したら *.casファイル形式で保存します。 このように、メッシュだけのファイルと、計算設定を含むファイルの拡張子を区別しておくのが 慣例のようです。
近年、ANSYS社がFluent Meshingに力を入れて開発しているので、非常に使い易さが向上しています。 ボリュームメッシュの種類としては、テトラメッシュ、ヘキサコア、ポリヘドラルメッシュ、 poly-hexcoreがあります。(カットセルもありますが、不安定のため非推奨です。) また、メッシュの大きさに対して、“preview"機能があるので メッシュを作成する前に計算セルがどのくらいの大きさを確かめられます。 これによって、メッシュが粗すぎるとか細かすぎるとかの試行錯誤で時間を浪費すことがなくなります。 “cut view"機能で作成されたメッシュの内部を見ることができます。
また、Fluent Meshingに"poly-hexcore"と呼ばれるもモザイク・メッシング技術が導入されています。 このメッシュはヘキサとポリヘドラルの混合で、流体領域の大半に流れに沿ったヘキサメッシュを作成し、 壁面に沿う部分にポリヘドラルを配置し、壁面近傍の境界層にはポリヘドラルを押し出したように配置します。 下図のように、従来のプリズム層の代わりに、多面体の層になっているのが分かります。 このメッシュは、ポリヘドラルだけで作成したときよりも、セル数を減らすことができ、 かつ精度を同程度に保つことができるとのことです。また、並列メッシュ生成機能を利用できるので、 プロセス数を多く利用できる場合は、メッシュ生成時間を短縮できます。

一方、Fluent MeshingのWatertight Workflowは、名前の通り、形状として 水が漏れないような閉じた形状を要求します。そのため、不完全な形状に対してメッシュ生成するためには、 形状の修正や、ラッピングなどの前処理が必要になります。 また、高精度な数値解への要請から、四角形やヘキサメッシュが要求される場合もありますが、 Fluent Meshingには、これらのメッシュタイプに対応していません。 そこで、このような時は、高機能メッシュ生成ツールのICEM CFDを使うとよいでしょう。 昨今は、ICEM CFDの機能が、SpaceClaimに移植されつつあることも特筆すべき点です。 これにより、Spaclaimの内で形状作成からメッシュ生成まで行う流れが新たに追加されます。
シミュレーション
Fluentは、Segregated/SIMPLEソルバーや高速流れに対する pressure-velocity coupledソルバーなど広範な解析ソルバーを揃えています。 使えるコア数がたくさんある場合やクラウドが使える環境では、Fluentの 高い並列化性能は魅力的です(なお、5 cpu以上の並列計算の場合は、別途ライセンス購入が必要です)。 ジョブの実行については、GUI上で各種設定を行った後、そのままボタンクリックで 行うこともできますし、コマンドラインからバッチ実行したり、ジョブスクリプトを投入したりもできます。 Windows上で設定したcaseファイルは、Linux上でも実行可能で、逆もまた然りです。 流れ場データ(メッシュデータや設定した観測点での値)は、auto-save/exported機能で 計算中に自動保存することができます。これは、特に非定常計算やデバッグのために有効です。
別の機能として、計算を走らす前に、“report"を設定してモニタリングすることもできます。 例えば、各反復中に平面や境界での圧力を出力できます。この出力を利用すると、計算中に プロットしたり、独自の収束条件を与えたりができるようになります。こうした機能は、別のCFDソフトウェアでは 可能でしたが、Fluentにも最近のバージョンで組み込まれました。
また、ANSYSはGPUを使用した高速化にも注力しています。 ただ、この恩恵を受けるには、高価なGPUを用意する必要があるかもしれません。
ANSYSの並列化計算やGPU計算については、 Ansys HPC (並列計算) をご覧ください。
別の新しい機能として、既存の場の変数(pressure, density, など)を基に、 ユーザがGUI上で"field funstions"を作れるようになりました。 これは、従来の、C言語で書いてコンパイルする方式のUser Defined Functions (UDF)よりも簡易なので、 代用になるかもしれません。
後処理
計算が終了すると、残りは後処理となります。このためには、いくつかの選択肢があります。 CFDで一般的に行う後処理(コンター、流跡線、ベクトル図、XYプロッタ図など)は FluentのGUIの中で行うことが可能です。 CFD-Postも同様のことが可能で、特に、非定常計算の結果の場合には、CFD-Postの方が 使いやすいです。ただ、不安定でよく落ちます。ANSYS社は、CFD-Postの開発に力を入れていないようです。
EnSightは、ANSYSが買収したソフトウェアですが、非常に洗練された後処理専用のソフトウェアです。 今後は、こちらが主流になる可能性があります。 FEAの結果もCFDの結果と同時に読み込めるので、流体-構造連成の結果も 可視化することができるのは利点です。