Home Science Coding Design Etc. AboutMe

VASP DFT 계산을 통해 Charge Density Difference Plot (Mapping) 하는 법

Nov. 26, 2021   /   6 mins read   /  

Density Functional Theory (DFT, 밀도범함수이론) 계산 툴 중에는 범용적으로 사용되는 Vienna Ab initio Simulation Package (VASP) 가 있습니다.


DFT 계산을 통해 할 수 있는 것들?

일반적으로 DFT 을 통해서 다음과 같은 예시들을 계산 할 수 있습니다.

  • Pt(111) 면에 CO 분자가 어떻게 흡착되는지? Fig.1a
  • Monolayer MoS2 의 electronic structure (전자 구조) 는 어떻게 되고, band gap (밴드갭, 띠틈) 은 얼마인지? Fig.1b
  • C2H5OH (에탄올) 이 산화될 때 $$ \Delta H$$ 은 얼마인지?
  • C28H31N2O3Cl (Rhodamine 6G) 의 전자 분포는 어떻게 되는지? Fig.1c
  • Graphene (그래핀) 의 lattice parameter 는 얼마인지? Fig.1d

Fig 1. DFT로 계산할 수 있는 예시들


이처럼 DFT를 이용하면 다양한 계산들을 수행할 수 있는데요. 이 글에서는 특정 결합 (또는 상호작용)이 형성 될 때 전하의 분포가 어떻게 바뀌는 지에 대해 분석하는 Charge Density Difference Plot (Mapping)을 알아보겠습니다. 우리말로는 전하밀도변화분포도 정도로 표현할 수 있겠네요.




Charge Density Difference 란?

Charge Density Difference 는 말그대로 전자의 밀도가 어떻게 바뀌었는 지를 나타냅니다. 그러므로, 시스템에서 반응 전-후의 전자 분포 변화를 관찰하는 게 주 목적 입니다.

우선, 우리가 잘 알고있는 H2O (물분자) 의 전자 분포를 봅시다. (아래 계산은 Gaussian 으로 진행하였습니다.)


Fig 2. 물 분자의 전자 분포


왼쪽에 나와있는 것이 물 분자의 전자 분포인데요 (Fig.2a). 산소가 수소에 비해 전기음성도가 크기 때문에 (즉, 전자를 더 잘 끌어당기기 때문에) Fig.2a 와 같이 산소 부분에 더 큰 전자구름이 형성된 것을 예측할 수 있습니다. 이를 표현하기 위해 오른쪽에 나타난 그림 (Fig.2b) 처럼 기존의 전자 분포에 정전위면(Electrostatic potential surface)을 같이 표현 할 수도 있습니다. 보통 전자 분포는 3차원 분포이므로, 정전위면을 표현하기 위해서 전자 분포에 색깔을 입혀 표현합니다. 간혹 2차원 단면의 경우 등고선처럼 전하 분포가 같은 지점들을 이은 Contour line 을 통해 표현하기도 합니다.




그런데 전자 분포만 보면 산소는 ''얼마나'' 전자를 얻었고, 수소는 ''얼마나'' 전자를 잃었는 지 알기는 힘듭니다. 따라서 아래와 같이 수소와 산소가 결합할 때 전 후의 차이를 비교하게 되는데요. 이를 전하 밀도 차이 (Charge density difference)라고 합니다.





VASP 에서 Charge Density Difference 계산하기

예를 들어, Cu(111) 기판 위에 Graphene 이 성장됐을 때, 구리와 그래핀 사이에는 어떤 전하분포 변화를 보일까요?

우선 위에 나온 H2O 의 경우를 다시 생각해 봅시다. 물 분자의 경우, 1개의 O 원자와 2개의 H 원자가 결합하여 H2O를 형성합니다.

$$$ 2H + O \rightarrow H_2 O $$$

분석하고자 하는 물 분자의 전하밀도변화는, 결합 전의 O 원자와 2개의 H 원자의 각각의 전자 분포를 구하여 다 더한 것을, 결합 후의 물 분자의 전자 분포에서 빼면 되겠죠.

즉, A + B → AB 시스템의 경우, AB의 전하밀도변화($$ \Delta \rho $$)는 다음과 같습니다.

$$$ \Delta \rho = \rho_{AB} - ( \rho_A + \rho_B )$$$



이제 구리와 그래핀의 경우로 돌아가서, VASP에서는 어떻게 계산을 진행하는 지 알아봅시다.


