밀도범함수이론을 실제로 푸는 과정에서 중요한 개념 중 하나가 역격자 공간 및 k-point이다. 밀도범함수이론을 풀 때 우리는 3차원 공간상에 있는 원자들을 역격자 공간으로 이동시키게 되며, 이 개념은 대부분의 고체 물리에 적용된다. 고체의 경우, 특정한 원자 구조가 반복되는 형태로 이루어져 있으며, 이를 Periodic Boundary Condition (PBC)라고 한다. 우리가 이렇게 규칙적으로 반복되는 구조에 대하여 Schrodinger 방정식을 풀 경우, 그 해는 Bloch's theorem을 만족해야 한다.
Bloch's theorem을 간략하게 설명하면, 반복되는 단위격자(Unit cell) 각각에 대해 동일한 위치에 해당하는 지점의 물리적 값은 동일하다는 이론이다. 자세한 식을 적지는 않겠지만, 이 이론에서는 실제 좌표인 r과 역격자의 좌표인 k를 사용하는데, 밀도범함수이론에서 비롯된 여러 수학적 문제들은 이 역격자 좌표를 기준으로 풀 경우 보다 쉽게 해결할 수 있다. Bloch's theorem의 식에서, 실제 좌표 r과 역격자의 좌표 k에 대한 부분이 Plane wave라고 불리기 때문에, 이 방법을 사용한 계산을 Plane-wave 계산이라고 한다. 역격자는 실제 격자의 역에 해당해서, 역격자의 길이 b는 원주율 상수 pi를 실제 격자의 길이 a로 나눈 값이 된다. 즉, 실제 격자가 클수록 역격자는 작아진다. 실제 격자에서, 고체의 반복되는 전체 구조를 표현하기 위한 최소의 단위격자를 Primitive cell이라고 하는데, 이는 달리 말하면 우리가 필요로 하는 모든 정보를 가지고 있는 최소한의 부피에 해당한다고 볼 수 있다. 이는 Wigner-Seitz cell이라는 개념을 통해 조금 더 정확하게 고려할 수 있다. 그리고, 동일한 개념을 역격자에도 적용할 수 있다. 역격자에서도 Primitive cell을 정의할 수 있는데 이 Cell은 여러 특별한 성질을 가지고 있기 때문에, 이를 따로 이름 붙여 Brillouin zone이라고 한다. 그리고 Brillouin zone 내에서 중요한 역할을 하는 몇몇 점들은 특별한 이름을 가지고 있다. 특히, 역격자 벡터 k가 (0, 0, 0)인 지점이 가장 중요한데, 이를 Gamma point라고 한다. Brillouin zone이 중요한 이유는, 실제 밀도범함수이론 계산에서 대부분의 부분은 Brillouin zone 내 가능한 k 벡터에 대해서만 적분하는 과정을 통해 단축할 수 있기 때문이다. 이 적분은, Brillouin zone 내 가능한 k 벡터에 대해서만 적분한다. 이 적분은 수치적인 방법인 사다리꼴(Trapezoidal) 방법을 통해 구하게 된다. 결과적으로, 해석적으로 구한 '정확한' 적분의 근삿값을 Brillouin zone 내 몇몇 점에 대한 값을 구하여 근사적으로 구할 수 있다. 그리고 당연하게도 점을 더 많이 잡을수록 정확도는 높아진다. 이렇게 선택하는 점들을 k-point라고 하는데, 이 k-point를 어떻게 잡느냐, 그리고 점들의 가중치를 어떻게 주느냐가 수치적 적분의 수렴 속도에 큰 영향을 준다. 따라서, k-point의 선정 방법에 대한 연구도 상당히 많이 이루어졌다. 그중 가장 많이 사용되는 방법은 1976년에 Monkhorst 및 Pack이 개발한 방법으로, Monkhorst-Pack 방법이라고 한다. 이 방법은 역격자의 각 축 방향으로 k-point를 몇 개 사용할지만 결정하면 된다. 즉, 각 방향으로 N개의 k-point를 사용한다면 역격자를 N 등분 한 뒤, 각 점에 k-point를 할당하는 방법이다. 다만, 여기서 주의해야 할 점이 있는데, Monkhorst-Pack 방법으로 k-point를 잡을 때는 각 축 방향으로 원점에 대하여 대칭이 되도록 잡는다는 것이다. 따라서, [-0.5, 0.5]의 범위에서 점 두 개를 잡는다면 0.0, 0.5를 잡는 것이 아니라(Bloch's theorem에 의해 0.5와 -0.5는 동일한 값이 된다) -0.25, 0.25를 선택하게 된다. 또, 점 세 개를 잡는다면 -0.33, 0.0, 0.33이 될 것이다. 따라서, N이 모두 홀수인 경우에는 Gamma point가 포함되고, N 중 하나라도 짝수가 되면 Gamma point가 포함되지 않는다. 이렇게 각 축 방향으로 N개의 k-point를 잡는 경우를 일반적으로 N*N*N k-point라고 한다. 실제로 밀도범함수이론을 사용한 논문을 보면, 111, 224 등의 k-point를 사용했다는 문구를 볼 수 있을 것이다.
그렇다면 실용적으로는 몇 개 정도의 k-point를 써야 할까? 물론 k-point를 많이 사용하면 좋겠지만, 이렇게 할 경우 필연적으로 계산량이 늘어난다. 따라서, 적정 k-point를 정하기 위해서는 수치 적분을 통해 얻은 근삿값이 충분히 수렴하는 가장 적은 k-point가 어느 정도인지를 파악해야 한다. 이를 위해 기준 구조에 대하여 k-point 수를 점점 늘려가면서 에너지를 계산하고, 이를 비교하여 에너지의 편차가 일정 기준 이하가 될 때까지 k-point를 늘리는 방법을 사용한다. 또한, 여기서 추가로 더 k-point를 줄이는 방법이 있는데, 바로 대칭성을 활용하는 방법이다. Brillouin zone 내부에서도 대칭성에 의해 값이 같은 지점이 있기 때문에 이러한 동일한 지점을 생략할 경우 계산량을 더 줄일 수 있다. 이를 Irreducible Brillouin zone이라고 한다. 또, 앞에서 살펴보았던 것처럼 N이 짝수인 경우 Monkhorst-Pack 방법을 통해서는 Gamma point를 포함하지 못하는데, 이 Gamma point가 중요한 역할을 하는 경우가 많기 때문에 Monkhorst-Pack 방법을 통해 구한 k-point 들을 평행이동 시켜 점 중 하나가 Gamma point와 겹치도록 하는 k-point 선택법이 있다.
'과학 > 재료공학' 카테고리의 다른 글
밀도범함수이론에 사용되는 Pseudopotential에 대해 (0) | 2022.07.10 |
---|---|
LDA, GGA 대비 정확도가 높은 Exchange-correlation functional 소개 (0) | 2022.07.07 |
밀도범함수이론에 사용하는 Exchange-correlation functional에 대하여 (0) | 2022.07.06 |
양자 몬테카를로(Quantum Monte Carlo) 방법 상세 설명 (0) | 2022.07.06 |
Hartree-Fock 방법에 대한 상세 설명 (0) | 2022.07.05 |
댓글