VASP 입문서: 실리콘의 상태 밀도 및 대역폭 계산
1. 튜토리얼 소개
* 비디오 튜토리얼:[VASP 시작하기 튜토리얼] 실리콘의 상태 밀도 및 에너지 밴드 계산
VASP 소개
VASP(Vienna Ab initio 시뮬레이션 패키지) 이는 전자 구조 계산 및 양자 역학 분자 동역학 등의 기본 원리를 바탕으로 원자 규모의 물질 모델링을 위한 컴퓨터 프로그램입니다.
VASP는 밀도 함수 이론(DFT)에서 Kohn-Sham 방정식을 풀거나 Hartree-Fock(HF) 근사에서 Roothaan 방정식을 풀어 다체 슈뢰딩거 방정식의 근사 솔루션을 계산할 수 있습니다. 하트리-폭 방법과 밀도 함수 이론을 혼합한 하이브리드 함수도 구현됩니다. 또한, VASP에서는 그린 함수 방법(GW 준입자 및 ACFDT-RPA)과 다체 섭동 이론(2차 Møller-Plesset)을 사용할 수 있습니다.
VASP에서는 단일 전자 궤도, 전자 전하 밀도, 국소 퍼텐셜과 같은 중심적인 양은 평면파 기저 집합을 사용하여 표현됩니다. 전자와 이온 사이의 상호작용은 규범 보존법이나 초연성 의사 퍼텐셜 또는 프로젝터 증강 파동법을 사용하여 설명됩니다.
VASP는 전자 기저 상태를 결정하기 위해 RMM-DIIS(직접 역 반복 부분 공간)를 사용한 잔차 최소화 방법이나 블록 데이비슨 알고리즘과 같은 효율적인 반복 행렬 대각화 기술을 활용합니다. 이러한 방식은 효율적인 브로이든 및 풀레이 밀도 혼합 방식과 결합되어 자체 일관성 루프를 가속화합니다.
튜토리얼 콘텐츠
- 구조 최적화
- 자체 일관성 계산(상태 밀도)
- 에너지 밴드 계산
이 튜토리얼을 통해 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)
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
K포인트
K-Spacing Value to Generate K-Mesh: 0.020 #采用 GAMMA 方法取样
0
Gamma
16 16 16
0.0 0.0 0.0
#取 16x16x16 个格点
포트카
시스템의 해당 요소의 의사 퍼텐셜 조합은 Si의 의사 퍼텐셜입니다.
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 能量收敛条件)
POSCAR
이전 단계 "1. 구조 최적화"의 CONTCAR 출력을 사용하고 이름을 POSCAR로 변경합니다.
K포인트
"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 能量收敛条件)
POSCAR
"2. 자기일관성 계산(상태밀도 계산)"과 동일
K포인트
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는 3.1단계에서 복사한 WAVECAR와 CHGCAR을 읽습니다.
작업이 완료되면 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는 3.2단계에서 복사한 WAVECAR, CHGCAR, CHG를 읽고 고유값 계산을 수행합니다.
입력 파일의 메인 디렉토리로 돌아가기
cd ..
4. Vaspkit 설치
4.1 Python 종속성 설치
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에서 생성됩니다.

목차로 돌아가기
cd ..
5.2 에너지 밴드 다이어그램 그리기
3_band를 입력하세요
cd 3_band
vaspkit을 사용하여 데이터를 처리하고 플롯합니다.
vaspkit
211
1
3_band에서 밴드 다이어그램이 생성되는 것을 볼 수 있습니다.
