ANSYS Fluent Live Tailingとポスト処理
このページでは、Rescaleのライブテール機能とANSYS Fluentのバッチモードでの後処理を紹介します。ユーザーは、RescaleのScaleXプラットフォーム上でFluentジョブを実行しながら、データを直接ライブテール処理およびポスト処理することができます。各セクションでは、以下のようなデモンストレーションを行います。
- ユーザーが指定した間隔でFluentのケースファイルやデータファイルを保存
- 残差のライブテールを行い、画像として保存する
- ユーザーが指定した間隔で等高線、ベクトル、流線画像を保存可能
- レポートプロットおよびレポートファイルの保存
- CFD-Post互換ファイルを保存して、さらに後処理を行うことができます。
- アニメーションファイルやシーンの保存
以下に示すすべてのセクションは、あらゆる Fluent シミュレーションと組み合わせて使用することができます。
Fluentのケースファイルとデータファイルを、ユーザーが指定した間隔で保存する手順を説明します。ユーザーは、ケースファイルのみ、データファイルのみ、またはケース-データファイルの両方を保存することができます。以下の手順でファイルを保存することができます。
- Fluent のセットアップで、Calculation Activities > Autosave をダブルクリックすると、Autosave ウィンドウが表示されます。ここで、データファイルを保存するタイムステップ数を指定することができます。
- また、保存するファイルのルート名を入力することもできます。Fluentでは、rootnameにデフォルトのパスディレクトリが指定されます。ジョブの実行中に作業ディレクトリにファイルが保存されるように、パスディレクトリを削除してrootnameだけを入力するようにしてください。
- ファイル名にtime-stepまたはflow-timeを付加するオプションがあります。この例では、タイムステップ数を200、ファイルのルート名をresults-とし、これにタイムステップを付加しています。
- また、ジャーナルファイルに以下のコマンドラインを記述することで、シミュレーションが停止するタイムステップのデータファイルを保存することができます。これは、シミュレーションが失敗した場合のチェックポイントファイルとして機能します。ファイル名をフロータイムと一緒に保存したい場合は、代わりに%fサフィックスを使用します。ジャーナルの例は次のようになります。
/file/set-batch-options no yes yes no
/file/read-case von_karman.cas
;INITIALIZING
/solve/initialize/initialize-flow
;PATCHING
/adapt/mark-inout-rectangle yes no 0.5 32 -5 5
/solve/patch () hexahedron-r0 () y-velocity ok 0.2
;SOLVING
/solve/dual-time-iterate 3000 20
;SAVING AT LAST TIME STEP OF SIMULATION
/file/write-data von-karman-%t.dat.gz
/exit yes
Fluentバッチでの残量出力については、こちらをご参照ください。
与えられた例では、残差の実行コマンドは次のようになります。
- 実行中にいつでも’residual.png’をクリックすれば、残差のライブテールを行うことができます 。
このセクションでは、Fluentジョブをバッチモードで実行しながら、等高線、ベクトル、流線 を保存する手順を説明します。これらの画像は、Fluentのセットアップに実行可能なコマンドを追加することで保存できます。コマンドの構文は、ANSYS Text User Interface (TUI) Commands Manual に記載されています。
- 画像を保存するコマンドを設定する前に、Fluent で画像に対して特定の表示を保存することもできます。メッシュを表示した後、手動で特定の領域を拡大することができます。
- 上部の表示タブに移動し、表示…をクリックします。保存]ボタンをクリックすると、このビューを保存できるウィンドウが表示されます。この例では、ビューはzoom1として保存されています。
- 左側のソリューションツリーで、Calculation ActivitiesのExecute commandsをダブルクリックします。
- これにより、Execute Commands ウィンドウが表示されます。ここでは、等高線、ベクトル、パスライン、プロットを表示するためのさまざまなコマンドを含めることができます。また、これらのコマンドを実行する頻度を指定することもできます。
コンター
- コンター画像を保存するには、まずコンターを表示するためのウィンドウを設定する必要がある。使用するコマンドは display/set-window ここでは、速度コンター用にウィンドウ番号5を使用する。
- 次に、/display/set/contours…で輪郭の設定を変更します。この例では、以下の設定を変更します。
/display/set-window 5
/display/set/contours/surfaces flow-domain ()
/display/set/contours/filled-contours? yes
/display/set/contours/coloring? no
- 2行目は、ユーザー定義サーフェス「flow-domain」の輪郭を設定するものである。括弧「( )」は、他のサーフェスを使用しないことを指定するために使用し、これを含める必要がある。このステップは、輪郭を設定する上で非常に重要である。3行目は輪郭を塗りつぶすようにし、4行目はバンドカラーリングを使用しないように指定する(したがって、滑らかな輪郭を得ることができる)。デフォルトの設定はバンドカラーリングで、ユーザーは /display/set/contours/n-contours を使って輪郭のレベルを指定することもできる。
- 次に、/display/contour velocity-magnitude コマンドでコンターを表示させます。コンターにはグローバル最小値と最大値を指定する必要があります。あらかじめ設定されている zoom1 ビューを使って、以下のコマンドでコンター画像を保存します。画像の幅や高さの解像度を変更するなどの追加設定も可能です。また、画像の種類を指定するには、/dsiplay/set/picture/driver – を使用します。
/display/contour velocity-magnitude 0 3
/views/restore-view/zoom1
/display/set/picture/x-resolution 1000
/display/set/picture/y-resolution 1000
/display/set/picture/driver png
/display/save-picture velocity-contour-%t.png
この例では、コンター描画の実行コマンドは次のようになります。
- ジョブ実行中に、既に保存されているコンター画像をクリックして、Rescaleのライブテーリング機能を使用し、シミュレーション結果を確認することができます。
ベクター
- 速度コンター用に新しいアクティブウィンドウを設定することができます。この例では、ウィンドウ6をベクトル用に使用します。速度ベクトルを表示するには、次のコマンドを使用します – /display/vector velocity-magnitude .最小値、最大値、矢印のスケール、スキップエブリデータの指定が必要である。あらかじめ定義されたビュー view1 を使い、画像の解像度を定義することで、以下のように画像を保存することができます。また、/display/set/picture/driver コマンドを使用して、画像の種類を指定する必要があります。
/display/vector velocity-magnitude 0 3 12 0
/views/restore-view/zoom1
/display/set/picture/x-resolution 800
/display/set/picture/y-resolution 800
/display/set/picture/driver png
/display/save-picture velocity-vector-%t.png
- また、コマンドライン – /display/set/velocity-vectors/…… を使って、速度ベクトルに対するいくつかの設定変更を行うことができます。
- 与えられた例では、ベクターの実行コマンドは次のようになります。
- ジョブ実行中に、すでに保存されているベクトル画像をクリックして、Rescaleのライブテーリング機能を使用し、シミュレーション結果を確認することができます -。
パスライン
パスライン用に新しいアクティブウィンドウを設定することができます。この例では、パスライン用にウィンドウ7を使用します。最初に、/display/set/path-lines/……というコマンドでパスラインの設定を行います。次に、/display/path-lines/path-lines コマンドを使用してパスラインを表示させることができます。
/display/set/path-lines/maximum-steps 9000
/display/path-lines/path-lines velocity-magnitude farfield1 () 0 0 3 no
/display/set/picture/x-resolution 1600
/display/set/picture/y-resolution 800
/display/set/picture/driver png
/display/save-picture velocity-vector-%t.png
- 最初の行では、最大ステップ数を9000に設定し、パスラインが入口から出口まで延びるようにした。2行目では、パスラインを表面 ‘farfield1’ からの速度の大きさで色分けして表示する。最初のサーフェスに続く「( )」は、他のサーフェスを使用しないことを指定する。次にスキップ係数を指定し、次に速度の範囲を指定する。最後に、’no’を指定してオイルの流路を指定する。また、/display/set/picture/driver コマンドを使用して画像タイプを指定する必要があります。
- この例では、パスラインの実行コマンドは次のようになります。
- ジョブ実行中に、すでに保存されているベクトル画像をクリックして、Rescaleのライブテーリング機能を使用し、シミュレーション結果を確認することができます -。
- 作成したレポート定義に基づいて、’.out’ レポートファイルやレポートプロットを作成することができます。レポート定義を作成するには、ソリューションツリーの下にある「レポート定義」をクリックします。この問題では、抗力係数(Cd)、揚力係数(Cl)、円柱に関するモーメントについてのレポート定義を作成します。
- New > Force Report > Dragをクリックします。新しいウィンドウが開きますので、レポート定義に名前を付け(この例ではcd-cylinderwall)、力の方向とCdを計算するサーフェスゾーンを選択します。さらに、いくつかのタイムステップのCdを平均化することができます(ここでは1を選択)。
- LiftとMomentも同じ手順で行います。すでに定義されている3つのデフォルトのレポート定義 – flow-time、delta-time、iter-per-timestepです。
レポートファイル
- レポートファイルを作成するには、Solutions > Monitors > Report Filesをクリックします。Newをクリックして新しいレポートファイルを作成すると、新しいウィンドウが表示されます。ここで、レポート名を指定し、レポートしたい2つの変数を含めます。この例では、「cl-cylinderwall」対「flow-time」をレポートします。
- 出力ファイル名は、必ずルートディレクトリを指定せずに作成してください。タイムステップやイテレーションを指定することで、変数のデータを取得することができます。また、Print to Consoleオプションに必ずチェックを入れてください。
- ジョブ実行中に、すでに保存されているレポートファイルをクリックして、Rescaleのライブテーリング機能を使用し、シミュレーション結果を確認することができます -。
レポート プロット
- レポートプロットを作成するには、Solutions > Monitors > Report Plotsをクリックします。Newをクリックして新しいプロットを作成すると、新しいウィンドウが表示されます。ここで、プロットする’cd-cylinder’を含めることができます。
- 他のアクティブなウィンドウと共通しないような、適切なウィンドウを選択してください。データの頻度、ポットタイトル、ラベルを指定することができます。ウィンドウのアクティブオプションとプリントトゥコンソールオプションを必ずチェックしてください。
- これらのレポートプロットを保存するには、Solution > Calculation Activities > Execute Commandsで実行可能なコマンドを記述します。レポートプロットの作成に使用したウィンドウ番号を設定することを確認します。プロットの保存には、以下のコマンドを使用します。
/display/set-window 2
/display/set/picture/driver png
/display/save-picture cd_vs_flowtime.png
- ここでは、レポートプロットを作成するときに使用したのと同じ名前を画像に使用する必要があります。
- この例では、レポートプロット用の実行コマンドは次のようになります。
- ジョブ実行中に、すでに保存されているレポートプロットをクリックして、Rescaleのライブテーリング機能を使用し、シミュレーション結果を確認することができます -。
- CFD-Post互換のファイルを作成し、CFD-Postにインポートして後処理を行うことができます。Solutions > Calculation Activitiesをクリックします。Automatic ExportでSolution Data Exportを作成します。
- これはエクスポートウィンドウを開き、ドロップダウンボックスからファイルタイプをCFD-Post Compatibleとして選択することができます。次に、セルゾーンをハイライトし、エクスポートしたい変数を選択します。最後に、ルートディレクトリを削除して、ファイル名だけを指定します。ファイル名には、タイムステップやイテレーションを付加することができます。
- CFD-Post互換ファイルの’cdat’ファイルは、RescaleプラットフォームのResultsセクションで見ることができます。これらのファイルをCFD Postにインポートする方法については、ANSYS Fluentユーザーガイドを参照してください。
- アニメーションを作成するには、希望のグラフィックの画像ファイルを高い頻度(タイムステップごと、または2~10タイムステップごと)で保存するのが便利です(フォーマットによって異なる)。その後、サードパーティのソフトウェアやパッケージを使用して、画像シーケンスをビデオや GIF に変換することができます。Fluent は、以下の形式で画像を保存できます:EPS、JPEG、PPM、TIFF、PNG、HSF、VRML。
- 推奨される形式はPNGで、可逆圧縮画像が得られ、メモリ消費量も少なくなります。JPEG形式は、メモリ使用量は少ないですが、非可逆圧縮の画像になります。
- PPMやTIFF形式でも保存できますが、これらは非圧縮であるため、多くのメモリを消費します。HSF形式は高度に圧縮された画像ファイルを提供します。
- 画像を保存するには、実行コマンドを使用するセクションで示したように、目的のグラフィックス(コンター、ベクトルなど)を表示します。次に、画像フォーマットファイルを指定して、画像を保存します。この例では、速度等高線の画像を5タイムステップごとにPNG形式で保存し、アニメーションを得ています。与えられた例では、以下のコマンドを使用しています。
/display/set/window 8
/dispay/set/contours/surface flow-domain ()
/display/set/contours/filled-contours? yes
/display/set/contours/coloring no
/display/contour velocity-magnitude 0 1.5
/views/restore-view/zoom1
/display/set/picture/x-resolution 1200
/display/set/picture/y-resolution 1200
/display/set/picture/driver png
/display/save-picture velocity-anim-%t.png
- この例では、アニメーションの実行コマンドは次のようになります。
- Rescaleには、フィルタオプションを使って特定の出力ファイルをアーカイブし、簡単にダウンロードできるようにする、非常に便利な機能があります。このセクションの出力ファイル・フィルタの見出しを参照してください。この例では、フィルタ「anim」を追加します。これにより、RescaleプラットフォームのResultsタブに「output-archive.zip」ファイルが作成されます。このファイルはローカルにダウンロードし、ビデオフォーマットに変換することができます。
- 画像ファイルをアニメーション動画に変換するために、多くのサードパーティ製ソフトウェア/パッケージが利用可能です。Fluentのユーザーガイドでは、PPMファイルをビデオファイルまたはGIFファイルに変換する際にImageMaverickを推奨しています。
- ffmpeg パッケージをダウンロードすると、画像ファイルを .mpeg または .avi ビデオフォーマットに変換することができます。
- この例では、速度-輪郭を5タイムステップごとにPNG形式で保存し、ffmpegでMP4動画に変換する際に-を使用しています。
`ffmpeg -pattern_type glob -framerate 15 -i "*.png" -vb 20M velocity-animation.mp4`
- このコマンドは、すべての.pngファイルを、フレームレート15、ビデオビットレート20MのMPEGビデオに変換します。拡張子が.mp4であれば、より高画質になります。