たとえば、非定常計算で、
;; Autosave Every (time step) file/auto-save/data-frequency 10 solve/set/time-step 0.02 solve/dual-time-iterate 50 30
として 1 s まで計算したとする。こうすると、タイムステップが 10, 20, 30, 40, 50 のときに autosave で .dat ファイルが出力される。計算が終わるタイムステップはもちろん 50 だ。
次に、この計算に続けて(あるいはリスタートして)、
;; Autosave Every (time step) file/auto-save/data-frequency 100 solve/set/time-step 0.002 solve/dual-time-iterate 2000 30
のように、dt を 1/10 にして、autosave 間隔も 10 倍の 100 に変えるとどうなるか。「計算開始(再開)時点のタイムステップから始まって 100 ステップごと」に autosave されるので、
- 150
- 250
- 350
- 450
- 550
- 650 ...
となると思っていた。違った。実際には
- 100
- 200
- 300
- 400
- 500
- 600 ...
が出力される*1。つまり、「計算開始(再開)時点のタイムステップから始まって 100 ステップごとに保存」されるというのは間違いで、「単に、各時点でのタイムステップを autosave frequency で割って、割り切れたら保存」としているようだ。
やっていないが、おそらく定常計算での iteration 間隔での保存でも全く同様なのだろう。
この仕様はいまの自分の計算的には不便で、残念だ。しかしそれとは別の話として、このソフトにはこういう「やってみるまで挙動がわからない(マニュアルにも書いていないか、書いていても絶望的に見つけづらい)仕様」が多すぎて、つらいところがある。
*1:と思われる。自分がやったのはこの数字ではなかったが、とにかく「現在のステップから」ではなく「割り切れる値」のときになった。