odeint ブースト インテグレータを使用して、カー時空の測地線を調べたいと思います。これには、さまざまなパラメーター値に対して積分器を実行する必要があります (初期条件と初期運動量ベクトルがあるため、システムの角運動量は開始方法によって異なります)。
ここに配置された優れた例に従っています
http://headmyshoulder.github.io/odeint-v2/examples.html
具体的には、ローレンツ アトラクタの例です。
私が最初に注意したこと (ローレンツではなく、私のカー システムで) は、いくつかの初期条件で t=0 の時点の後に NaN が得られることです (ただし、これはどこかでより深いエラーを示唆していることは間違いありません)。これをさらに調査するために、毎回再コンパイルすることなくシステムのパラメーターを変更できるようにしたいと考えています。これは、たとえば R や sigma を再コンパイルせずに変更したい場合と同じです。私が知る限り、おそらくここの2番目のコードブロックを除いて、追加の引数を統合関数に渡す直接的な方法はありません
http://headmyshoulder.github.io/odeint-v2/doc/boost_numeric_odeint/tutorial/harmonic_oscillator.html
私は C++ の知識が不足しているため、よくわかりません。
実行時の引数を取得してこのソルバーに渡す方法についての知識をいただければ幸いです。これにより、毎回コンパイルせずに一連のバッチを実行できます。