VASP 실리콘 상태 밀도 및 에너지 대역의 하이브리드 함수 계산
비엔나 Ab initio 시뮬레이션 패키지(VASP) 이는 전자 구조 계산 및 양자 역학 분자 동역학 등의 기본 원리를 바탕으로 원자 규모의 물질 모델링을 위한 컴퓨터 프로그램입니다.
VASP는 다체 슈뢰딩거 방정식의 근사 솔루션을 계산하는 데 적합합니다. 여기에는 밀도 함수 이론(DFT)의 틀 내에서 Kohn-Sham 방정식을 풀고 Hartree-Fock(HF) 근사에서 Roothaan 방정식을 처리하는 것을 포함하여 다양한 계산 방법이 포함됩니다. VASP의 또 다른 혁신은 Hartree-Fock 방법과 밀도 함수 이론을 통합하여 하이브리드 함수 방법을 형성한다는 점인데, 이를 통해 연구자에게 더욱 유연한 계산 옵션을 제공합니다. 또한, VASP에서는 그린 함수 방법(GW 준입자 및 ACFDT-RPA)과 다체 섭동 이론(2차 Møller-Plesset)을 사용할 수 있습니다.
VASP에서는 단일 전자 궤도, 전자 전하 밀도, 국소 퍼텐셜과 같은 중심적인 양은 평면파 기저 집합을 사용하여 표현됩니다. 전자와 이온 사이의 상호작용은 규범 보존법이나 초연성 의사 퍼텐셜 또는 프로젝터 증강 파동법을 사용하여 설명됩니다.
VASP는 전자 기저 상태를 결정하기 위해 RMM-DIIS(직접 역 반복 부분 공간)를 사용한 잔차 최소화 방법이나 블록 데이비슨 알고리즘과 같은 효율적인 반복 행렬 대각화 기술을 활용합니다. 이러한 방식은 효율적인 브로이든 및 풀레이 밀도 혼합 방식과 결합되어 자체 일관성 루프를 가속화합니다.
튜토리얼 소개
이 튜토리얼에서는 이전 튜토리얼과 유사한 하이브리드 함수를 사용하여 실리콘 에너지 대역을 계산하는 방법을 알아봅니다.VASP 시작하기 튜토리얼: 실리콘에서 상태 밀도 및 대역폭 계산), 하이브리드 함수는 올바른 밴드갭을 가진 물질의 에너지 밴드와 상태 밀도를 계산할 수 있지만, 더 많은 컴퓨팅 리소스가 필요하므로 이번에는 시연에 GPU를 사용합니다.
이 튜토리얼을 따라가면 VASP 하이브리드 함수 계산에 필요한 INCAR 및 KPOITNS를 생성하는 방법을 배울 수 있습니다.
이전 튜토리얼 (VASP 시작하기 튜토리얼: 실리콘에서 상태 밀도 및 대역폭 계산)은 4단계로 구성되어 있습니다. 이 하이브리드 함수의 계산에는 실리콘의 상태 밀도와 에너지 대역을 얻기 위한 한 단계만 필요합니다(구조 최적화는 건너뜁니다).
입력 파일 준비
이 튜토리얼에서는 INCAR, POSCAR, KPOINTS, POTCAR의 4개 파일을 준비해야 합니다.
인카
Global Parameters
ENCUT = 300 (波函数截断能量)
PREC = Normal (精度设置)
LWAVE = .TRUE. (保存波函数)
LCHARG = .TRUE. (保存电荷)
ADDGRID= .TRUE. (增加格点加速收敛)
Static Calculation
ISMEAR = 0 (高斯占据数)
SIGMA = 0.1 (高斯展宽)
LORBIT = 11 (输出 DOSCAR 和 PROCAR)
NELM = 60 (最大电子步)
EDIFF = 1E-08 (电子步收敛判据)
HSE06 Calculation
LHFCALC= T (启动杂化泛函计算)
AEXX = 0.25 (杂化比例 0.25)
HFSCREEN= 0.2 (杂化屏蔽参数 0.2)
ALGO = ALL (最优化算法)
TIME = 0.4 (最优化算法步长)
PRECFOCK= N (FFT 精度)
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포인트
0.060 5 5 5 10 0.060 83 6 19 6 20 16 13 9 # Parameters to Generate KPOINTS (Do NOT Edit This Line)
93
Reciprocal lattice
0.00000000000000 0.00000000000000 0.00000000000000 1
0.20000000000000 0.00000000000000 0.00000000000000 8
0.40000000000000 0.00000000000000 0.00000000000000 8
0.20000000000000 0.20000000000000 0.00000000000000 6
0.40000000000000 0.20000000000000 0.00000000000000 24
-0.40000000000000 0.20000000000000 0.00000000000000 24
-0.20000000000000 0.20000000000000 0.00000000000000 12
0.40000000000000 0.40000000000000 0.00000000000000 6
-0.40000000000000 0.40000000000000 0.00000000000000 12
-0.40000000000000 0.40000000000000 0.20000000000000 24 (以上为 scf 点位)
0.00000000000000 0.00000000000000 0.00000000000000 0 (以下为能带点位)
0.02777777777778 0.00000000000000 0.02777777777778 0
0.05555555555556 0.00000000000000 0.05555555555556 0
0.08333333333333 0.00000000000000 0.08333333333333 0
0.11111111111111 0.00000000000000 0.11111111111111 0
0.13888888888889 0.00000000000000 0.13888888888889 0
0.16666666666667 0.00000000000000 0.16666666666667 0
0.19444444444444 0.00000000000000 0.19444444444444 0
0.22222222222222 0.00000000000000 0.22222222222222 0
0.25000000000000 0.00000000000000 0.25000000000000 0
0.27777777777778 0.00000000000000 0.27777777777778 0
0.30555555555556 0.00000000000000 0.30555555555556 0
0.33333333333333 0.00000000000000 0.33333333333333 0
0.36111111111111 0.00000000000000 0.36111111111111 0
0.38888888888889 0.00000000000000 0.38888888888889 0
0.41666666666667 0.00000000000000 0.41666666666667 0
0.44444444444444 0.00000000000000 0.44444444444444 0
0.47222222222222 0.00000000000000 0.47222222222222 0
0.50000000000000 0.00000000000000 0.50000000000000 0
0.50000000000000 0.00000000000000 0.50000000000000 0
0.52500000000000 0.05000000000000 0.52500000000000 0
0.55000000000000 0.10000000000000 0.55000000000000 0
0.57500000000000 0.15000000000000 0.57500000000000 0
0.60000000000000 0.20000000000000 0.60000000000000 0
0.62500000000000 0.25000000000000 0.62500000000000 0
0.37500000000000 0.37500000000000 0.75000000000000 0
0.35526315789474 0.35526315789474 0.71052631578947 0
0.33552631578947 0.33552631578947 0.67105263157895 0
0.31578947368421 0.31578947368421 0.63157894736842 0
0.29605263157895 0.29605263157895 0.59210526315789 0
0.27631578947368 0.27631578947368 0.55263157894737 0
0.25657894736842 0.25657894736842 0.51315789473684 0
0.23684210526316 0.23684210526316 0.47368421052632 0
0.21710526315789 0.21710526315789 0.43421052631579 0
0.19736842105263 0.19736842105263 0.39473684210526 0
0.17763157894737 0.17763157894737 0.35526315789474 0
0.15789473684211 0.15789473684211 0.31578947368421 0
0.13815789473684 0.13815789473684 0.27631578947368 0
0.11842105263158 0.11842105263158 0.23684210526316 0
0.09868421052632 0.09868421052632 0.19736842105263 0
0.07894736842105 0.07894736842105 0.15789473684211 0
0.05921052631579 0.05921052631579 0.11842105263158 0
0.03947368421053 0.03947368421053 0.07894736842105 0
0.01973684210526 0.01973684210526 0.03947368421053 0
0.00000000000000 0.00000000000000 0.00000000000000 0
0.00000000000000 0.00000000000000 0.00000000000000 0
0.03333333333333 0.03333333333333 0.03333333333333 0
0.06666666666667 0.06666666666667 0.06666666666667 0
0.10000000000000 0.10000000000000 0.10000000000000 0
0.13333333333333 0.13333333333333 0.13333333333333 0
0.16666666666667 0.16666666666667 0.16666666666667 0
0.20000000000000 0.20000000000000 0.20000000000000 0
0.23333333333333 0.23333333333333 0.23333333333333 0
0.26666666666667 0.26666666666667 0.26666666666667 0
0.30000000000000 0.30000000000000 0.30000000000000 0
0.33333333333333 0.33333333333333 0.33333333333333 0
0.36666666666667 0.36666666666667 0.36666666666667 0
0.40000000000000 0.40000000000000 0.40000000000000 0
0.43333333333333 0.43333333333333 0.43333333333333 0
0.46666666666667 0.46666666666667 0.46666666666667 0
0.50000000000000 0.50000000000000 0.50000000000000 0
0.50000000000000 0.50000000000000 0.50000000000000 0
0.50000000000000 0.47916666666667 0.52083333333333 0
0.50000000000000 0.45833333333333 0.54166666666667 0
0.50000000000000 0.43750000000000 0.56250000000000 0
0.50000000000000 0.41666666666667 0.58333333333333 0
0.50000000000000 0.39583333333333 0.60416666666667 0
0.50000000000000 0.37500000000000 0.62500000000000 0
0.50000000000000 0.35416666666667 0.64583333333333 0
0.50000000000000 0.33333333333333 0.66666666666667 0
0.50000000000000 0.31250000000000 0.68750000000000 0
0.50000000000000 0.29166666666667 0.70833333333333 0
0.50000000000000 0.27083333333333 0.72916666666667 0
0.50000000000000 0.25000000000000 0.75000000000000 0
0.50000000000000 0.25000000000000 0.75000000000000 0
0.50000000000000 0.21875000000000 0.71875000000000 0
0.50000000000000 0.18750000000000 0.68750000000000 0
0.50000000000000 0.15625000000000 0.65625000000000 0
0.50000000000000 0.12500000000000 0.62500000000000 0
0.50000000000000 0.09375000000000 0.59375000000000 0
0.50000000000000 0.06250000000000 0.56250000000000 0
0.50000000000000 0.03125000000000 0.53125000000000 0
0.50000000000000 0.00000000000000 0.50000000000000 0
포트카
이 시스템은 원소들의 의사 퍼텐셜 조합에 해당하며, 여기서는 Si의 의사 퍼텐셜입니다.
실행 단계
이제 튜토리얼의 실제적인 부분으로 넘어가 보겠습니다. 튜토리얼에서는 필요한 패키지를 준비했으므로 컨테이너를 직접 복제할 수 있습니다. 이 튜토리얼에서는 RTX 4090 컴퓨팅 리소스와 vasp 6.3.0-cuda11.8 버전 이미지를 사용하고 작업 공간에서 작동합니다.
1. 컨테이너를 복제하고 시작합니다.
1.1 컨테이너가 로드될 때까지 기다린 후 작업 공간 열기를 클릭하세요.

