Feinabstimmung Des Kraftfelds Für Maschinelles Lernen Von VASP
Vienna Ab initio Simulation Package (VASP: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.
Kraftfeld des maschinellen LernensKategorie:Maschinell erlernte Kraftfelder – VASP Wiki) kann in Verbindung mit Ab-initio-Molekulardynamik (MD) verwendet werden, um die zugrunde liegenden physikalischen Mechanismen von Grund auf zu erfassen und gleichzeitig lange Simulationen mit relativ geringem Rechenaufwand zu ermöglichen. Normalerweise ist ein einzelner Ab-initio-Molekulardynamikschritt rechenintensiv, da Elektronen quantenmechanisch behandelt werden müssen, wie beispielsweise im Rahmen der Dichtefunktionaltheorie (DFT). In vollständig klassischen Molekulardynamikberechnungen 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 beinhalten bekannte Kräfte (wie Van-der-Waals-Kräfte, elektrostatische Ladungswechselwirkungen usw.) durch empirische Methoden. Daher hängt die Qualität des Kraftfelds vom Kenntnisstand über die Wechselwirkungen in einem bestimmten System ab. VASP bietet Kraftfelder für maschinelles Lernen in Echtzeit, um die beiden oben genannten Probleme zu lösen.
Tutorial-Inhalte
In diesem Tutorial generieren wir durch kontinuierliches Ändern der Hyperparameter des maschinellen Lernens eine Reihe entsprechender Phononenspektren und erhalten die entsprechenden optimalen Kraftfeldparameterdateien für das maschinelle Lernen. Durch dieses Tutorial lernen Sie die folgenden VASP-Hyperparameter des maschinellen Lernens kennen:
ML_IWEIGHT # Gewichtsauswahlmodus
ML_WTSIF # Gewichtskoeffizient
ML_WTOTEN # Gesamtenergiegewichtskoeffizient
ML_WIFOR # Kraftgewichtskoeffizient
ML_SIGW0 # Anpassungsschrittgenauigkeit
ML_RCUT1 # Radialer Grenzabstand
ML_RCUT2 # Winkel-Grenzabstand
ML_EPS_LOW # Passgenauigkeit
Durch entsprechende Anpassung der Parameter erhalten wir schließlich Ergebnisse, die mit denen der DFT nahezu identisch sind.

Eingabedatei
├── dft_phonon
│ ├── band.yaml (DFT-Referenz-Phononenspektrum)
├── ml_phonon (Ordner zur Berechnung des Phononenspektrums durch maschinelles Lernen)
├── Refit (Ordner optimieren)
│ ├── INCAR
│ ├── K-PUNKTE
│ ├── ML_AB
│ ├── POSCAR
│ ├── POTCAR
│ ├── clean.sh
│ └── run.sh
├── t.py
Dieses Tutorial konzentriert sich nur auf die Eingabedateien im Ordner ~/refit
ausführen.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-Anpassungsaufbau für maschinelles Lernen
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 (wird nicht verwendet, wenn maschinelles Lernen aktiviert ist, legen Sie einfach einen fest)
K-Spacing Value to Generate K-Mesh: 0.040
0
Gamma
4 4 4
0.0 0.0 0.0
POSCAR
Informationen zur Superzellengröße beim Machine-Learning-Training finden Sie im Tutorial:Verwenden von VASP für das Kraftfeldtraining für maschinelles Lernen
POTCAR
Die Pseudopotentialkombination der entsprechenden Elemente des Systems, hier das Pseudopotential von Si
ML_AB
Dies sind die molekulardynamischen Daten, die dem im Voraus berechneten System entsprechen. Informationen zum spezifischen Trainingsprozess finden Sie im Tutorial:Verwenden von VASP für das Kraftfeldtraining für maschinelles Lernen, dann benennen Sie ML_ABN in ML_AB, wobei die molekulardynamischen Daten von Si im Voraus vorbereitet wurden.
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 den Refit-Ordner ein
cd refit
Laden Sie das vorbereitete Silizium-Pseudopotential hoch, hier können Sie "Beispiel einer offiziellen Website„Das pseudopotentielle POTCAR in diesem Papier.
Legen Sie POTCAR in das Verzeichnis und kopieren Sie es nach ml_phonon/ml
cp POTCAR ../ml_phonon/ml/

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. Führen Sie das Skript aus
chmod 777 *.sh
./run.sh
5. Parameter optimieren
Sehen Sie sich die Datei ml.png an

Gehen Sie zurück zum Refit-Ordner, ändern Sie den Gewichtsmodus auf ML_IWEIGHT = 2 und führen Sie das Skript erneut aus, um die Ergebnisse anzuzeigen.

Sie sehen, dass die Ergebnisse noch schlechter sind. Gehen Sie zurück, ändern Sie den Gewichtsmodus ML_IWEIGHT = 1 und beobachten Sie die Ergebnisse erneut.

Ein umfassender Vergleich zeigt, dass die Ergebnisse von 1 und 3 ähnlich sind und 1 sogar bessere Details aufweist (optische Unterstützung). Als nächstes werden wir unter der Bedingung ML_IWEIGHT = 1 Verbesserungen vornehmen.
Wir versuchen, die Präzision der angepassten Kraft allein dadurch zu erhöhen, dass wir ML_WIFOR kleiner machen.

Wir stellen fest, dass die Änderung nicht signifikant ist. Dies legt nahe, dass wir versuchen sollten, die Grenzdistanz zu erhöhen, um mehr Spielraum für die Anpassung zu schaffen.

Wie man sieht, ist das Ergebnis schlechter (optische Unterstützung), was bedeutet, dass der Parameterraum zu groß ist und der gefundene Extrempunkt nicht der Minimalpunkt ist. Stattdessen sollten wir die Abschneidedistanz reduzieren.

Nachdem wir die Parameter geändert und erneut ausgeführt hatten, erhielten wir schließlich die Kraftfeldparameter für das maschinelle Lernen, die dasselbe Phononenspektrum wie DFT erzeugen können.