우선, 그래핀과 구리가 결합한 형태를 구조 최적화 (Optimization) 합니다. 구조 최적화에 대해서는 이 글에서 소개해두었습니다. 물론, 이 과정에서 어떤 Functional을 선택해야 구리와 그래핀의 lattice parameter를 잘 표현하는지, Cu(111) 면의 어느 부분(hcp, fcc, top, bridge)에 그래핀의 탄소가 놓일지 등을 면밀히 고려하여야 합니다 (Fig.3). 기존에 Reference가 있다면 이를 참고하는 것이 좋겠죠.

Fig.3 (a) Functional 별 Graphene의 lattice parameter 계산 결과 (b) FCC 금속의 (111) 면에서의 site 종류

구조 최적화 과정을 통해 그래핀-구리의 신뢰할 수 있는 구조를 얻었다면, 이제 Charge Density Difference 계산을 수행 할 수 있습니다. 안정화 된 원자 구조는 고정시킨 후 single-point calculation 으로 Charge Density Difference 를 구하면 되는데요.


이를 위해 구조 최적화 과정 후 얻은 구조 (POSCAR 또는 CONTCAR) 와 기존에 사용한 POTCARKPOINTS 파일을 가지고 온 후, INCAR 파일에서 몇가지 파라미터들을 수정합니다.

INCAR

LCHARG = 1
NSW = 0
IBRION = -1

LCHARG = 1 을 통해 전하분포 (Charge distribution) 를 CHGCAR 파일에 기록합니다.

NSW = 0 을 통해 electronic single-point calculation 을 수행합니다. (즉, 이온들의 위치는 고정한 채 전자의 분포만 계산)

NSW = 0으로 설정하면 IBRION = -1이 default로 설정되는데, 혹시 optimize 과정에서 필요에 의해 IBRION을 변경했다면 이를 바꿔줘야 합니다. (또는 comment out)

각 파라미터에 대한 자세한 설명은 VASP wiki 에 나와있습니다.


다음으로, 결합 전의 각각의 전하분포 또한 계산해야 합니다. 이를 위해 POSCAR 파일에서 해당 원자만 남기고 지워줍니다. (중요! 모든 POSCAR 파일은 lattice parameter 가 동일해야 함) 또한, POTCAR 파일도 해당하는 원소만 포함하여 수정합니다.

이렇게 얻은 CHGCAR 파일들을 구분하기 쉽게 이름을 바꿔줍니다. (예를 들어 CHGCAR_Cu_Gr, CHGCAR_Cu, CHGCAR_Gr)


모든 계산이 끝나면, Graphene/Cu(111) 구조에 대한 전하밀도변화를 얻을 수 있습니다.

앞서 계산을 통해 구한 CHGCAR 파일은 소프트웨어 툴로 전자의 분포를 표현할 수 있습니다. (혹시 raw 파일을 직접 plot 하려는 목적이면, CHGCAR의 구조에 대해서는 이 글 을 참고하세요.)

저는 VESTA 소프트웨어를 통해 plot을 했는데요. VESTA 는 교육, 연구, 비상업용으로 사용 조건부 무료 소프트웨어입니다. (VESTA 공식 홈페이지)

VESTA가 지원하는 확장자 중 .vasp가 있는데요. 앞서 얻은 CHGCAR_*** 파일들을 CHGCAR_***.vasp으로 변경하면 VESTA 에서 불러올 수 있습니다.

Fig 4. VESTA 소프트웨어를 통한 Charge Density Difference Plot (Mapping)

  1. 우선 Graphene/Cu(111)이 모두 있는 파일 (구조 AB) 을 불러온 후,
  2. Edit → Edit Data → Volumetric Data... 에 들어가서 (Fig 4 ①)
  3. Import... 를 통해 Graphene (구조 A) 선택하고, Subtract from current data를 선택하여 적용합니다. (Fig 4 ②~④)
  4. 다시 한번 Import... 를 통해 이번에는 Cu(111) (구조 B) 를 선택하고, 마찬가지로 Subtract from current data를 선택하여 적용합니다.
  5. 이후 OK 버튼을 눌러 Charge Density Difference 결과를 확인합니다. (Fig 4 ⑤)

위의 과정은 앞서 말씀드렸던 구조 AB 에서 구조 A와 구조 B에 해당하는 전자분포를 빼는 과정입니다.




여기까지 VASP를 통한 Charge Density Difference Plot (Mapping) 계산을 알아보았는데요. 이를 통해 원하는 시스템에서의 상호작용 전-후 전자밀도변화를 확인할 수 있습니다.

혹시 틀린 부분이나, 궁금하신 부분 있으면 메일 또는 댓글 달아주세요. 읽어주셔서 감사합니다. 😀