Utilisation De VASP Pour L'entraînement Des Champs De Force Par Apprentissage Automatique
Package de simulation ab initio de Vienne (Le manuel VASP – Wiki VASP) est un programme informatique pour la modélisation de matériaux à l'échelle atomique à partir de principes de base, tels que les calculs de structure électronique et la dynamique moléculaire mécanique quantique.
Champs de force d'apprentissage automatique utilisés en conjonction avec la dynamique moléculaire ab initio (MD)Catégorie : Champs de force appris par machine – Wiki VASP), capable de capturer les mécanismes physiques sous-jacents à partir des premiers principes tout en permettant des temps de simulation longs à un coût de calcul relativement faible. En règle générale, une seule étape de dynamique moléculaire ab initio est très coûteuse en termes de calcul en raison du traitement mécanique quantique requis des électrons, par exemple dans le cadre de la théorie de la fonctionnelle de la densité (DFT). Dans un calcul de dynamique moléculaire entièrement classique, les champs de force sont utilisés à la place de la DFT pour calculer les forces agissant sur chaque atome. Ces potentiels interatomiques sont traditionnellement basés sur des observations expérimentales et intègrent des forces connues (telles que les forces de van der Waals, les interactions de charge électrostatique, etc.) par le biais de méthodes empiriques. Par conséquent, la qualité du champ de force dépend de la façon dont les interactions dans un système particulier sont comprises. VASP fournit un champ de force d’apprentissage automatique en temps réel pour résoudre les deux problèmes ci-dessus.
Contenu du tutoriel
Dans ce tutoriel, nous prendrons le cristal de silicium comme exemple et montrerons comment entraîner le champ de force d'apprentissage automatique vasp via la dynamique moléculaire d'ensemble NpT. Grâce à ce tutoriel, vous apprendrez le processus de base de l’entraînement du champ de force par apprentissage automatique :
- Préparation des fichiers d'entrée de dynamique moléculaire
- Modifier la dynamique moléculaire et les paramètres d'apprentissage automatique en fonction des conditions réelles
- Commencer la formation
- Vérification simple des champs de force d'apprentissage automatique en calculant les spectres de phonons
Fichier d'entrée
Le fichier d'entrée contient
├── dft_phonon (DFT 参考声子谱文件)
│
├── ml_phonon (机器学习力场计算声子谱)
| ├── run.sh (计算脚本)
| : : (其他文件省略)
| : :
|
├── mltrain_train (机器学习力场训练输入文件)
│ ├── INCAR (vasp 设置文件)
│ ├── KPOINTS (K 点文件)
│ ├── POSCAR (硅结构文件)
│
|
└── t.py 声子谱绘制文件
Ici, nous expliquerons uniquement les fichiers d'entrée pour la formation des champs de force d'apprentissage automatique.
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
Supercellule atomique à 16 atomes
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
KPOINTS
Not only Gamma point
0
Gamma
2 2 2
0 0 0
POTCAR
La combinaison pseudopotentielle des éléments correspondants du système, ici le pseudopotentiel de Si
Commencer
1. Cloner le conteneur
Recherchez le répertoire de travail du didacticiel et clonez le conteneur
2. Installer le conteneur
Sélectionnez 4090 — Payez à l'utilisation — vasp 6.3.0-cuda11.8 — Espace de travail

Après le chargement, ouvrez l'espace de travail

Ouvrir le terminal

Entrez dans le répertoire
cd mltrain_train
Téléchargez le pseudopotentiel de silicium préparé, qui peut être utiliséExemple de site Web officielMettre le pseudopotentiel POTCAR dans le répertoire

3. Installer l'environnement phonopy
conda install -c conda-forge phonopy
Entrez ensuite y et appuyez sur Entrée pour accepter l'installation
4. Entraînement du champ de force de l'apprentissage automatique
Exécutez vasp directement
mpirun -n 1 vasp_std
Une fois l'exécution terminée, le fichier de champ de force d'apprentissage automatique formé ML_FFN apparaîtra sur la gauche.

5. Vérification simple de la disponibilité du champ de force en calculant le spectre des phonons
Copiez le fichier de champ de force et POTCAR dans le dossier de calcul du spectre des phonons.
cp ML_FFN ../ml_phonon/ml/ML_FF
cp POTCAR ../ml_phonon/ml/
cd ../ml_phonon/
Activez l'environnement phonopy et exécutez le script run.sh pour le calcul
chmod 777 *.sh
./run.sh
Revenez au niveau précédent et exécutez le script Python t.py pour dessiner un tableau de comparaison du spectre des phonons
python t.py

On peut voir que puisque nos étapes de dynamique moléculaire ne sont que de 500, les spectres de phonons finaux des deux sont assez différents. Par conséquent, si vous souhaitez obtenir de meilleurs résultats, vous pouvez augmenter le nombre d'étapes de dynamique moléculaire dans INCAR et améliorer la précision des calculs pendant la formation.