OpenFOAMの終了時間予測ツールを作ってみた
動機(ポエム)
よく先生にこのような質問をされる 「その計算はいつ終わるんですか」 と 僕はこたえる 「今まで通りならだいたい6時間くらいで終わります」 と じゃあメッシュを細かくしたらどうか 計算条件が変わっても同じでも同じとは言えるのか そういう場合今あるterminalの出力を
tail log
してその場で線形補間をする では実際に線形補間でよいのか? その計算時間は直線的に変化しているのか? そういったことも調べる必要がある. そこで,
- 過去n個の幅のデータを取ってきて
- 分単位程度の精度で線形補間をし
- 線形補間した分はどれくらい線形なのかを調べる
みたいなツールを作ることにした
簡単な構成
- バックエンドはFlask
- 通信はwebsocket
- フロントエンドはEpoch
を使った.webを介することで,例えば研究室のワークステーション等で計算を回して,その場でこのスクリプトを回すことで計算結果をwebブラウザで見ることができるようになると思った. (後でCUIだけで出力できたほうがいいことに気づいた)
技術的な話
技術的にはそんなに難しいことはやっておらず,
の2つの記事と線形補間を組み合わせた感じ
使用方法やデモ
こちらの記事を見て欲しい
今後の話
最近OpenFOAMのファイルを読み込んでいい感じに設定するelectron製のツールを作っているけどtypescriptに移行したいという気持ちになってきた. あとコードの品質が最近良くないような気がしていて,その周りの本を3冊ほど読むことにした. ので,今後のツール開発等は少しお休みすると思う.