ユーザーガイド 1.5系 - 4.3 時間とデータの入出力制御

出典: OFWikiJa

[next] [prev] [up]

[編集] 4.3 時間とデータの入出力制御

OpenFOAMのソルバは全て、データベースをセットアップすることによって、動き始めます。 データベースは入出力を制御し、またデータの出力は通常実行中、時間ごとに要求されるので、時間はデータベースにとって不可避の要素です。controlDict辞書はデータベースの作成に不可欠な入力パラメタを設定します。controlDictのキーワード入力項目は表4.4に記載されています。時間制御方式とwriteInterval入力だけは完全に強制的で、省略できる任意の項目には表4.4で示されたデフォルト値のデータベースが用いられます。

時間制御
startFrom 解析の開始時間の制御
- firstTime 時間ディレクトリの設定から初期のタイムステップ
- startTime startTimeの項目の入力により定める時間
- latestTime 時間ディレクトリの設定で最近のタイムステップ
startTime startFromのstartTimeを用いた解析の開始時間
stopAt 解析の終了時間の制御
- endTime endTimeの項目の入力により定める時間
- writeNow 現在のタイムステップで解析を止めデータを書き出す
- noWriteNow 現在のタイムステップで解析を止めデータは書き出さない
- nextWrite writeControlで指定した次のデータ書き出しのタイムステップで解析を止める
endTime stopAtのendTimeで指定した解析の終了時間
deltaT 解析の時間間隔
データの書き出し
writeControl ファイルへのデータの書き出しのタイミングの制御
- timeStep† タイムステップのwriteInterval毎にデータを書き出す
- runTime</t> 解析時間の秒のwriteInterval毎にデータを書き出す
<tt>- adjustableRunTime 解析時間の秒のwriteInterval毎にデータを書き出す、必要ならタイムステップをwriteIntervalと一致するように調整する--自動タイムステップ調整を行う場合に使用する。
- cpuTime CPUの時間の秒のwriteInterval毎にデータを書き出す
- clockTime 実時間の秒のwriteInterval毎にデータを書き出す
writeInterval 上記のwriteControlと関連して用いられるスカラー
purgeWrite 周期的ベースで時間ディレクトリを上書きすることによって保存される時間ディレクトリの数の限界を表す整数。 例:t0=5s,derutat=1s,purgeWrite 2s;8のデータが6に上書きされたり9のデータが7に上書きされる前に6と7、2つのディレクトリに書かれたデータ。

時間ディレクトリ限界を無効にするには、purgeWrite 0とする。†

定常状態解析では、以前の反復計算の結果をpurgeWrite 1とすることで連続して上書きできる。

writeFormat データファイルのフォーマットを指定する
- ascii† ASCIIフォーマット、writePrecisionの有効桁まで書かれる
- binary バイナリー・フォーマット
writePrecision 上記のwriteFormatに関連して使用される整数、デフォルトでは6.
writeCompression  データファイルの圧縮を指定する
- uncompressed 非圧縮†
- compressed gzip圧縮
timeFormat 時間ディレクトリのネーミングのフォーマットの選択
- fixed ±m.ddddddのdの数がtimePrecisionで決められる
- scientific ±m.dddddde±xxのdの数がtimePrecisionで決められる
- general† 指数が−4未満もしくはtimePrecisionで指定された指数以上のときscientificのフォーマットを指定する
timePrecision 上記のtimeFormatに関連して使用される整数、デフォルトでは6
graphFormat アプリケーションによって描かれるグラフデータのフォーマット
- raw† 横書きの生のASCII形式
- gnuplot gnuplot形式のデータ
- xmgr Grace/xmgr形式のデータ
- jplot jPlot形式のデータ
データの読み込み
runTimeModifiable controlDictのようないずれかの辞書のyes†/noスイッチは各タイムステップの始めにOpenFOAMによって再度読み込まれる。
Run-time loadable functionality
libs ランタイムにロードする($LD_LIBRARY_PATH上の)追加ライブラリのリスト。例えば( "libUser1.so" "libUser2.so" )
functions 機能のリスト。例えばランタイムにロードするprobesは$FOAM_TUTORIALSの例を見る。
† 関連キーワードが省略されるなら、デフォルト入力を表示します。

表4.4:controlDict辞書のキーワード項目


以下にcontrolDict辞書の入力例を示します。

17  application icoFoam; 
18   
19  startFrom       startTime; 
20   
21  startTime       0; 
22   
23  stopAt          endTime; 
24   
25  endTime         0.5; 
26   
27  deltaT          0.005; 
28   
29  writeControl    timeStep; 
30   
31  writeInterval   20; 
32   
33  purgeWrite      0; 
34   
35  writeFormat     ascii; 
36   
37  writePrecision  6; 
38   
39  writeCompression uncompressed; 
40   
41  timeFormat      general; 
42   
43  timePrecision   6; 
44   
45  runTimeModifiable yes; 
46   
47  // ************************************************************************* //

[next] [prev] [up]