밀도범함수이론
위키백과 ― 우리 모두의 백과사전.
물질, 분자 내부에 전자가 들어있는 모양과 그 에너지를 양자 역학으로 계산하기 위한 이론의 하나. 페르미(Fermi) 등이 고안한것을 월터 콘(Walter Kohn)교수가 발전시킨 것이다. 이를 통해 어떤 분자가 세상에 존재할 수 있는지 없는지의 여부, 특정 분자의 모양과 성질 등등을 예측할 수 있다. 컴퓨터를 사용하는 과학 계산들 중에서, 가장 널리 쓰이는 양자 역학 계산 분야 중 하나이다. 월터 콘 교수는 1998년에 이 업적을 인정받아 노벨상을 받았다.
see also: 월터 콘의 자기 소개 글 (영어)
그러나, 상사 구조를 갖는 다체 문제에 어디든 적용할 수 있으므로, 최근 전자구조와 별 상관 없는 많은 통계 물리학에 사용되고 있기도 하다.
목차 |
[편집] Basic concept
물질의 성질을 공부하려면 {많은 원자핵}+{많은 전자}문제를 풀어야 한다. 그러나, 단순한 원자가 아닌 복잡한 분자 (혹은 고체, 등등)에 대한 문제를 풀기는 이론상 가능하지만 현실적으로는 불가능하므로 몇개의 근사 방법이 필요하다. 첫번째 근사는 본-오펜하이머 근사 (Born-Oppenheimer approximation)로 전자보다 수천배 이상 무거운 핵을 고정된 것으로 보고 핵에 의한 정전기장안에서 전자의 운동으로 표현하는 것이다. 즉, 많은 전자로 이루어진 시스템 문제를 푼다는 것이다.
밀도범함수이론에서는 많은 전자 문제를 단순히 전자들의 파동함수들대신 전자 밀도함수로 대체함으로 손쉽게 계산하도록 하고 있다. 다시말하면, 공간상의 어떤 점에 전자가 있을때 이 전자가 느끼는 포텐셜(potential (energy))은 다른 모든곳에서 오는것을 밀도함수를 통한 평균장으로 볼 수 있다(Mean Field Theory/Approximation).
이때 전자의 밀도함수는 전자의 파동함수들을 절대값을 구해 제곱해서 체워진 준위까지 더해준 것으로 정의 된다.
밀도범함수의 출발은 원자핵+전자 시스템을 풀기위해 시작됐지만 이론상 많은 동일한 형태의 입자/장 상호작용을 하는 다체 문제면 적용가능하다 할 수 있다.
[편집] Potentials
이상의 논의로 부터, 시스템의 포텐셜은
- 외부요인에의한 포텐셜(주로 원자핵 혹은 이온이 전자에 어떻게 영향을 미치나를 기술한다 (혹은 그렇지 않을 수 도 있다). 원자핵+전자로 해서 모든 전자고려한다면 온전자(all electron)계산 이온+전자(보통 가전자)로 고려한 경우는 가짜포텐셜(pseudopotential)계산이 해당되겠다.) Vext,
- 전자들끼리의 정전기적 상호작용(하트리포텐셜라 한다.),
- 전자를 서로 교환했을때 (순전히 양자 역학에서만) 나타나는 교환-상관(exchange-correlation)포텐셜이 있다. Vxc
으로 나타난다.
이중 마지막에 교환-상관 포텐셜은 아무도 정확히 어떤형태를 가지는지 모르고 보통의 경우 양자몬테카를로 계산값과 장론의 결과를 근사적으로 잘 맞추는 형태로 시도하게 된다.
그리고 국소전자밀도에만 의존하는 교환-상관 포텐셜 범함수(functional)를 사용하게 되면 국소 밀도 근사(local density approximation)라고 하고 선형근사를 쓰게되면 일반화된 기울기 근사(generalized gradient approximation)이라고 한다. 많은 경우 국소 밀도 근사만으로 시스템을 잘 설명하지만 전하이동이 큰 시스템에서는 잘 맞지 않는 경항이 있다.
기술적으로(technically) 공간상의 어떤 점에서 함수 값을 구할때 모든공간의 정보를 필요로한 경우 이를 논로컬(non-local)하다고 말하고 해당점의 정보만 필요한 경우를 로컬(local)하다고 말한다. 위의 포텐셜에서는 외부요인에 의한 포텐셜은 local혹은 non-local할 수 있고, 하트리포텐셜은 확실히 non-local하며, local density approximation을 사용했을때는 exchange-correlation potential은 local한데 이 근사를이용하지 않으면 non-local이 된다.
[편집] Mathematics
호헨버그(Hohenberg) 와 콘(Kohn)의 정리:
1. 하밀토니언이 주어지면 파동함수를 구할 수 있고 파동함수에서 밀도함수를 구할 수 있는데 (이론상) 밀도함수에서 파동함수를 구할 수도 있다. 즉, 파동함수와 밀도함수는 일대일 함수 관계에 있고(bijective) 파동함수와 하밀토니언또한 일대일 함수 관계에 있다. 결국 밀도함수와 하밀토니언은 일대일 함수 관계에 있다. (invertibility) : 말인 즉슨, 계산 과정에서, 하밀토니언, 파동 함수, 밀도 함수는 같은 대상을 표현한 서로 다른 표현 방식에 지나지 않을 뿐, 같은 것이다.
2. 변분원리를 이용해서 정확한 바닥상태 에너지를 계산 할 수 있다. (variational principle)
3. 외부에서 오는 포텐셜을 뺀 나머지는 언제나 같다. (universality)
콘-샴(Kohn-Sham) 정리: 정확한 바닥상태 밀도함수는 콘-샴 방정식이라고 하는 슈뢰딩거 방정식과 흡사한 방정식을 풀면 구할 수 있다.
여기에서 Hamiltonian H는
m은 전자 질량.
[편집] How to solve
정리하면
1. 전자 밀도를 구하기 위해 전자의 파동함수들을 이용하고
2. 전자 밀도를 이용해 포텐셜을 계산한다.
3. 주어진 포텐셜로 부터 콘-샴 방정식을 푼다. 푼 결과는 전자의 파동함수이다.
보통 계산을 위해서는 처음에 "적당히" 파동함수를 예상하고(tight-binding 방법으로 estimate한다.) 1, 2, 3의 과정을 거치면 처음에 찍은 파동함수 보다는 나은 파동함수가 나온다. 다시 이것을 초기 예상값으로 하여 재계산을 거듭한다. 실제에서는 적당히 (상당히 보수적으로) 이전 단계의 초기 예상값과 계산 결과값을 잘 섞어서 초기 예상값으로 사용한다. 즉 self-consistent 방법으로 풀이한다.
[편집] 쉬운 설명
전자들이 싸돌아 다니는 분자들에서 전자들이 얼마나 불안하고 빨리 싸돌아다니고 있는지 그 에너지를 구하려면 양자 역학적으로 묘사해야 된다고 한다. 그런데 하나 이해하고 계산하려고 해도 머리가 지끈거리는 양자 역학 계산을 수십개 수백개 전자에 대해 하려 한다면? (아주 단순한 분자인 부탄 가스 분자 2개만 있어도 전자 숫자가 백개에 이른다.) 그것은 너무나 긴긴 시간을 소모하는 일이다.
그래서 생각한 방법인 즉슨, 전자 하나 하나의 움직임을 쫓아가지말고, 전자 무더기를 한 덩어리의 양으로 따져 보자는 것이다. 그래서 전자가 자주 출몰하는 지역에는 덩어리가 많이 쏠려 있고, 전자가 덜 출몰하는 지역에는 덩어리가 조금밖에 없는 울퉁불퉁한 도넛의 모양으로, 전자들의 떠돌아다니는 영혼의 서글픈 그림자만 그려보는 것이다. 전자 하나 하나를 따지지 않고, 도넛으로된 전자 덩어리만 생각해도 에너지를 구하는 데 큰 문제가 없다고 하니까. 도넛으로된 전자 덩어리의 모양과 에너지와의 관계를 표시하는 수식이 KS 방정식이다.
* Self-consistent 방법
이 전자 덩어리의 모양을 구하는 방법이 self-consistent 방법인데, 이걸 설명해보자면 이렇다. 아무렇게나 도넛을 만들어 놓고, 방정식(전자들이 처한 상황에서 꼭 만족해야할 조건식)을 얼마나 만족시키는지 계산해 본다. 당연히 별로 안만족 시킬 것이다. 그러면 도넛의 어떤 부분을 주물럭 주물럭 해서 모양을 좀 바꾸어 본다. 잘 바꾸었다면, 아까보다는 좀 더 만족시킬 것이다. 이런식으로 대강대강 점차점차 주물럭 거리면서 모양을 바꾸어 조건식을 상당히 잘 맞출 때 까지 바꾸어 보면, 어느 수준까지 주물럭거린 도넛은 우리가 원하는 전자 덩어리 모양과 꽤 비슷하다고 생각할 수 있다.
* 교환 에너지(exchange energy)
밀도범함수론에서 가장 신경쓸 필요가 있는 교환 에너지(exchange energy)를 구하는 범함수란, 다음과 같은 것을 말한다. 왼쪽에 있는 전자 하나가 발에 땀나게 오른쪽으로 뛰어가고, 오른쪽에 있는 전자 하나가 열심히 뛰어서 왼쪽으로 가서 두 전자가 자리를 살짝 바꾼 경우를 따져 보자.
두 전자는 열심히 뛰어다녔음에도 불구하고, 두 전자가 정확히 자리를 바꾸기만 한 경우에는, 전자가 분명히 많이 움직여서 에너지를 갖고 있었다고는 하지만, 거국적으로 보았을 때는 아무런 변화가 없었던 것이고, 이 것은 양자 역학에서는 전자가 움직이지 않았다는 말과 다를바 없게(!) 평가되어야 한다. 즉 이런 "자리만 바꾸기"가 많이 일어난다면, 움직였다고 한들 움직이지 않은 것이나 다를바 없는 것들이 많았으므로, 실제 에너지는 더 낮아져야만 한다. (양자 역학적으로, 그런 것은 움직인 것이 아니다.)
밀도범함수론은 전자들이 선풍기의 날개나 헬리콥터 날개 처럼 열라게 빨리 싸돌아다녀서 멀리서 보면 마치 덩어리처럼 보인다는 식으로 전자를 표현하고 있다. 따라서 전자끼리 자리만 바꾼 경우에는 움직이지 않은 것으로 치는 것을 따로 계산해 주어야 한다. 이런 자리만 바꾼 경우가 얼마나 있는지를 도넛의 모양을 대강 보고 짐작해 주어야 하며, 이 짐작을 하는 방법이 바로, "교환 에너지 범함수"라는 것이다. 실제로는 코릴레이션(상관성) 에너지 라는 것도 동시에 고려해 주므로, 교환 코릴레이션(상관성) (exchange correlation) 범함수라는 것을 사용하게 된다.
좋은 교환 코릴레이션 범함수를 구하는 방법은 딱히 정해져 있지 않다. 대강 만들어내는 것이고, 기존의 방법들에서 나온 결과를 참조시켜 작동하도록 하기도 한다. 최근에는 B3LYP라는 범함수가 대체로 모든 경우에 큰 오류가 없다고 평가받고 있다.
[편집] Software
백번듣는것보다 한번보는게 낫고 백번보는것보다 한번 해보는게 좋다는 말이 있듯이 밀도범함수이론을 컴퓨터에서 돌려볼 수 있습니다. 여기에는 대개 두가지 방법을 생각할 수 있습니다. 첫째 혼자서 혹은 팀을 짜서 구현하는 것이고 두번째 방법은 남이 짜놓은걸 가져다가 잘 쓰면 되겠습니다.
후자의 경우를 먼저 살펴보면 ElectronicStructure.org/software에 공짜 software를 구할 수 있는 다수의 link가 있습니다. (화학쪽 software로는 NWChem과 GAMESS가 있다고 합니다.) 대부분의 software가 기본적으로 OS는 Unix 혹은 Linux로 가정하고 있고 다른 많은 scientific software 배포본이 그렇듯이 Fortran source가 있고 이걸 compile해서 쓰는 형태입니다. 꼭 그렇지는 않지만 상용 Fortran compiler가 필요할 것으로 생각할 수 있습니다. Definitely, BLAS나 LAPACK 같은 수학 library가 필요할텐데 netlib에서 구할 수 있을 겝니다. 다음에 compile된 program을 돌리기 위해서는 작은 문제가 아니라면 (커다란 메모리가 필요하고 따라서 수렴하는데 오랜시간이 필요한 문제 (왜냐하면 order N algorithm이 적용되어 있지 않다면 O(N^3)만큼의 시간이 필요합니다.)) Supercomputer혹은 Linux cluster가 필요할 것으로 생각됩니다. 물론 source code를 쉽지는 않겠지만 읽기만 하신다면 문제가 없겠습니다.
다음에 전자의 경우를 살펴보겠습니다. 구현하는데 제일(?) 중요한 사항은 basis set을 결정하는 일이라고 생각합니다. (basis set은 Hilbert space를 span하는 complete set이기 때문에 basis set이 바뀌면 representation 쉽게 말해서 수식이 바뀌기 때문입니다.) 흔히 쓰이는 basis set은 평면파(plane wave)와 local orbital (gaussian을 사용한다해서 Gaussian이라고 하는 유명한 software가 있지요.)가 있습니다. 그 다음 결정할 일은 all electron을 할건지 pseudopotential을 쓸건지 또 교환상관포텐셜은 어떤껀걸 쓸지를 결정합니다. 이게 굵은 가지는 결정되었고 세부사항으로 어떤 platform에서 돌릴지 어떤 수학 라이브러리를 쓸것인지 결정하고 code를 쓰면되겠습니다. (숙련된 programmer라면 대략 몇달만에 겨우 돌아가는 code를 만들 수 있을 것으로 생각되고, 물론 그 code가 쓸만하게 만드려면 수년에서 수십년이 필요할 것으로 생각됩니다.)
[편집] References
Kohn 교수의 original idea가 담긴 논문은:
1. P. Hohenberg and W. Kohn, Phys. Rev. 136B, 864 (1964).
2. W. Kohn and L.J. Sham, Phys. Rev. 140, A1133 (1965).
일반적인 학습용 서적:
1. R.M. Dreizler and E.K.U. Gross, Density Functional Theory, Springer-Verlag (1990) ISBN 3-540-51993-9 or ISBN 0-387-51993-9.
2. R.G. Parr, W. Yang, and Y. Weitao, Density-Functional Theory of Atoms and Molecules, Oxford University Press ISBN 0195092767