1.2 터미널 열기

1.3 wfl 디렉토리에 들어가세요
cd tutorials/wfl
1.4 준비된 실리콘 의사전위를 wfl 디렉토리에 업로드합니다.
여기서 사용할 수 있습니다공식 웹사이트 샘플 파일의사전위 POTCAR

2. VASP 실행
mpirun -n 1 vasp_std
3. Vaspkit 설치
이전 디렉토리로 돌아가기
cd ..
3.1 Python 종속성 설치
pip install numpy scipy matplotlib
3.2 vaspkit 구성
chmod 777 setupvk.sh
./setupvk.sh
source ~/.bashrc
cd tutorials
4. Vaspkit을 이용한 데이터 처리
4.1 상태 밀도 및 밴드 다이어그램 그리기
다음을 입력하여 wfl 디렉토리로 들어갑니다.
cd wfl
상태 밀도 데이터를 생성하려면 다음 명령을 입력하세요.
vaspkit
111
1
vaspkit을 사용하여 대역 데이터를 처리하고 그래프로 표시하려면 다음 명령을 입력하세요.
vaspkit
252
2
상태 밀도와 밴드 다이어그램은 다음과 같이 생성될 수 있습니다.

vaspkit을 사용하여 밴드갭을 살펴보겠습니다.
vaspkit
911
추정된 실리콘 밴드갭은 1.2eV로, 일반적인 실리콘 밴드갭 실험값인 1.12eV에 가깝습니다.
이전 튜토리얼에서 vaspkit을 사용한 DFT 계산은 실험값과는 거리가 먼 0.6133eV의 밴드갭을 보여주었습니다.
따라서 하이브리드 함수는 재료의 밴드갭을 더 정확하게 계산할 수 있지만, 더 많은 컴퓨팅 리소스가 필요합니다.