問題
現在、有限要素ナビエストークスシミュレーションに取り組んでおり、さまざまなパラメータの影響を調査したいと思います。一部のパラメーターは、入力ファイルまたはコマンドラインオプションで指定されます。他のパラメーターはMakefileでフラグとして提供されるため、これらのオプションを変更するたびにコードを再コンパイルする必要があります。パラメータ空間を体系的に探索するための良い方法についてアドバイスをもらいたいと思います。
- この種のことを支援できる便利なC ++ / Pythonライブラリ/フレームワークはありますか?たとえば、コマンドライン引数で入力ファイルオプションをオーバーロードすることができるため、boost.Program_optionsを発見することは大きな助けになりました。また、一部の人々が各ケースを非常に効果的に説明するジョブファイルを使用しているのを見たことがあり、同僚はコメントブロックとしてパラメーターをvtuファイルに書き込むこともできると提案しました。
- おそらく、これに多くの時間を投資する価値はまったくありませんか?それは単なる気晴らしと時間の浪費であり、テストプロセスのブルートフォースとアドホックを筋肉だけで行うのが最善ですか?
いくつかの考え
私は現在ほとんど手作業で仕事をしており、次の問題に直面しています。
- テストケースの命名。アンダースコアで区切られた実行パラメーターなどの名前のフォルダーに結果を保存しようとしました
Re100_dt02_BDF1...
。これらは、省略しすぎるとすぐに長くなり、読みにくくなります。また、実数のパラメータにはa.
が含まれていますが、これは厄介です。 - 実行データのロギング。時々、端末に書き込まれ、テキストファイルに保存された結果を確認したいことがあります。たとえば、StackOverflowからのこの回答は多少役立ちますが、解決策は少し煩わしいようです。
- パラメータに従ってデータをプロットします。さまざまなログファイルから関連するデータを1つのファイルに収集し、それをプロットするのにかなり時間がかかります。より良いシステムであれば、おそらくこれがより簡単になります。
- データに関するコメントの記録。結果を調べた後、テキストファイルにコメントを書き込みますが、これを結果フォルダーと同期させることは難しい場合があります。