VASP-Grundlagen: Berechnung Der Zustandsdichte Und Bandbreiten in Silizium
1. Einführung in das Tutorial
* Video-Tutorial:[VASP-Tutorial für den Einstieg] Berechnung der Zustandsdichte und Energiebänder von Silizium
Einführung in VASP
VASP (Vienna Ab initio Simulation Package) Es handelt sich um ein Computerprogramm zur Materialmodellierung auf atomarer Ebene ausgehend von Grundprinzipien, wie etwa Berechnungen der elektronischen Struktur und quantenmechanische Molekulardynamik.
VASP kann Näherungslösungen für die Vielteilchen-Schrödingergleichung berechnen, indem entweder die Kohn-Sham-Gleichung in der Dichtefunktionaltheorie (DFT) oder die Roothaan-Gleichung in der Hartree-Fock-Näherung (HF) gelöst wird. Es werden auch Hybridfunktionale implementiert, die die Hartree-Fock-Methode mit der Dichtefunktionaltheorie kombinieren. Darüber hinaus sind in VASP Green'sche Funktionsmethoden (GW-Quasiteilchen und ACFDT-RPA) und die Vielteilchen-Störungstheorie (Møller-Plesset zweiter Ordnung) verfügbar.
In VASP werden zentrale Größen wie einzelne Elektronenorbitale, Elektronenladungsdichte und lokales Potenzial mithilfe von Basissätzen ebener Wellen dargestellt. Die Wechselwirkungen zwischen Elektronen und Ionen werden mithilfe von Normerhaltungs- oder ultraweichen Pseudopotentialen oder projektorgestützten Wellenmethoden beschrieben.
Zur Bestimmung des elektronischen Grundzustands nutzt VASP effiziente iterative Matrixdiagonalisierungstechniken wie die Methode der Residualminimierung mit direkter Inversion des iterierten Subraums (RMM-DIIS) oder den Block-Davidson-Algorithmus. Diese werden mit effizienten Broyden- und Pulay-Dichtemischschemata kombiniert, um die selbstkonsistente Schleife zu beschleunigen.
Tutorial-Inhalte
- Strukturoptimierung
- Selbstkonsistente Berechnungen (Zustandsdichte)
- Energiebandberechnung
Durch dieses Tutorial lernen Sie die Funktionen der vier grundlegenden Eingabedateien von vasp kennen: INCAR (vasp-Funktionssteuerungsdatei), POSCAR (Strukturdatei), POTCAR (Pseudopotentialdatei) und KPOINTS (reziproke Gitterpunkte) und lernen, wie Sie selbst Eingabedateien schreiben.
2. Eingabedatei
Lassen Sie mich zunächst die für dieses Tutorial erforderlichen Eingabedateien vorstellen.
1. Strukturoptimierung
INCAR
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)
POSCAR
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
KPUNKTE
K-Spacing Value to Generate K-Mesh: 0.020 #采用 GAMMA 方法取样
0
Gamma
16 16 16
0.0 0.0 0.0
#取 16x16x16 个格点
POTCAR
Die Pseudopotentialkombination der entsprechenden Elemente des Systems, hier das Pseudopotential von Si
2. Selbstkonsistente Berechnung (Zustandsdichteberechnung)
INCAR
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 能量收敛条件)
POSCAR
Verwenden Sie die CONTCAR-Ausgabe aus dem vorherigen Schritt „1. Strukturoptimierung“ und benennen Sie sie in POSCAR um
KPUNKTE
Wie "1. Strukturoptimierung"
POTCAR
Wie "1. Strukturoptimierung"
3. Energiebandberechnung
INCAR
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 能量收敛条件)
POSCAR
Gleich wie "2. Selbstkonsistente Berechnung (Zustandsdichteberechnung)"
KPUNKTE
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
POTCAR
Wie "1. Strukturoptimierung"
3. Praktische Bedienungsschritte
Nun geht es an die praktische Umsetzung. Dieses Tutorial hat das erforderliche Open-Source-Paket (tutorials.zip) vorbereitet. Sie können den Container direkt klonen. Andere Pseudopotentialdateien müssen aus urheberrechtlichen Gründen gemäß dem Tutorial heruntergeladen und hochgeladen werden.
1. Klonen und starten Sie den Container
Nachdem der Container geladen wurde, klicken Sie auf „Arbeitsbereich öffnen“

2. Eingabedatei hochladen
2.1 Terminal öffnen

2.2 Entpacken Sie das Paket
unzip tutorials.zip
2.3 Geben Sie das Verzeichnis ein
cd tutorials
2.4 Laden Sie das vorbereitete Silizium-Pseudopotential hoch
Hier können Sie das Beispiel der „offiziellen Website“ verwenden:https://www.vasp.at/wiki/images/d/d1/5_4_Si_bandstructure.tgz Pseudopotentielles POTCAR
Setzen Sie das Pseudopotential in 1_str ein.

3. Führen Sie vasp aus
Festlegen von OpenMP-Parametern
export OMP_NUM_THREADS=1
3.1 Strukturoptimierung
Geben Sie 1_str ein
cd 1_str
mpirun -n 2 --allow-run-as-root vasp_std
Kopieren Sie nach Abschluss des Vorgangs POTCAR, WAVECAR, CHGCAR und CHG nach 2_scf
Und kopieren Sie CONTCAR nach 2_scf und ändern Sie es in POSCAR
cp POTCAR WAVECAR CHG* ../2_scf
cp CONTCAR ../2_scf/POSCAR
Geben Sie das Verzeichnis ../2_scf ein
cd ../2_scf
3.2 Selbstkonsistente Berechnung (Berechnung der Zustandsdichte)
Geben Sie zum Ausführen den folgenden Code ein:
mpirun -n 2 --allow-run-as-root vasp_std
Zu diesem Zeitpunkt liest vasp die in Schritt 3.1 kopierten WAVECAR und CHGCAR.
Kopieren Sie nach Abschluss des Vorgangs POSCAR, POTCAR, WAVECAR, CHGCAR und CHG nach 3_band
cp POSCAR POTCAR WAVECAR CHG* ../3_band
Geben Sie das Verzeichnis ../3_band ein
cd ../3_band
3.3 Energiebandberechnung
Geben Sie zum Ausführen den folgenden Code ein:
mpirun -n 2 --allow-run-as-root vasp_std
Zu diesem Zeitpunkt liest vasp die in Schritt 3.2 kopierten WAVECAR, CHGCAR und CHG und führt eine Eigenwertberechnung durch.
Zurück zum Hauptverzeichnis der Eingabedatei
cd ..
4. Installieren Sie vaspkit
4.1 Python-Abhängigkeiten installieren
pip install numpy scipy matplotlib
4.2 Vaspkit konfigurieren
chmod 777 setupvk.sh
./setupvk.sh
source ~/.bashrc
cd tutorials
5. Verwenden Sie Vaspkit zur Datenverarbeitung
5.1 Darstellung der Zustandsdichte
Geben Sie 2_scf ein
cd 2_scf
Verwenden Sie Vaspkit, um Daten zu verarbeiten und zu plotten
vaspkit
111
1
Das Zustandsdichtediagramm wird in 2_scf generiert

Zurück zum Inhaltsverzeichnis
cd ..
5.2 Energiebanddiagramme zeichnen
Geben Sie 3_band ein
cd 3_band
Verwenden Sie Vaspkit, um Daten zu verarbeiten und zu plotten
vaspkit
211
1
Sie können sehen, dass das Banddiagramm in 3_band generiert wird
