HyperAI超神経

VASP機械学習力場の微調整

ウィーン第一原理シミュレーションパッケージ(VASP:VASPマニュアル – VASP Wiki ) は、電子構造計算や量子力学的分子動力学など、第一原理から原子スケールの材料モデリングを行うコンピュータ プログラムです。

機械学習の力場カテゴリ:機械学習による力場 – VASP Wiki) を第一原理分子動力学 (MD) と組み合わせて使用することで、基礎となる物理的メカニズムを第一原理から捉えながら、比較的低い計算コストで長時間のシミュレーションを実行できます。通常、第一原理分子動力学の 1 ステップは、密度汎関数理論 (DFT) フレームワークなどの電子の量子力学的処理が必要なため、計算コストが高くなります。完全に古典的な分子動力学計算では、DFT の代わりに力場を使用して各原子に作用する力を計算します。これらの原子間ポテンシャルは、伝統的に実験観察に基づいており、経験的手法で既知の力 (ファンデルワールス力、静電電荷相互作用など) を組み込んでいます。したがって、力場の品質は、特定のシステムにおける相互作用の知識の程度に依存します。VASP は、上記の 2 つの問題に対処するために、リアルタイムの機械学習力場を提供します。

チュートリアルコンテンツ

このチュートリアルでは、機械学習ハイパーパラメータを連続的に変化させることで、対応するフォノンスペクトルの系列を生成し、それに対応する最適な機械学習力場パラメータファイルを取得します。このチュートリアルを通して、以下のVASP機械学習ハイパーパラメータについて理解できるようになります。

ML_IWEIGHT # 重み選択モード
ML_WTSIF #重み係数
ML_WTOTEN # 総エネルギー重み係数
ML_WIFOR #力重量係数
ML_SIGW0 #フィッティングステップ精度
ML_RCUT1 # ラジアルカットオフ距離
ML_RCUT2 #角度カットオフ距離
ML_EPS_LOW #フィッティング精度

パラメータを適切に調整することで、最終的には DFT の結果とほぼ同じ結果が得られます。

12

入力ファイル

├── dft_phonon
│ ├── band.yaml (DFT参照フォノンスペクトル)
├── ml_phonon(機械学習フォノンスペクトル計算フォルダ)
├── refit(フォルダを微調整する)
│ ├── インカー
│ ├── Kポイント
│ ├── ML_AB
│ ├── ポスカー
│ ├── ポットカー
│ ├── clean.sh
│ └── run.sh
├── t.py

このチュートリアルでは、~/refitフォルダ内の入力ファイルのみに焦点を当てます。

実行.sh

#进行机器学习拟合
mpirun -n 1 vasp_std
#将力场参数文件转移到声子计算文件夹中
cp ML_FFN ../ml_phonon/ml/ML_FF
#进行声子机器学习计算
cd ../ml_phonon/
chmod 777 *.sh
./run.sh
cd ../
#绘制对比图
python t.py

INCAR機械学習フィッティングセットアップ

SYSTEM = Si

IVDW   = 11     #范德华力
ISMEAR = 0      #费米展宽
SIGMA  = 0.02  #展宽

LWAVE  = F #不保留波函数
LCHARG = F #不保留电荷


IBRION = 0      #MD (treat ionic degrees of freedom)
NSW    = 1       #机器学习需要设置成 1
POTIM  = 1      #MD time step in fs
ISIF   = 3          #

# 机器学习
ML_LMLFF  = T        #启用机器学习力场
ML_ISTART  = 3       #重新拟合模式(微调模式)
ML_IWEIGHT = 3       #权重选取模式
ML_WTSIF  = 1        #权重系数
ML_WTOTEN = 1        #总能权重系数
ML_WIFOR =  1        #力权重系数
ML_SIGW0 = 1E-20   #拟合步长精度
ML_RCUT1 = 8.         #径向截断距离
ML_RCUT2 = 6.         #夹角截断距离
ML_EPS_LOW = 1E-20 #拟合精度
ML_MB = 5000      #运行内存设置

KPOINTS(機械学習が有効な場合は使用されません。1つだけ設定してください)

K-Spacing Value to Generate K-Mesh: 0.040
0
Gamma
   4   4   4
0.0  0.0  0.0

ポスカー

機械学習トレーニングのスーパーセルのサイズについては、チュートリアルを参照してください。VASP を用いた機械学習の力場トレーニング

ポトカー

システム内の対応する元素の擬ポテンシャルの組み合わせ。ここではSiの擬ポテンシャルである。

ML_AB

これは事前に計算されたシステムに対応する分子動力学データです。具体的な学習プロセスについては、チュートリアルを参照してください。VASP を用いた機械学習の力場トレーニング、ML_ABN を ML_AB に名前変更します。ここでは、Si の分子動力学データが事前に用意されています。

はじめる

1. コンテナのクローンを作成する

チュートリアルの作業ディレクトリを見つけてコンテナをクローンします

2. コンテナをセットアップする

4090を選択 - Pay as you go - vasp 6.3.0-cuda11.8 - ワークスペース

2

ロード後、ワークスペースを開きます

3

ターミナルを開く

4

改装フォルダに入る

cd refit

用意したシリコン擬似ポテンシャルをアップロードします。ここでは「公式サイトの例「この論文の擬ポテンシャル POTCAR。

POTCARをディレクトリに置き、ml_phonon/mlにコピーします。

cp POTCAR ../ml_phonon/ml/
5

3. phonopy環境をインストールする

conda install -c conda-forge phonopy

次にyと入力してEnterキーを押し、インストールに同意します。

6

4. スクリプトを実行する

chmod 777 *.sh

./run.sh

5. パラメータを微調整する

ファイル ml.png を表示します

7

refit フォルダーに戻り、重みモードを ML_IWEIGHT = 2 に変更し、スクリプトを再度実行して結果を確認します。

8

結果がさらに悪化していることがわかります。戻って重みモードを ML_IWEIGHT = 1 に変更し、結果をもう一度確認してください。

9

総合的に比較すると、1と3の結果は似ており、1の方がディテール(光学的サポート)が優れていることがわかります。次に、ML_IWEIGHT = 1の条件で改善を行います。

ML_WIFOR を小さくすることで、適合された力のみの精度を上げようとします。

10

変化は大きくないことがわかりました。これは、フィッティングの余地を増やすためにカットオフ距離を増やすことを試みる必要があることを示しています。

11

ご覧の通り、結果は悪化しています(光学的サポート)。これはパラメータ空間が広すぎるため、見つかった極値は最小値ではないことを意味します。代わりに、切り捨て距離を短くする必要があります。

12

パラメータを変更して再実行した結果、最終的に DFT と同じフォノンスペクトルを生成できる機械学習力場パラメータを取得できました。