HyperAI

استخدام VASP لتدريب مجال قوة التعلم الآلي

حزمة محاكاة فيينا Ab initio (دليل VASP – ويكي VASP) هو برنامج كمبيوتر للنمذجة المادية على المستوى الذري من المبادئ الأولى، مثل حسابات البنية الإلكترونية وديناميكيات الجزيئات الميكانيكية الكمومية.

مجالات قوة التعلم الآلي المستخدمة بالاشتراك مع ديناميكيات الجزيئات الأساسية (MD)الفئة: حقول القوة المتعلمة آليًا – ويكي VASP), قادرة على التقاط الآليات الفيزيائية الأساسية من المبادئ الأولى مع تمكين أوقات محاكاة طويلة بتكلفة حسابية منخفضة نسبيًا. عادةً ما تكون خطوة واحدة في ديناميكيات الجزيئات الأولية مكلفة للغاية من الناحية الحسابية بسبب المعالجة الميكانيكية الكمومية المطلوبة للإلكترونات، على سبيل المثال في إطار نظرية الكثافة الوظيفية (DFT). في حساب ديناميكيات الجزيئات الكلاسيكية بالكامل، يتم استخدام حقول القوة بدلاً من DFT لحساب القوى المؤثرة على كل ذرة. تعتمد هذه الإمكانات بين الذرات تقليديًا على الملاحظات التجريبية وتتضمن قوى معروفة (مثل قوى فان دير فالس، وتفاعلات الشحنة الكهروستاتيكية، وما إلى ذلك) من خلال الأساليب التجريبية. لذلك، فإن جودة مجال القوة تعتمد على مدى فهمنا للتفاعلات في نظام معين. يوفر VASP مجال قوة التعلم الآلي في الوقت الفعلي لحل المشكلتين المذكورتين أعلاه.

محتوى البرنامج التعليمي

في هذا البرنامج التعليمي، سنأخذ بلورة السيليكون كمثال ونوضح كيفية تدريب مجال قوة التعلم الآلي vasp من خلال ديناميكيات الجزيئات لمجموعة NpT. من خلال هذا البرنامج التعليمي، سوف تتعلم العملية الأساسية لتدريب مجال القوة باستخدام التعلم الآلي:

  1. إعداد ملفات إدخال الديناميكيات الجزيئية
  2. تغيير الديناميكيات الجزيئية ومعلمات التعلم الآلي وفقًا للظروف الفعلية
  3. ابدأ التدريب
  4. التحقق البسيط من حقول قوة التعلم الآلي عن طريق حساب أطياف الفونون

ملف الإدخال

ملف الإدخال يحتوي على

├── dft_phonon (DFT 参考声子谱文件)
│  
├── ml_phonon (机器学习力场计算声子谱)
|   ├── run.sh (计算脚本)
|   :     :     (其他文件省略)
|   :     :
|
├── mltrain_train (机器学习力场训练输入文件)
│   ├── INCAR (vasp 设置文件)
│   ├── KPOINTS (K 点文件)
│   ├── POSCAR (硅结构文件)
│   
|
└── t.py 声子谱绘制文件

سنقوم هنا فقط بشرح ملفات الإدخال لتدريب حقول القوة الخاصة بالتعلم الآلي.

إنكار

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

بوسكار

16 خلية ذرية فائقة

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

نقاط الكيبوينتس

Not only Gamma point
 0
Gamma
 2 2 2
 0 0 0

بوتكار

التركيبة الكاذبة المحتملة للعناصر المقابلة للنظام، هنا هي الكاذبة المحتملة للسيليكون

ابدء

1. استنساخ الحاوية

ابحث عن دليل عمل البرنامج التعليمي واستنسخ الحاوية

2. إعداد الحاوية

حدد 4090 — الدفع حسب الاستخدام — vasp 6.3.0-cuda11.8 — مساحة العمل

1

بعد التحميل، افتح مساحة العمل

2

افتح المحطة الطرفية

3

أدخل الدليل

cd mltrain_train

قم بتحميل جهد السيليكون الكاذب المُجهز، والذي يمكن استخدامهمثال للموقع الرسميضع POTCAR الكاذب في الدليل

4

3. قم بتثبيت بيئة phonopy

conda install -c conda-forge phonopy

ثم أدخل y واضغط على Enter للموافقة على التثبيت

4. تدريب مجال قوة التعلم الآلي

تشغيل vasp مباشرة

mpirun -n 1 vasp_std


بعد اكتمال التشغيل، سيظهر ملف مجال قوة التعلم الآلي المدرب ML_FFN على اليسار.

5

5. التحقق البسيط من توفر مجال القوة عن طريق حساب طيف الفونون

انسخ ملف مجال القوة وPOTCAR إلى مجلد حساب طيف الفونون.

cp ML_FFN  ../ml_phonon/ml/ML_FF
cp POTCAR ../ml_phonon/ml/
cd ../ml_phonon/

قم بتنشيط بيئة phonopy وتشغيل البرنامج النصي run.sh للحساب

chmod 777 *.sh
./run.sh

العودة إلى المستوى السابق وتشغيل البرنامج النصي t.py لبايثون لرسم مخطط مقارنة طيف الفونون

python t.py
8

يمكننا أن نرى أنه بما أن خطوات ديناميكياتنا الجزيئية هي 500 فقط، فإن أطياف الفونون النهائية لكليهما مختلفة تمامًا. لذلك، إذا كنت تريد الحصول على نتائج أفضل، يمكنك زيادة عدد خطوات الديناميكية الجزيئية في INCAR وتحسين دقة الحساب أثناء التدريب.