HyperAI

مقدمة في VASP: حساب كثافة الحالات وعرض النطاق الترددي في السيليكون

1. مقدمة البرنامج التعليمي

* فيديو تعليمي:[دليل البدء في استخدام VASP] حساب كثافة الحالات ونطاقات الطاقة للسيليكون

مقدمة إلى VASP

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

تتمكن VASP من حساب الحلول التقريبية لمعادلة شرودنجر متعددة الأجسام، إما عن طريق حل معادلة Kohn-Sham في نظرية الكثافة الوظيفية (DFT) أو معادلة Roothaan في تقريب Hartree-Fock (HF). يتم أيضًا تنفيذ الوظائف الهجينة التي تمزج بين طريقة Hartree-Fock ونظرية الوظائف الكثافة. بالإضافة إلى ذلك، تتوفر طرق وظيفة جرين (جسيمات شبه GW و ACFDT-RPA) ونظرية اضطراب العديد من الأجسام (مولر-بليسيت من الدرجة الثانية) في VASP.

في VASP، يتم تمثيل الكميات المركزية مثل مدارات الإلكترون الفردية، وكثافة شحنة الإلكترون، والإمكانات المحلية باستخدام مجموعات أساس الموجة المستوية. يتم وصف التفاعلات بين الإلكترونات والأيونات باستخدام الحفاظ على القاعدة أو طرق شبه الجهدية فوق الناعمة أو طرق الموجة المعززة بجهاز الإسقاط.

لتحديد الحالة الأرضية الإلكترونية، يستخدم VASP تقنيات فعالة لتوزيع المصفوفات التكرارية مثل طريقة التقليل المتبقي مع الفضاء التكراري العكسي المباشر (RMM-DIIS) أو خوارزمية ديفيدسون الكتلية. يتم دمجها مع مخططات خلط الكثافة الفعالة Broyden و Pulay لتسريع الحلقة المتسقة ذاتيًا.

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

  1. التحسين الهيكلي
  2. الحسابات المتسقة ذاتيا (كثافة الحالات)
  3. حساب نطاق الطاقة

من خلال هذا البرنامج التعليمي، سوف تفهم وظائف ملفات الإدخال الأساسية الأربعة لـ vasp: INCAR (ملف التحكم في وظيفة vasp)، وPOSCAR (ملف الهيكل)، وPOTCAR (ملف الإمكانات الزائفة) وKPOINTS (نقاط الشبكة المتبادلة)، وستتعلم كيفية كتابة ملفات الإدخال بنفسك.

2. ملف الإدخال

أولاً، دعني أقدم لك ملفات الإدخال المطلوبة لهذا البرنامج التعليمي.

1. التحسين الهيكلي

إنكار

ISTART =  1            (读取初始波函数 WAVECAR 文件)
ISPIN  =  1            (本次计算为不考虑自旋的 DFT 计算)
# ICHARG =  11         (非自洽计算:用于计算能带本征值)
LREAL  = .FALSE.       (不在实空间投影计算)
LWAVE  = .TRUE.        (计算完毕输出并保存 WAVECAR)
LCHARG = .TRUE.        (计算完毕输出并保存 CHGCAR)
ADDGRID= .TRUE.        (增加格点密度加速收敛)
 

NSW    =  300          (最多运行 300 步离子步)
ISMEAR =  -5           (采用 Blöchl 修正的 tetrahedron 方法) 
IBRION =  2            (采用 2-CG 算法进行收敛)
ISIF   =  3            (优化期间原胞形状、体积和内部原子位置都将发生变化)
EDIFFG = -1.5E-02      (离子步收敛条件 eV/A)

بوسكار

Si #(体系名称)
1.0 #(放大系数  下面 3 行对应 3 个晶格矢量 )
0.0 2.75 2.75
2.75 0.0 2.75
2.75 2.75 0.0
Si #(元素)
2 #(对应元素原子数)
Direct #(采用分数坐标,下列为 2 个原子的分数坐标)
0 0 0
0.25 0.25 0.25

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

K-Spacing Value to Generate K-Mesh: 0.020 #采用 GAMMA 方法取样 
0
Gamma
  16  16  16
0.0  0.0  0.0

#取 16x16x16 个格点

بوتكار

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

2. حساب متسق ذاتيًا (حساب كثافة الحالة)

إنكار

ISTART =  1            (读取初始波函数 WAVECAR 文件)
ISPIN  =  1            (本次计算为不考虑自旋的 DFT 计算)
# ICHARG =  11         (非自洽计算:用于计算能带本征值)
LREAL  = .FALSE.       (不在实空间投影计算)
LWAVE  = .TRUE.        (计算完毕输出并保存 WAVECAR)
LCHARG = .TRUE.        (计算完毕输出并保存 CHGCAR)
ADDGRID= .TRUE.        (增加格点密度加速收敛)
 

ISMEAR =  -5           (采用 Blöchl 修正的 tetrahedron 方法)
NELM   =  60           (SCF 自洽步数最多为 60 步)
EDIFF  =  1E-08        (SCF 能量收敛条件)

بوسكار

استخدم مخرجات CONTCAR من الخطوة السابقة "1. التحسين الهيكلي" وأعد تسميتها إلى POSCAR

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

نفس "1. التحسين الهيكلي"

بوتكار

نفس "1. التحسين الهيكلي"

