CPWRITE
6.6 ジョブのモニタと管理
surfaces
リストは,データ取得位置のサブディクショナリのリストによって構成されます.各サブディクショナリは,表面の名前に従った名前が付けられ,
type
で始まる一連の記述で構 成されます.平面上の点と法線ベクトルで定義され,表6.5に示される項目の記述がなされるplane
か,または,既存の境界パッチと一致し,表6.6に示される項目の記述がなされるpatch
のいずれかです.
オプションを提供しています.
<solver>
を指定して実行することで,計算がバックグラウンド で実行され,出力をlog
という名前のファイルに記録します.foamJob <solver>
その他のオプションは,
foamJob -help
を実行することで見ることができます.log
ファイルは,
UNIX tail
コマンドを用いることで見たいときに見ることができます.一般的には,follow
を意味する
-f
オプションを一緒に用いることでlog
ファイルに新しいデータが記録されるのを 捉えることができます.tail -f log
6.6.2
計算モニタ用のfoamLog
スクリプトlog
ファイルを読むことで,ジョブをモニタするには,限界があります.特に,長い期間にわ たって,傾向を抽出するのは困難です.したがって,foamLog
スクリプトによって残差や反復 回数,クーラン数のデータを抽出し,グラフにプロットできるように一連のファイルとして出 力することができます.スクリプトは次のように実行します.foamLog <logFile>
ファイルは,ケースディレクトリの
logs
という名前のサブディレクトリの中に保存されます.各々のファイルは,
<var>_<subIter>
という名前が付けられます.ここで,<var>
は,ログファ イルの中で指定される変数の名前で,<subIter>
は,そのタイムステップにおける繰り返し回数 です.解かれた変数に対して,初期残差はその変数名<var>
をとり,最終残差は<var>FinalRes
という名前をとります.デフォルトでは,ファイルは,時刻と抽出された値という2
列のフォー マットで表されます.例として,
cavity
チュートリアルでは,解が定常状態に収束するのかを見るために,観察した いのはUx方程式の初期残差です.この場合,logs/Ux_0
ファイルからデータを取り出し,図6.5 のようにプロットします.ここでは,残差は単調に収束許容値まで減少しているのが読み取れ ます.foamLog
は,log
ファイルから,うまくそれができるようにファイルを作成します.cavity
チュートリアルの例では次のファイルがあります.
• クーラン数,
Courant_0
• Ux方程式の初期と最終の残差である,
Ux_0
とUxFinalRes_0
,そして反復回数のUxIters_0 (
そしてこれと同等のUyデータ)
• 累積,全体そしてローカルの連続誤差.これは,p方程式ごとに出す.
contCumulative_0
,contGlobal_0
,contLocal_0
,contCumulative_1
,contGlobal_1
,contLocal_1
• p方程式から,残差と反復回数
p_0, pFinalRes_0
,pIters_0
,p_1
,pFinalRes_1
,pIters_1
• 実行時間,
executionTime
Time [s]
Ux 0
0.18 0.16 0.14 0.12 0.10 0.08 0.06 0.04 0.02 0.00 1e+00
1e-01 1e-02 1e-03 1e-04 1e-05
図6.5 cavityチュートリアルにおけるUxの初期残差
第 7 章
モデルと物性値
OpenFOAM
には,各々が特定の問題に特化して設計されたソルバが,幅広い範囲にわたって用意されています.ユーザは,特定のケースに対してモデリングを行う際に最初にソルバの選 択ができるように,その方程式とアルゴリズムは一つ一つが異なったものとなっています.ソ ルバの選択には,通常,3.5節にある各ソルバの説明に目を通して,そのケースに対して適切な ソルバを見つけてください.各々のケースを定義するためには,最終的にはパラメータと物理 的特性が必要となりますが,いくつかのモデリングのオプションはケースの
constant
ディレク トリの中のディクショナリに登録されている中から実行時に指定することができます.本章で は,一般的なモデルと,実行時に指定される関連したプロパティについて詳しく説明します.
ドキュメント内
OpenFOAM User Guide
(ページ 179-183)