高度なフィッティング手法
フィッティングプロセスの仕組み
「Run fit」ボタンをクリックすると、OghmaNano はシミュレーションディレクトリ内に 「sim」という新しいディレクトリを作成し、このディレクトリ内でフィッティング処理が実行されます。このディレクトリ内で OghmaNano は、フィットしようとしている各データセットごとに 新しいディレクトリを 1 つ作成し、メインシミュレーションディレクトリから sim.json(および sim.oghma)ファイルを各ディレクトリにコピーします。この時点では、すべてのディレクトリ内の sim.json ファイルは 同一です。その後、fit の「fit patch」(図 16.12 を参照)の内容を用いて、各 sim.json ファイルの内容が更新されます。この 処理はシミュレーションファイルのパッチ適用と呼ばれます。この処理により、各シミュレーション ディレクトリ内のパラメータを、フィットしようとしているデータセットに合わせて調整できます。例えば、 あるデータセットでは optical/light/Psun を 1.0 に設定し、別のデータセットでは 0.0 に設定して、1 sun JV 曲線と dark JV 曲線をフィットできるようにしたい場合があります。 各ディレクトリへのパッチ適用後、フィッティング処理が開始されます。この処理の間、フィッティング変数は 「sim」ディレクトリ内の sim.json ファイルで更新されます。フィット中、アルゴリズムはしばしば現在の最良解よりも 悪いフィットを生成し、ときどきのみ現在の最良解よりも良いフィットを生成します。 より良いフィットが得られた場合にのみ、メインシミュレーションディレクトリ内の sim.json ファイルが更新され、 GUI 内の曲線も更新されます。
GUI を使わないフィッティング
GUI はフィットを設定する非常に簡単かつ効率的な方法です。しかし、フィットの実行中に ユーザーインターフェースを更新するには相当な CPU 時間が必要であり、そのためフィッティング処理は遅くなります。 したがって、多数のフィットを行う場合や難しい問題をフィットする場合には、GUI を使わないフィッティングの方が高速です。このセクションでは、 Windows コマンドラインからフィットする方法を説明します:
-
まず、通常どおり GUI を使用してフィットしたいシミュレーションを設定します。単一反復の フィットを実行して、見た目が正しいことを確認します。その後、GUI を閉じます。
-
次に、Windows に OghmaNano の場所を教える必要があります。通常、これは C:\Program files x86 \OghmaNano にインストールされています。このディレクトリを開くと多くのファイルが見えます。 しかし、重要なものは oghma.exe と oghma_core.exe の 2 つです。ファイル oghma.exe は GUI で、oghma_core.exe はコアソルバーです。これらは完全に独立したプログラムです。コアソルバーは GUI なしで実行できます。これらのファイルの場所を Windows に知らせるには、C:\Program files x86 \OghmaNano を Windows のパスに追加する必要があります。これは次の https://docs.microsoft.com/en-us/previous-versions/office/developer/sharepoint-2010/ee537574(v=office.14) 手順に従って実行できます。これらの手順は新しいバージョンの Windows 用ですが、お使いのシステムでは 少し異なる場所にある場合があります。ほとんどの Windows のバージョンでは、この手順はおおむね同じです。行き詰まった場合は google で「adding a path to window」を検索してください。
-
スタートメニューをクリックし、「cmd」と入力して Enter を押し、Windows ターミナルを開きます。次を入力します:
oghma_core.exe --helphelp の前はシングルダッシュではなくダブルダッシュであることに注意してください。
これにより OghmaNano のヘルプが表示されるはずです。表示された場合、Windows に oghma_core.exe の場所を正しく知らせることができています。エラーが出る場合は、手順 2 を再度試してください(および / またはコンピューターを再起動してください)。
-
これで Windows は oghma_core.exe の場所を認識したので、シミュレーションディレクトリに移動できます。cd を使って、フィットしたいシミュレーションが保存されているディレクトリに移動してください。
-
まずコマンド oghma_core.exe を実行して、シミュレーションが正常に動作するか確認してください。動作しない場合は、 シミュレーションファイルを再確認してください。
-
次に、以下を入力して単一フィットを実行します:
oghma_core.exe --1fit「sim」ディレクトリ内の結果を確認し、お好みのプロットプログラムを使って結果を 実験データと比較してください。実験データは fit_data(0-1).inp に保存されています。
-
上の手順がすべてうまくいった場合、次を入力して本格的なフィットを実行できます:
oghma_core.exe --fitここでも fit コマンドの前はダブルダッシュです。Ctrl+C でフィットを終了できます。収束の 進行状況は fitlog.csv をプロットすることで確認できます。