3. حساب نطاق الطاقة

إنكار

ISTART =  1            (读取初始波函数 WAVECAR 文件)
ISPIN  =  1            (本次计算为不考虑自旋的 DFT 计算)
ICHARG =  11         (非自洽计算:用于计算能带本征值)
LREAL  = .FALSE.       (不在实空间投影计算)
LWAVE  = .TRUE.        (计算完毕输出并保存 WAVECAR)
LCHARG = .TRUE.        (计算完毕输出并保存 CHGCAR)
 

ISMEAR =  0            (能带计算需要使用高斯方法)
SIGMA  =  0.05         (高斯展宽)
NELM   =  60           (SCF 自洽步数最多为 60 步)
EDIFF  =  1E-08        (SCF 能量收敛条件)

بوسكار

نفس "2. حساب متسق ذاتيًا (حساب كثافة الحالة)"

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

K-Path Generated by VASPKIT.
   20   #k 点之间的间隔
Line-Mode
Reciprocal
   0.0000000000   0.0000000000   0.0000000000     GAMMA          
   0.5000000000   0.0000000000   0.5000000000     X              
 
   0.5000000000   0.0000000000   0.5000000000     X              
   0.6250000000   0.2500000000   0.6250000000     U              
 
   0.3750000000   0.3750000000   0.7500000000     K              
   0.0000000000   0.0000000000   0.0000000000     GAMMA          
 
   0.0000000000   0.0000000000   0.0000000000     GAMMA          
   0.5000000000   0.5000000000   0.5000000000     L              
 
   0.5000000000   0.5000000000   0.5000000000     L              
   0.5000000000   0.2500000000   0.7500000000     W              
 
   0.5000000000   0.2500000000   0.7500000000     W              
   0.5000000000   0.0000000000   0.5000000000     X    

بوتكار

نفس "1. التحسين الهيكلي"

3. خطوات التشغيل العملي

والآن دعونا نبدأ العملية العملية. لقد قام هذا البرنامج التعليمي بإعداد حزمة المصدر المفتوحة المطلوبة (tutorials.zip). يمكنك استنساخ الحاوية مباشرة. يجب تنزيل ملفات إمكانات زائفة أخرى وتحميلها وفقًا للبرنامج التعليمي لأسباب تتعلق بحقوق النشر.

1. استنساخ الحاوية وبدء تشغيلها

بعد تحميل الحاوية، انقر فوق "فتح مساحة العمل"

2. تحميل ملف الإدخال

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

2.2 فك ضغط الحزمة

unzip tutorials.zip

2.3 أدخل الدليل

cd tutorials

2.4 قم بتحميل جهد السيليكون الكاذب المُجهز

هنا يمكنك استخدام "مثال الموقع الرسمي":https://www.vasp.at/wiki/images/d/d1/5_4_Si_bandstructure.tgz POTCAR الكاذبة المحتملة

ضع الجهد الكاذب في 1_str.

3. تشغيل vasp

ضبط معلمات openmp

export OMP_NUM_THREADS=1

3.1 التحسين الهيكلي

أدخل 1_str

cd 1_str
mpirun -n 2 --allow-run-as-root vasp_std 

بعد اكتمال العملية، انسخ POTCAR وWAVECAR وCHGCAR وCHG إلى 2_scf

ونسخ CONTCAR إلى 2_scf وتغييره إلى POSCAR

cp POTCAR WAVECAR CHG* ../2_scf
cp CONTCAR ../2_scf/POSCAR

أدخل الدليل ../2_scf

cd ../2_scf

3.2 الحساب المتسق ذاتيًا (حساب كثافة الحالات)

أدخل الكود التالي للتشغيل:

mpirun -n 2 --allow-run-as-root vasp_std 

في هذا الوقت، سوف يقوم vasp بقراءة WAVECAR وCHGCAR المنسوخة في الخطوة 3.1.

بعد اكتمال العملية، انسخ POSCAR وPOTCAR وWAVECAR وCHGCAR وCHG إلى 3_band

cp POSCAR POTCAR WAVECAR CHG*  ../3_band

أدخل الدليل ../3_band

cd ../3_band

3.3 حساب نطاق الطاقة

أدخل الكود التالي للتشغيل:

mpirun -n 2 --allow-run-as-root vasp_std 

في هذا الوقت، سوف يقوم vasp بقراءة WAVECAR وCHGCAR وCHG المنسوخة في الخطوة 3.2 ويقوم بحساب القيمة الذاتية.

العودة إلى الدليل الرئيسي لملف الإدخال

cd ..

4. تثبيت vaspkit

4.1 تثبيت تبعيات بايثون

pip install numpy scipy matplotlib

4.2 تكوين vaspkit

chmod 777 setupvk.sh
./setupvk.sh
source ~/.bashrc 
cd tutorials

5. معالجة البيانات باستخدام vaspkit

5.1 رسم كثافة الحالات

أدخل 2_scf

cd 2_scf

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

vaspkit
111
1

سيتم إنشاء مخطط كثافة الحالة في 2_scf

نظام TDOS

العودة إلى المحتويات

cd ..

5.2 رسم مخططات نطاق الطاقة

أدخل 3_band

cd 3_band

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

vaspkit
211
1

يمكنك أن ترى أن مخطط النطاق سيتم إنشاؤه في 3_band

فرقة