自己学習ハイブリッドモンテカルロ法による力場自動生成(NeuralMD連携)¶
1つの初期構造から自動的にNeuralMDの力場を作る機能です。グランドプロジェクトを使った場合にはユーザーが教師データの生成を行いますが、本機能では1つの初期構造を用意するだけで、教師データの準備を行う必要はありません。
注釈
本機能を使う場合は、別途NeuralMDのライセンスが必要です。設定が済んでいない場合はこちらの説明を参照して設定を行ってください。
使用手順¶
1. 初期構造の用意¶
初期構造として使うプロジェクトを開きます。必要に応じ、計算エンジンがQ.E.に設定されている状態で、SCFの設定を行ってください。ここでの設定内容が自己学習ハイブリッドモンテカルロ法の第一原理計算で使われます。
2. SLHMCの設定¶
画面左下のメニュー から Change calculator をクリックし、 SLHMC を選んでください。自己学習ハイブリッドモンテカルロ法の設定画面が表示されます。設定項目の詳細については、NeuralMDのドキュメントにある設定ファイルの説明 slhmc.prop の対応する項目を参照してください。
Deformation of Cell の Method を NPT Ensemble for Monte-Carlo または NPH-MD after NNP is Trained に設定すると、SLHMCの過程でセルの変形を行います。
Shape of Cell: セル変形の拘束条件の設定
Isotropic
等方的な変形を許す
Anisotropic
x,y,z軸方向の伸縮を許す
Triclinic
任意の変形を許す
XY IsotropicYZ IsotropicXZ Isotropic2つの軸方向の同じ割合での伸縮を許す
XY AnisotropicYZ AnisotropicXZ Anisotropic2つの軸方向の伸縮を許す
XY MonoclinicYZ MonoclinicXZ Monoclinic2つの軸を含む面内の任意の変形を許す
X MobileY MobileZ Mobile1つの軸方向の伸縮を許す
初期ニューラルネットワーク力場を第一原理分子動力学計算から作らず、既に作成している力場を使いたいという場合は、 Initial FPMD を0に設定してから、 Initial NNP の Import File of NNP をクリックし、ffield.sannp
ファイルを選択してください。
3. NNPの設定¶
Details of NNP の Start Setting NNP をクリックすると、ニューラルネットワーク力場の設定画面が表示されます。設定項目の詳細については、NeuralMDのドキュメントにある設定ファイルの説明 sannp.prop の対応する項目を参照してください。
Training w/o Force をyesにすると、力の損失関数の係数
coefForce
が0になり、エネルギーだけを使って学習します。
設定が終わったら、画面左下の から Return to SLHMC をクリックし、元のプロジェクト画面に戻ります。
4. 実行¶
画面左下のメニュー から Run をクリックし、実行します。リモートで実行する場合は、ジョブスクリプトnanolabo.sh
に加えて、Quantum ESPRESSO、LAMMPS、NeuralMDを呼び出す際に実行されるスクリプトの編集画面も表示されますので、内容を確認し、必要に応じて変更してから OK をクリックしてください。
注釈
Windows版NeuralMDは現在MPI並列に対応していないため、Windowsでローカル実行する場合は #Processes を1に設定してください。OpenMP並列は使用可能です。
ヒント
GPUを使ってより高速に実行することができます。対応しているのは、Advance/NeuralMDを使ったニューラルネットワーク力場の学習(Advance/NeuralMD Pro版のライセンスが必要)、およびLAMMPSを使ったニューラルネットワーク力場による分子動力学計算です。
(Linuxのみ)ローカルで実行する場合、 Number of GPU に使用するGPUの数を設定します。複数のGPUを使用する設定の場合、MPI並列のプロセスを各GPUに均等に割り当てて実行されます。0を設定するとGPUを使用しません。
のリモートで実行する場合、SSHサーバーの設定で使用するキューのGPU設定を有効にしてください。
注釈
GPUドライバを事前にインストールしておく必要があります。CUDA 11.4.4を使用しており、これに対応するドライババージョン470.82.01以上が必要です。
元素数が5以上の場合は、重み付き対称関数を使う(Element Weightをyesに設定する)必要があります。
実行後、タブに戻るとResult画面が表示され、初期ニューラルネットワーク力場作成用の第一原理分子動力学計算(FPMD)、ハイブリッドモンテカルロ計算(HMC)の状況を確認できます。計算中は進捗( #Steps of Training に対する割合)が表示されます。ニューラルネットワーク力場は随時更新され、Accepted Rate(モンテカルロ法の採択率)が1に近く、エネルギーの平均絶対誤差(MAE)が小さいほど、性能の良い力場であると判断できます。(ただし、SLHMCのプロセスでニューラルネットワーク力場による分子動力学計算のステップ数が変化するため、学習がうまくいっている場合でもこれらの指標は常に改善するとは限りません。)
force-field をクリックすると、学習したニューラルネットワークをLAMMPSの力場ファイルとして保存できます。train-data をクリックすると、生成された教師データを保存できます。
ヒント
作成した力場ファイルを使って分子動力学計算を行うには、LAMMPSのプロジェクトの Force-Field 設定画面で Type of Force Field をNeuralMDまたはNeuralMD with Chargeに設定して、 Potential File で作成した力場ファイルを選択します。