본문 바로가기

DFT/Calculation

원자의 병진 대칭성 깨기

 

 

여기서는 그래핀을 이용하여 예시를 들겠습니다.
vasp file을 vi 등의 텍스트 에디터로 열어 보면 다음과 같습니다.

vasp 파일을 vi로 연 모습

 

그리고 그걸 VESTA로 열어보면 다음과 같습니다.

이 때의 좌표값은 다음과 같습니다.

그런데 여기 있는 값을 아무리 바꾸어 주더라도

Direct의 첫째 줄을 0.08...에서 0.8...로 바꾸었습니다.

이렇게 바꾸었지만.

VESTA 파일에서의 위치는 변함이 없습니다.

 

어떻게 된 일일까요?

 

답은 우리가 vasp 파일로 저장할 때 "Fractional coordinate"로 저장했다는 데 있습니다. 

 

VASP 파일에서 원자의 위치는 주어진 격자(cell) 안에서의 상대적인 위치로 표현됩니다. 이를 fractional/direct coordinates라고 부릅니다. 이 좌표는 격자 벡터를 사용하여 실제 위치로 변환되는 과정을 거치게 됩니다.

 

그러므로 실제 원자의 위치를 바꾸기 위해서는 다음과 같은 과정을 거쳐야 합니다.

원자의 위치를 x 방향으로 3 Ångstrom만큼 옮기려면 다음과 같은 절차를 따르면 됩니다.
여기서는 세 번째 원자의 위치를 변형하겠습니다.

  1. POSCAR 파일을 텍스트 편집기(예: window에서는 Notepad, linux에서는 vi, gedit, vim 등)로 열어주세요.
  2. 원자의 위치가 나열된 부분으로 이동하여, 세 번째 원자의 위치를 찾습니다.
  3. 해당 원자의 x 좌표(fractional)를 기록합니다.
  4. Cartesian 좌표로 변환합니다.
  5. Cartesian 좌표=fractional 좌표×lattice vector
  6. 변환된 Cartesian 좌표의 x 성분에 3 Ångstrom을 더합니다.
  7. 수정된 Cartesian 좌표를 다시 fractional 좌표로 변환합니다.
  8. fractional 좌표=Cartesian 좌표×lattice vector의 역행렬
  9. POSCAR 파일에 원래의 fractional 좌표를 수정된 좌표로 교체합니다.
  10. 파일을 저장하고 VESTA로 열어서 변경된 구조를 확인합니다.

4번 과정을 더 설명하겠습니다.
여기서의 lattice vector는 POSCAR 파일의 상단 부분에 나열된 3x3 행렬입니다.

1. 우리의 lattice vector는 다음과 같습니다:

\[
\mathbf{L} =
\begin{bmatrix}
9.8240003586 & 0.0000000000 & 0.0000000000 \\
-4.9120013122 & 8.5078332232 & 0.0000000000 \\
0.0000000000 & 0.0000000000 & 5.0000000000 \\
\end{bmatrix}
\]

2. 세 번째 원자의 fractional 좌표 \(\mathbf{f}\)는 다음과 같습니다:

\[
\mathbf{f} =
\begin{bmatrix}
0.083333500 \\
0.666666508 \\
0.000000000 \\
\end{bmatrix}
\]

3. Cartesian 좌표 \(\mathbf{c}\)는 fractional 좌표와 lattice vector의 곱으로 얻어집니다:

\[
\mathbf{c} = \mathbf{f} \times \mathbf{L}
\]

따라서,

\[
\mathbf{c} = 
\begin{bmatrix}
0.083333500 \\
0.666666508 \\
0.000000000 \\
\end{bmatrix}
\times
\begin{bmatrix}
9.8240003586 & 0.0000000000 & 0.0000000000 \\
-4.9120013122 & 8.5078332232 & 0.0000000000 \\
0.0000000000 & 0.0000000000 & 5.0000000000 \\
\end{bmatrix}
\]

 

 

위 과정을 거친 뒤 VESTA에서 파일을 열어보면

 

이와 같이 병진 대칭성 구조가 깨진 것을 확인할 수 있습니다.