くれなゐの雑記

例を上げて 自分で手を動かして学習できる入門記事を多めに書いています

OpenFOAMの終了時間予測ツールを作ってみた

動機(ポエム)

よく先生にこのような質問をされる 「その計算はいつ終わるんですか」 と 僕はこたえる 「今まで通りならだいたい6時間くらいで終わります」 と じゃあメッシュを細かくしたらどうか 計算条件が変わっても同じでも同じとは言えるのか そういう場合今あるterminalの出力を

tail log

してその場で線形補間をする では実際に線形補間でよいのか? その計算時間は直線的に変化しているのか? そういったことも調べる必要がある. そこで,

  • 過去n個の幅のデータを取ってきて
  • 分単位程度の精度で線形補間をし
  • 線形補間した分はどれくらい線形なのかを調べる

みたいなツールを作ることにした

簡単な構成

  • バックエンドはFlask
  • 通信はwebsocket
  • フロントエンドはEpoch

を使った.webを介することで,例えば研究室のワークステーション等で計算を回して,その場でこのスクリプトを回すことで計算結果をwebブラウザで見ることができるようになると思った. (後でCUIだけで出力できたほうがいいことに気づいた)

技術的な話

技術的にはそんなに難しいことはやっておらず,

qiita.com

qiita.com

の2つの記事と線形補間を組み合わせた感じ

使用方法やデモ

こちらの記事を見て欲しい

github.com

今後の話

最近OpenFOAMのファイルを読み込んでいい感じに設定するelectron製のツールを作っているけどtypescriptに移行したいという気持ちになってきた. あとコードの品質が最近良くないような気がしていて,その周りの本を3冊ほど読むことにした. ので,今後のツール開発等は少しお休みすると思う.