Verwenden Von VASP Für Das Kraftfeldtraining Für Maschinelles Lernen
Vienna Ab initio Simulation Package (Das VASP-Handbuch – VASP Wiki) ist ein Computerprogramm zur Materialmodellierung auf atomarer Ebene von Grund auf, wie etwa Berechnungen der elektronischen Struktur und quantenmechanische Molekulardynamik.
Kraftfelder des maschinellen Lernens in Verbindung mit ab initio Molekulardynamik (MD)Kategorie:Maschinell erlernte Kraftfelder – VASP Wiki), das in der Lage ist, die zugrunde liegenden physikalischen Mechanismen von Grund auf zu erfassen und gleichzeitig lange Simulationszeiten bei relativ geringem Rechenaufwand zu ermöglichen. Normalerweise ist ein einzelner Ab-initio-Schritt der Molekulardynamik aufgrund der erforderlichen quantenmechanischen Behandlung der Elektronen, beispielsweise im Rahmen der Dichtefunktionaltheorie (DFT), rechnerisch sehr aufwändig. Bei einer vollständig klassischen Molekulardynamikberechnung werden Kraftfelder anstelle von DFT verwendet, um die auf jedes Atom wirkenden Kräfte zu berechnen. Diese interatomaren Potenziale basieren traditionell auf experimentellen Beobachtungen und berücksichtigen bekannte Kräfte (wie Van-der-Waals-Kräfte, elektrostatische Ladungswechselwirkungen usw.) durch empirische Methoden. Daher hängt die Qualität des Kraftfelds davon ab, wie gut die Wechselwirkungen in einem bestimmten System verstanden werden. VASP bietet ein Kraftfeld für maschinelles Lernen in Echtzeit, um die beiden oben genannten Probleme zu lösen.
Tutorial-Inhalte
In diesem Tutorial nehmen wir Siliziumkristalle als Beispiel und zeigen, wie das Kraftfeld des maschinellen Lernens von Vasp durch die Molekulardynamik von NpT-Ensembles trainiert wird. In diesem Tutorial lernen Sie den grundlegenden Prozess des Kraftfeldtrainings für maschinelles Lernen kennen:
- Vorbereiten von Eingabedateien für die Molekulardynamik
- Ändern Sie die Parameter der Molekulardynamik und des maschinellen Lernens entsprechend den tatsächlichen Bedingungen
- Training starten
- Einfache Überprüfung von Kraftfeldern des maschinellen Lernens durch Berechnung von Phononenspektren
Eingabedatei
Die Eingabedatei enthält
├── dft_phonon (DFT 参考声子谱文件)
│
├── ml_phonon (机器学习力场计算声子谱)
| ├── run.sh (计算脚本)
| : : (其他文件省略)
| : :
|
├── mltrain_train (机器学习力场训练输入文件)
│ ├── INCAR (vasp 设置文件)
│ ├── KPOINTS (K 点文件)
│ ├── POSCAR (硅结构文件)
│
|
└── t.py 声子谱绘制文件
Hier erklären wir nur die Eingabedateien zum Trainieren von Kraftfeldern für maschinelles Lernen.
INCAR
SYSTEM = Si16
ISYM = 0 ! 不考虑对称性
! ab initio
PREC = Normal !正常精度
IVDW = 11 !范德华修正
ISMEAR = 0 ! 费米占据
SIGMA = 0.02 ! 费米展宽
ENCUT = 300 !波函数截断
EDIFF = 1e-5 !计算精度
LWAVE = F !不保留波函数
LCHARG = F !不保留电荷文件
LREAL = F !不做实空间投影计算
! MD
IBRION = 0 ! 进行分子动力学计算
NSW = 500 ! 分子动力学步数
POTIM = 5.0 ! 分子动力学时间间隔 5fs
#NpT 系综分子动力学设置
MDALGO = 3 ! 郎之万温控方法
LANGEVIN_GAMMA = 5 ! 原子扰动系数
LANGEVIN_GAMMA_L = 10 ! 晶格扰动系数
PMASS = 10 ! 晶格质量
TEBEG = 400 ! 初始温度为 400
ISIF = 3 !
! machine learning
ML_LMLFF = T
ML_ISTART = 0 !进行机器学习力场训练
ML_WTSIF = 2
#随机数种子
RANDOM_SEED = 688344966 0 0
POSCAR
16 Atomare Superzelle
Si16
1.0
-5.468728 -5.468728 0.000000
-5.468728 0.000000 -5.468728
-0.000000 -5.468728 -5.468728
Si
16
direct
0.125000 0.125000 0.125000 Si
0.125000 0.125000 0.625000 Si
0.125000 0.625000 0.125000 Si
0.125000 0.625000 0.625000 Si
0.625000 0.125000 0.125000 Si
0.625000 0.125000 0.625000 Si
0.625000 0.625000 0.125000 Si
0.625000 0.625000 0.625000 Si
0.250000 0.250000 0.250000 Si
0.250000 0.250000 0.750000 Si
0.250000 0.750000 0.250000 Si
0.250000 0.750000 0.750000 Si
0.750000 0.250000 0.250000 Si
0.750000 0.250000 0.750000 Si
0.750000 0.750000 0.250000 Si
0.750000 0.750000 0.750000 Si
KPUNKTE
Not only Gamma point
0
Gamma
2 2 2
0 0 0
POTCAR
Die Pseudopotentialkombination der entsprechenden Elemente des Systems, hier das Pseudopotential von Si
Erste Schritte
1. Klonen Sie den Container
Suchen Sie das Arbeitsverzeichnis des Tutorials und klonen Sie den Container
2. Container aufstellen
Wählen Sie 4090 – Pay as you go – vasp 6.3.0-cuda11.8 – Arbeitsbereich

Nach dem Laden öffnen Sie den Arbeitsbereich

Terminal öffnen

Geben Sie das Verzeichnis ein
cd mltrain_train
Laden Sie das vorbereitete Silizium-Pseudopotential hoch, das verwendet werden kannBeispiel einer offiziellen WebsiteLegen Sie das Pseudopotential POTCAR in das Verzeichnis

3. Installieren Sie die Phonopie-Umgebung
conda install -c conda-forge phonopy
Geben Sie dann y ein und drücken Sie die Eingabetaste, um der Installation zuzustimmen
4. Trainieren des Kraftfelds für maschinelles Lernen
Führen Sie vasp direkt aus
mpirun -n 1 vasp_std
Nach Abschluss des Laufs wird links die trainierte Kraftfelddatei ML_FFN für maschinelles Lernen angezeigt.

5. Einfache Überprüfung der Kraftfeldverfügbarkeit durch Berechnung des Phononenspektrums
Kopieren Sie die Kraftfelddatei und POTCAR in den Ordner zur Berechnung des Phononenspektrums.
cp ML_FFN ../ml_phonon/ml/ML_FF
cp POTCAR ../ml_phonon/ml/
cd ../ml_phonon/
Aktivieren Sie die Phonopy-Umgebung und führen Sie das Skript run.sh zur Berechnung aus
chmod 777 *.sh
./run.sh
Kehren Sie zur vorherigen Ebene zurück und führen Sie das Python-Skript t.py aus, um ein Vergleichsdiagramm des Phononenspektrums zu zeichnen
python t.py

Es ist ersichtlich, dass die endgültigen Phononenspektren der beiden ziemlich unterschiedlich sind, da unsere molekulardynamischen Schritte nur 500 betragen. Wenn Sie bessere Ergebnisse erzielen möchten, können Sie daher die Anzahl der molekulardynamischen Schritte in INCAR erhöhen und die Berechnungsgenauigkeit während des Trainings verbessern.