최근 수정 시각 : 2024-11-21 12:06:20

하트리-포크 방법

양자역학
Quantum Mechanics
{{{#!wiki style="margin:0 -10px -5px;min-height:2em"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin:-6px -1px -11px"
<colbgcolor=#c70039> 배경 흑체복사 · 이중슬릿 실험 · 광전효과 · 콤프턴 산란 · 보어의 원자 모형 · 물질파 · 데이비슨-저머 실험 · 불확정성 원리 · 슈테른-게를라흐 실험 · 프랑크-헤르츠 실험
이론 체계 <colbgcolor=#c70039> 체계 플랑크 상수(플랑크 단위계) · 공리 · 슈뢰딩거 방정식 · 파동함수 · 연산자(해밀토니언 · 선운동량 · 각운동량) · 스핀(스피너) · 파울리 배타 원리
해석 코펜하겐 해석(보어-아인슈타인 논쟁) · 숨은 변수 이론(EPR 역설 · 벨의 부등식 · 광자 상자) · 다세계 해석 · 앙상블 해석 · 서울 해석
묘사 묘사(슈뢰딩거 묘사 · 하이젠베르크 묘사 · 디랙 묘사) · 행렬역학
심화 이론 이론 양자장론(비상대론적 양자장론) · 양자 전기역학 · 루프 양자 중력 이론 · 게이지 이론(양-밀스 질량 간극 가설 · 위상 공간) · 양자색역학(SU(3))
입자·만물이론 기본 입자{페르미온(쿼크) · 보손 · (둘러보기)} · 강입자(둘러보기) · 프리온 · 색전하 · 맛깔 · 아이소스핀 · 표준 모형 · 기본 상호작용(둘러보기) · 반물질 · 기묘체 · 타키온 · 뉴트로늄 · 기묘한 물질 · 초끈 이론(초대칭 이론 · M이론 · F이론) · 통일장 이론
정식화 · 표기 클라인-고든 방정식 · 디랙 방정식 · 1차 양자화 · 이차양자화 · 경로적분(응용 · 고스트) · 파인만 다이어그램 · 재규격화(조절)
연관 학문 천체물리학(천문학 틀 · 우주론 · 양자블랙홀 · 중력 특이점) · 핵물리학(원자력 공학 틀) · 응집물질물리학 틀 · 컴퓨터 과학 틀(양자컴퓨터 · 양자정보과학) · 통계역학 틀 · 양자화학(물리화학 틀)
현상 · 응용 양자요동 · 쌍생성 · 쌍소멸 · 퍼텐셜 우물 · 양자 조화 진동자 · 오비탈 · 수소 원자 모형 · 쌓음 원리 · 훈트 규칙 · 섭동(스핀 - 궤도 결합 · 제이만 효과 · 슈타르크 효과) · 선택 규칙 · 변분 원리 · WKB 근사법 · 시간 결정 · 자발 대칭 깨짐 · 보스-아인슈타인 응집 · 솔리톤 · 카시미르 효과 · 아로노프-봄 효과 · 블랙홀 정보 역설 · 양자점 · 하트리-포크 방법 · 밀도범함수 이론
기타 군론 · 대칭성 · 리만 가설 · 매듭이론 · 밀도행렬 · 물질 · 방사선(반감기) · 라플라스의 악마 · 슈뢰딩거의 고양이(위그너의 친구) · 교재 }}}}}}}}}


물리화학
Physical Chemistry
{{{#!wiki style="margin:0 -10px -5px; min-height:calc(1.5em + 5px); word-break:keep-all"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin:-6px -1px -11px"
<colbgcolor=#87CEFA> 기본 정보 원소(할로젠 · 금속 · 준금속 · 비활성 기체 · 동위원소) · 원자(양성자 · 중성자 · 전자) · 분자 · 이온
물질 순물질(동소체 · 화합물) · 혼합물(균일 혼합물 · 불균일 혼합물 · 콜로이드) · 이성질체
화학 반응 · (앙금) · 작용기 · 가역성 · 화학 반응 속도론(촉매 · 반감기) · 첨가 반응 · 제거 반응 · 치환 반응 · 산염기반응 · 산화환원반응(산화수) · 고리형 협동반응 · 유기반응 · 클릭 화학
화학양론 질량 · 부피 · 밀도 · 분자량 · 질량 보존 법칙 · 일정 성분비 법칙 · 배수 비례의 법칙
열화학 법칙 엔트로피 · 엔탈피 · 깁스 자유 에너지(화학 퍼텐셜) · 열출입(흡열 반응 · 발열 반응) · 총열량 불변의 법칙 · 기체 법칙 · 화학 평형의 법칙(르 샤틀리에의 원리 · 동적평형)
용액 용질 · 용매 · 농도(퍼센트 농도· 몰 농도 · 몰랄 농도) · 용해도(용해도 규칙 · 포화 용액) · 증기압력 · 삼투 · 헨리의 법칙 · 전해질
총괄성 증기압 내림 · 끓는점 오름 · 어는점 내림 · 라울 법칙 · 반트 호프의 법칙
전기화학
·
양자화학
수소 원자 모형 · 하트리-포크 방법 · 밀도범함수 이론 · 유효 핵전하 · 전자 친화도 · 이온화 에너지 · 전기음성도 · 극성 · 무극성 · 휘켈 규칙 · 분자간력(반 데르 발스 힘(분산력) · 수소 결합) · 네른스트 식
전자 배치 양자수 · 오비탈(분자 오비탈 · 혼성 오비탈) · 전자껍질 · 쌓음원리 · 훈트 규칙 · 파울리 배타 원리 · 원자가전자 · 최외각 전자 · 옥텟 규칙 · 우드워드-호프만 법칙
화학 결합 금속 결합 · 진틀상 · 이온 결합 · 공유 결합(배위 결합 · 배위자) · 공명 구조
분석화학 정성분석과 정량분석 · 분광학
분석기법 적정 · 기기분석(크로마토그래피 · NMR)
틀:양자역학 · 틀:통계역학 · 틀:주기율표 · 틀:화학식 · 틀:화학의 분과 · 틀:산염기 · 화학 관련 정보 }}}}}}}}}

1. 개요2. 유도
2.1. 슈뢰딩거 방정식2.2. 슬레이터 행렬식2.3. 하트리-포크 에너지2.4. 표기법
2.4.1. 관계식
2.5. 하트리-포크 방정식
3. 물리적 의미4. 오비탈 에너지
4.1. 쿠프만 정리
5. SCF Type6. Roothaan 방정식
6.1. 밀도 행렬
7. Basis set8. SCF procedure9. Population analysis와 결합 차수10. 분자의 전기적 성질
10.1. 전기 퍼텐셜10.2. 전하량
11. Localized MO12. 한계13. 관련 문서

1. 개요

Hartree-Fock Method(HF)

분자의 파동함수(분자 오비탈, MO)를 구하기 위해선 계에 해당하는 슈뢰딩거 방정식을 풀어야 한다. 하지만 다전자 분자의 경우 다체 문제가 되므로 [math({\rm H}_{2}^+)] 이외의 분자의 경우 MO를 해석적으로 구하기는 불가능하다. 그렇기에 근사적으로 슈뢰딩거 방정식을 풀어야 하는데 그 방법들 중 실험값을 이용하지 않고 순수 이론만을 이용하여 계산하는 방법을 ab initio(제 1원리 계산)라 한다. 여기서 가장 기초가 되는 방법이 하트리-포크 방법(Hartree-Fock Method)이며 이 방법을 통해 MO의 에너지 준위와 모양을 알 수 있다. 물론 가장 기초적인 방법인 만큼 잘 맞지 않는 부분[1]도 있지만 이후 개량된 방법들[2] 또한 대부분 이 하트리-포크 방법을 기초로 하기에 계산화학에서 중요한 이론이다.

2. 유도

2.1. 슈뢰딩거 방정식

먼저 분자의 해밀토니언을 구하는 것으로 시작하자. 특수 상대론적 보정과 스핀-궤도 결합을 무시하면 분자의 해밀토니언은 다음과 같다.
[math(\displaystyle \begin{aligned} \mathcal{H}_{\textup{mol}}=-\frac{\hbar^2}{2m_e}\sum\limits_{i} \nabla_i^2-\frac{\hbar^2}{2}\sum\limits_{\alpha} \frac{\nabla_\alpha^2} {M_\alpha}-\frac{e^2}{4\pi\epsilon_0}\sum\limits_{\alpha, i} \frac{Z_\alpha}{r_{i\alpha}}+\frac{e^2}{4\pi\epsilon_0}\sum\limits_{i>j} \frac{1}{r_{ij}}+\frac{e^2}{4\pi\epsilon_0}\sum\limits_{\alpha>\beta} \frac{Z_\alpha Z_\beta}{R_{\alpha \beta}} \end{aligned} )]
각 항은 순서대로 전자의 운동 에너지, 핵의 운동 에너지, 핵-전자 퍼텐셜 에너지, 전자-전자 퍼텐셜 에너지, 핵-핵 퍼텐셜 에너지를 나타낸다. 여기서 원자 단위계를 도입하면 [math(\hbar, m_e, 4\pi\epsilon_0, e)]를 1로 취급할 수 있게 되어 계산이 편해진다. 원자 단위계 도입 이후 분자의 해밀토니언은 아래와 같이 써진다.
[math(\displaystyle \begin{aligned} \mathcal{H}_{\textup{mol}}=-\frac{1}{2}\sum\limits_{i} \nabla_i^2-\frac{1}{2}\sum\limits_{\alpha} \frac{\nabla_\alpha^2}
{M_\alpha}-\sum\limits_{\alpha, i} \frac{Z_\alpha}{r_{i\alpha}}+\sum\limits_{i>j} \frac{1}{r_{ij}}+\sum\limits_{\alpha>\beta} \frac{Z_\alpha Z_\beta}{R_{\alpha \beta}}
\end{aligned} )]
편의를 위해 위 항을 몇개로 묶자. 핵의 운동 에너지를 [math(T_N)], 핵-핵 퍼텐셜 에너지를 [math(V_{NN})], 전자에 관한 항을 [math( \mathcal{H}_{e})]라 하면
[math(\displaystyle \begin{aligned} T_N=-\frac{1}{2}\sum\limits_{\alpha} \frac{\nabla_\alpha^2}{M_\alpha} \quad V_{NN}=\sum\limits_{\alpha>\beta} \frac{Z_\alpha Z_\beta}{R_{\alpha \beta}} \quad \mathcal{H}_{e}=-\frac{1}{2}\sum\limits_{i} \nabla_i^2 -\sum\limits_{\alpha, i} \frac{Z_\alpha}{r_{i\alpha}}+\sum\limits_{i>j} \frac{1}{r_{ij}} \end{aligned} )]

[math(\begin{aligned} \mathcal{H}_{\textup{mol}} = T_N + V_{NN} + \mathcal{H}_e \end{aligned})]

가 되며 최종적으로 분자의 슈뢰딩거 방정식

[math(\begin{aligned} \mathcal{H}_{\textup{mol}}\Psi_{\textup{tot}}=E_{\textup{tot}}\Psi_{\textup{tot}} \end{aligned})]

이 된다. 여기서 원자핵이 전자보다 훨씬 무겁다는 사실을 상기하면 보른-오펜하이머 근사(Born-Oppenheimer approximation)을 적용하여 파동함수 [math(\Psi_{\textup{tot}})]를 핵에 대한 파트와 전자에 대한 파트로 분리할 수 있으며

[math(\begin{aligned} \Psi_{\textup{tot}}(\textbf{r}, \textbf{R})\approx \Psi_{e}(\textbf{r}; \textbf{R})\times \Psi_{N}(\textbf{R}) \end{aligned})]

방정식 또한 핵에 관한 방정식과 전자에 관한 방정식으로 분리된다.
  • Electronic Schrödinger Equation
[math(\displaystyle \begin{aligned} \mathcal{H}_e\Psi_e(\textbf{r}; \textbf{R}) = E_e{(\textbf{R})}\Psi_e{(\textbf{r}; \textbf{R})} \end{aligned} )]
  • Nuclear Schrödinger Equation
[math(\displaystyle \begin{aligned} \{ T_N+E_e(\textbf{R})+V_{NN} \} \Psi_N(\textbf{R}) = E_{\textup{tot}}\Psi_N(\textbf{R}) \end{aligned} )]

2.2. 슬레이터 행렬식

핵과 전자의 운동을 분리했지만 그럼에도 저 방정식을 해석적으로 푸는것은 전자-전자 상호작용 때문에 불가능하다. 만약 전자-전자 상호작용이 없었다면 파동함수는 어떻게 될까? 단순히 각 전자가 차지하고 있는 파동함수의 곱(Hartree product)

[math(\begin{aligned} \Psi_e(1, 2, \cdots , N) = \chi_1(1) \chi_2(2) \cdots \chi_N(N) \end{aligned})]

으로 나타날 것이라 생각할 수도 있다.[3] 하지만 전자는 페르미온이므로 파동함수가 입자 교환에 대하여 반대칭(antisymmetric)[4]이어야 하는데 일반적으로 위 식은 반대칭성을 만족하지 않는다. 이때 슬레이터 행렬식(Slater determinat)을 이용하면 반대칭화 조건을 만족시킬 수 있다.
[math(\displaystyle \begin{aligned} \Psi_e(1, 2, \cdots, N)=\frac{1}{\sqrt{N!}}\begin{vmatrix}
\chi_1(1) & \chi_2(1) & \cdots & \chi_N(1) \\
\chi_1(2) & \chi_2(2) & \cdots & \chi_N(2) \\
\vdots & \vdots & \ddots & \vdots \\
\chi_1(N) & \chi_2(N) & \cdots & \chi_N(N)
\end{vmatrix}
=|\chi_1\chi_2 \cdots \chi_N \rangle \end{aligned} )]
위 식을 자세히 보면 두 입자를 교환하는 것은 슬레이터 행렬식에서 두 행을 바꾸는 것이고 행렬식의 성질에 의해 두 행을 바꾸면 행렬식의 부호는 반대가 됨을 알 수 있다. 즉 슬레이터 행렬식으로 만든 파동함수는 반대칭화 조건을 만족한다.
물론 전자-전자 상호작용을 무시할 수 없으므로 정확한 해를 슬레이터 행렬식으로 표현할 수는 없다. 하지만 [math(\chi_i)]를 잘 고른다면 슬레이터 행렬식이 정확한 해의 좋은 근사라고 가정할 것이다. 이를 오비탈 근사(orbital approximation)라 한다.[5]

2.3. 하트리-포크 에너지

위에서 구한 [math(\Psi_e)]를 이용하여 [math(\mathcal{H}_e)]의 기댓값(하트리-포크 에너지)을 구하면 변분 원리에 의하여

[math(\begin{aligned} E_{\textup{HF}}= \langle \Psi_e | \mathcal{H}_e | \Psi_e \rangle \geq E_{g} \end{aligned})]

가 된다. 여기서 슬레이터-컨던 규칙을 이용하면
[math(\displaystyle \begin{aligned} \langle\Psi_e|\mathcal{H}_e|\Psi_e\rangle &= \Big\langle \Psi_e\Big|-\frac{1}{2}\sum\limits_{i} \nabla_i^2-\sum\limits_{\alpha, i} \frac{Z_\alpha}{r_{i\alpha}}+\sum\limits_{i>j} \frac{1}{r_{ij}}\Big|\Psi_e \Big\rangle \\&= \sum\limits_{i}\langle \chi_i(1)|h_i(1)|\chi_i(1)\rangle +\frac{1}{2}\sum\limits_{i\neq j} \bigg[\bigg\langle \chi_i(1)\chi_j(2)\bigg|\frac{1}{r_{12}}\bigg|\chi_i(1)\chi_j(2)\bigg\rangle -\bigg\langle \chi_i(1)\chi_j(2)\bigg|\frac{1}{r_{12}}\bigg|\chi_j(1)\chi_i(2)\bigg\rangle\bigg] \end{aligned} )]
와 같이 표현된다.

2.4. 표기법

위 식에서 나온 3개의 적분 중 첫째항

[math(\begin{aligned} \langle \chi_i(1)|h_i(1)|\chi_i(1)\rangle\end{aligned})]

일전자 적분(One-electron integral)이라 하며 다음과 같이 표기한다.
[math(\displaystyle \begin{aligned}\langle i|h|i \rangle \equiv \int \chi_i^*(1)h(1)\chi_i(1)d1 = \langle \chi_i(1)|h_i(1)|\chi_i(1)\rangle \end{aligned} )]
뒤의 두 항

[math(\begin{aligned} \bigg\langle \chi_i(1)\chi_j(2)\bigg|\frac{1}{r_{12}}\bigg|\chi_i(1)\chi_j(2)\bigg\rangle \end{aligned})]


[math(\begin{aligned} \bigg\langle \chi_i(1)\chi_j(2)\bigg|\frac{1}{r_{12}}\bigg|\chi_j(1)\chi_i(2)\bigg\rangle\end{aligned})]

이전자 적분(Two-electron integral)이라 하며 두가지의 표기법이 존재한다. 하나는 물리학자의 표기법(Physicist's notation) 또는 디랙 표기법(Dirac notation)이라 불리는 표기법으로

[math(\begin{aligned} \langle ij|kl \rangle \equiv \int\int \frac{\chi_i^*(1)\chi_j^*(2)\chi_k(1)\chi_l(2)}{r_{12}}d1d2 \end{aligned})]

로 정의하며 또 다른 하나는 화학자의 표기법(Chemist's notation) 또는 쿨롱 표기법(Coulomb notation)이라 불리는 표기법으로

[math(\begin{aligned} (ij|kl) \equiv \int\int \frac{\chi_i(1)\chi_j^*(1)\chi_k(2)\chi_l^*(2)}{r_{12}}d1d2 \end{aligned})]

와 같이 표기한다. 위 표기법을 이용하면 이전자 적분을
[math(\displaystyle \begin{aligned} \bigg\langle \chi_i(1)\chi_j(2)\bigg|\frac{1}{r_{12}}\bigg|\chi_i(1)\chi_j(2)\bigg\rangle=\langle ij|ij \rangle=(ii|jj) \end{aligned} )]
[math(\displaystyle \begin{aligned} \bigg\langle \chi_i(1)\chi_j(2)\bigg|\frac{1}{r_{12}}\bigg|\chi_j(1)\chi_i(2)\bigg\rangle=\langle ij|ji \rangle=(ij|ji) \end{aligned} )]
로 쓸 수 있다. 위 표기법을 이용하면 하트리-포크 에너지는

[math(\begin{aligned} E_{\textup{HF}} = \sum\limits_{i} \langle i|h |i\rangle +\frac{1}{2}\sum\limits_{i\neq j} [\langle ij|ij \rangle- \langle ij|ji \rangle] \end{aligned})]

가 된다.

2.4.1. 관계식

두 식은 아래와 같은 관계식이 있다.

[math(\begin{aligned} \langle ij|kl \rangle=(ik|jl) \end{aligned})]

만약 복소 켤래를 취하면

[math(\begin{aligned} \langle ij|kl \rangle^*=\langle kl|ij \rangle \quad (ij|kl)^*=(ji|lk) \end{aligned})]

가 된다.그리고 적분 변수를 뭘로 잡든 적분값이 바뀌지 않는 것을 상기하면 변수 1과 변수 2를 바꿔서 적분을 해도 같은 값을 가질 것이고 이를 식으로 쓰면 다음과 같은 관계식을 얻는다.

[math(\begin{aligned} \langle ij|kl \rangle=\langle ji|lk \rangle \quad (ij|kl)=(kl|ij) \end{aligned})]

만약 모든 함수들이 실함수라면 복소 켤래를 취해도 값은 같을 것이므로

[math(\begin{aligned} \langle ij|kl \rangle = \langle kl|ij \rangle \quad (ij|kl) = (ji|lk) \end{aligned})]

가 된다. 위 사실들을 종합해보면 실함수를 썼을 땐 아래와 같이 8개의 적분들이 동일해 진다.
[math(\displaystyle \begin{aligned} \langle ij|kl \rangle = \langle kl|ij \rangle = \langle ji|lk \rangle = \langle lk|ji \rangle &= \langle kj|il \rangle = \langle il|kj \rangle = \langle jk|li \rangle = \langle li|jk \rangle \\ [ij|kl] = [ji|kl] = [ij|lk] = [ji|lk] &= [kl|ij] = [lk|ij] = [kl|ji] = [lk|ji] \end{aligned} )]
2전자 적분의 경우 [math(4!=24)]개 만큼 존재하는데 실함수를 사용한 경우 이중 8개가 같으므로 아래와 같은 3개의 적분만 존재한다.
[math(\displaystyle \begin{aligned} \langle ij|kl \rangle = [ik|jl] \quad \langle ij|lk \rangle = [il|jk] \quad \langle ik|jl \rangle = [ij|kl] \end{aligned} )]

2.5. 하트리-포크 방정식

지금까지 [math(\chi_i)]를 계속 써왔지만 아직까진 [math(\chi_i)]를 구하는 식을 얻지 못했다. 앞서 말했던

[math(\begin{aligned} E_{\textup{HF}}= \langle \Psi_e | \mathcal{H}_e | \Psi_e \rangle \geq E_{g} \end{aligned})]

에서 [math(\langle \Psi_e | \mathcal{H}_e | \Psi_e \rangle)]을 최소화 시키는 [math(\chi_i)]를 찾는다면 그게 구하고자 하는 [math(\chi_i)]가 될 것이다. 이는 변분법으로 구할 수 있다. 하지만 [math(\chi_i)]에는 직교규격화 조건 [math(\langle \chi_i|\chi_j \rangle=\delta_{ij})]이 있기 때문에 이 조건 하에서 에너지를 최소화 시켜야 한다. 이는 라그랑주 승수법으로 구할 수 있으며 결과적으론 다음과 같은 양을 최소화 시켜야한다.
[math(\displaystyle \begin{aligned} \mathscr{L}[\{ \chi_i \} ] = E[\{ \chi_i \}] - \sum\limits_{i, j} \varepsilon_{ij} ( \langle i | j \rangle - \delta_{ij} ) \end{aligned})]
이제 변분법을 적용시키자
[math(\displaystyle \begin{aligned} \delta \mathscr{L} &= \delta E - \delta \sum\limits_{i, j} \varepsilon_{ij} ( \langle i | j \rangle - \delta_{ij} ) \\ &= \sum\limits_{i}( \langle \delta i | h | i \rangle + \langle i | h | \delta i \rangle ) + \frac{1}{2} \sum\limits_{i, j} ( \langle \delta ij | ij \rangle + \langle i \delta j | ij \rangle + \langle ij | \delta ij \rangle + \langle ij | i \delta j \rangle \\ &- \langle \delta ij | ji \rangle - \langle i \delta j | ji \rangle - \langle ij | \delta ji \rangle - \langle ij | j \delta i \rangle) - \sum\limits_{i, j} \varepsilon_{ij} ( \langle \delta i | j \rangle + \langle i | \delta j \rangle) = 0 \end{aligned})]
여기서 다음과 같은 관계식
[math(\displaystyle \begin{aligned} \langle ij | lk \rangle = \langle ji | kl \rangle \end{aligned})]
과 [math(i)]와 [math(j)]를 바꿔도 합은 달라지지 않는다는 점을 이용하면
[math(\displaystyle \begin{aligned} \delta \mathscr{L} &= \sum\limits_{i} \langle \delta i | h | i \rangle + \sum\limits_{i, j}(\langle \delta ij | ij \rangle) + \langle \delta ij | ji \rangle) - \sum\limits_{i, j} \varepsilon_{ij} \langle \delta i | j \rangle \\ &+ \sum\limits_{i} \langle h i | \delta i \rangle + \sum\limits_{i, j}(\langle ij | \delta ij \rangle) + \langle ji | \delta ij \rangle) - \sum\limits_{i, j} \varepsilon_{ji} \langle j | \delta i \rangle \\ &= \sum\limits_{i} \int \delta \chi_i ^ *(1) \left[ h(1)\chi_{i}(1)+\sum\limits_{j}\Bigg\{\chi_{i}(1)\int \frac{\chi_{j}^*(2)\chi_{j}(2)}{r_{12}} d2+\chi_{j}(1)\int \frac{\chi_{j}^*(2)\chi_i(2)}{r_{12}}d2\Bigg\}- \sum\limits_{j} \varepsilon_{ij}\chi_j(1) \right] d1 \\ &+ \sum\limits_{i} \int \delta \chi_i(1) \left[ h(1)\chi_{i}(1)+\sum\limits_{j}\Bigg\{\chi_{i}(1)\int \frac{\chi_{j}^*(2)\chi_{j}(2)}{r_{12}} d2+\chi_{j}(1)\int \frac{\chi_{j}^*(2)\chi_i(2)}{r_{12}}d2\Bigg\}- \sum\limits_{j} \varepsilon_{ji}^* \chi_j(1) \right] ^* d1 \\ &= 0 \end{aligned})]
가 된다. 이는 임의의 [math(\delta \chi_i ^*(1), \delta \chi_i(1))]에 대해 성립해야하므로
[math(\displaystyle \begin{aligned} h(1)\chi_{i}(1)+\sum\limits_{j}\Bigg\{\chi_{i}(1)\int \frac{\chi_{j}^*(2)\chi_{j}(2)}{r_{12}} d2+\chi_{j}(1)\int \frac{\chi_{j}^*(2)\chi_i(2)}{r_{12}}d2\Bigg\}- \sum\limits_{j} \varepsilon_{ij}\chi_j(1)=0 \\ h(1)\chi_{i}(1)+\sum\limits_{j}\Bigg\{\chi_{i}(1)\int \frac{\chi_{j}^*(2)\chi_{j}(2)}{r_{12}} d2+\chi_{j}(1)\int \frac{\chi_{j}^*(2)\chi_i(2)}{r_{12}}d2\Bigg\}- \sum\limits_{j} \varepsilon_{ji} ^ * \chi_j(1)=0 \end{aligned} )]
가 된다.[6] 이때,

[math(\begin{aligned} J_j(1)\chi_i(1) \equiv \chi_{i}(1)\int \frac{\chi_{j}^*(2)\chi_{j}(2)}{r_{12}} d2 \end{aligned})]


[math(\begin{aligned} K_j(1)\chi_i(1) \equiv \chi_{j}(1)\int \frac{\chi_{j}^*(2)\chi_{i}(2)}{r_{12}} d2 \end{aligned})]

로 연산자를 정의하며, 첫 번째 연산자를 쿨롱 연산자(Coulomb operator)라 하며, 두 번째 연산자를 교환 연산자(Exchange operator)라 한다. 해당 연산자들의 의미는 후술하기로 한다. 추가로 포크 연산자(Fock operator)를 다음과 같이 정의한다.

[math(\begin{aligned} f(1) \equiv h(1) + \sum_{j} \left[ J_{j}(1) - K_{j}(1) \right] \end{aligned})]

이런 연산자들을 정의하면 얻은 방정식이 다음과 같이 써진다.

[math(\begin{aligned} f|\chi_i \rangle = \sum_{j} \varepsilon_{ij}|\chi_{j} \rangle \\ f|\chi_i \rangle = \sum_{j} \varepsilon_{ji}^*|\chi_{j} \rangle \end{aligned})]

두 식을 빼보자.

[math(\begin{aligned} \sum_{j} (\varepsilon_{ji}^* - \varepsilon_{ij})|\chi_{j} \rangle = 0 \end{aligned})]

근데 [math(\langle \chi_i|\chi_j \rangle=\delta_{ij})]이므로 [math(\varepsilon_{ji}^* = \varepsilon_{ij})]임을 쉽게 알 수 있다. 이제 결과적으로 1개의 식

[math(\begin{aligned} f|\chi_i \rangle = \sum_{j} \varepsilon_{ij}|\chi_{j} \rangle \end{aligned})]

만 남게 된다. 여러 항들이 섞여있는 우변은 유니터리 행렬을 이용하여 [math(|\chi_{i} \rangle)]만 남겨둘 수 있다. 유니터리 행렬 [math(\textbf{U})]를 이용한 다음과 같은 변환을 생각해보자.
[math(\displaystyle \begin{aligned} | \chi_a' \rangle = \sum\limits_{b} U_{ba} | \chi_b \rangle \end{aligned} )]
그럼 [math(\chi'_i)]을 이용하여 쿨롱, 교환 연산자([math(J_j', K_j')])를 정의할 수 있을것이고 이는 [math(\chi_i)]로 만든 쿨롱, 교환 연산자([math(J_j, K_j)])와는 다를 것이다. 하지만 포크 연산자는 이러한 변환에 대해서 불변임이 증명되어 있고[7] 이를 이용하여 다음과 같은 식
[math(\displaystyle \begin{aligned} f'| \chi'_a \rangle = f'\sum\limits_{b} U_{ba} | \chi_b \rangle = \sum\limits_{b} U_{ba} f | \chi_b \rangle = \sum\limits_{b, c} U_{ba}\varepsilon_{bc}| \chi_c \rangle \end{aligned} )]
을 얻어낼 수 있고 양변에 [math(\langle \chi_d' |)]을 곱해주면
[math(\displaystyle \begin{aligned} \langle \chi_d' | f'| \chi'_a \rangle = \sum\limits_{b, c, e} U_{ba} U_{ed}^* \varepsilon_{bc}\langle \chi_d | \chi_c \rangle = \sum\limits_{b, c, e} U_{ba} U_{ed}^* \varepsilon_{bc} \delta_{ce} = \sum\limits_{b, c} U_{ba} U_{cd}^* \varepsilon_{bc} \end{aligned} )]
가 된다. 우변을 정리해보면 [math(\textbf{U}^\dagger \varepsilon^T \textbf{U})]임을 알 수 있다. 근데 [math(\varepsilon)]은 에르미트 행렬이므로 언제나 대각화가 가능하다. 대각화를 해주면 최종적으로 우리가 원하는 꼴인

[math(\begin{aligned} f|\chi_i \rangle=\varepsilon_i |\chi_i \rangle \end{aligned})]

와 같은 형태가 된다. 이 방정식을 하트리-포크 방정식(Hartree-Fock equation)이라 한다. [8]그런데 포크 연산자를 계산하기 위해선 다른 전자들의 [math(\chi)]를 알아야 한다. 그렇기에 위 방정식을 해석적으로 풀기는 매우 어렵고 후술할 basis set approach를 통해 Roothan 방정식으로 변환하여 풀게 된다.

3. 물리적 의미

우리가 얻은 방정식의 의미를 살펴보자. 일단 [math(\chi_i(1)=\psi_i(\textbf{r}_1)\sigma_i)]이므로 스핀에 관한 부분을 먼저 계산해주면 [math(\textbf{r}_1)]에 관한 방정식이 되며 결과적으로 식은
[math(\displaystyle \begin{aligned} \Bigg(-\frac{1}{2} \nabla_1^2-\sum\limits_{\alpha}\frac{Z_\alpha}{r_{1\alpha}}\Bigg)\psi_i(\textbf{r}_1)+\Bigg[\sum\limits_{j \neq i}\int\frac{|\psi_j(\textbf{r}_2)|^2}{r_{12}}d\textbf{r}_2\Bigg]\psi_i(\textbf{r}_1)-\Bigg[\sum\limits_{j \neq i}\delta_{\sigma_i\sigma_j}\int\frac{\psi_j^*(\textbf{r}_2)\psi_i(\textbf{r}_2)}{r_{12}}d\textbf{r}_2\Bigg]\psi_j(\textbf{r}_1)=\varepsilon_i\psi_i(\textbf{r}_1) \end{aligned} )]
이 된다. 첫번째 항이 (i번째 전자의 운동에너지) + (i번째 전자와 핵들간의 퍼텐셜 에너지) 임은 쉽게 알 수 있다. 두번째 항은 고전 전자기학에서 점전하와 연속체 사이의 퍼텐셜 에너지가
[math(\displaystyle \begin{aligned} V(\mathbf{r}) =\frac{q}{4 \pi \varepsilon_{0}} \iiint \frac{\rho (\mathbf{r'}) }{ \left| \mathbf{r-r'} \right| } \, dV' \end{aligned} )]
로 주워지고[9] [math(q|\psi|^2)]가 전하 밀도로 해석될수 있음을 생각하면 i번째 전자와 나머지 전자 사이의 퍼텐셜 에너지를 평균낸 값임을 알 수 있다.[10] 고전적인 해석이 존재하는 앞의 두 항들과는 달리 세번째 항은 고전적인 해석이 없으며 파울리 원리에 의해 생기는 순수 양자역학적 효과로 이해해야 한다. 해당 항은 서로 팽행한 스핀들 사이에서만 일어나는 것을 알 수 있으며[11] 이는 후술할 SCF Type에서 중요하게 작용한다.

이제 물리적 의미가 드러나게 방정식을 다시 써보자. 전자 밀도는 파동함수의 성질을 생각하면 다음과 같이 주어짐을 알 수 있다.
[math(\displaystyle \begin{aligned} \rho(\textbf{r}_2)=\sum\limits_{j \neq i} |\psi_j(\textbf{r}_2)|^2 \end{aligned} )]
그럼 쿨롱 퍼텐셜은
[math(\displaystyle \begin{aligned} v_{\textup{Coul}}(\textbf{r}_1) = \int \frac{\rho(\textbf{r}_2)}{r_{12}} d\textbf{r}_2 \end{aligned} )]
임을 알 수 있다. 교환 연산자에 대해서도 이러한 양을 정의할 수 있는데
[math(\displaystyle \begin{aligned} \Bigg[\int\frac{\psi_j^*(\textbf{r}_2)\psi_i(\textbf{r}_2)}{r_{12}}d\textbf{r}_2\Bigg]\psi_j(\textbf{r}_1) = \Bigg[\int \frac{\psi_j^*(\textbf{r}_2)\psi_i(\textbf{r}_2)\psi_i^*(\textbf{r}_1)\psi_j(\textbf{r}_1)}{|\psi_i(\textbf{r}_1)|^2}\frac{1}{r_{12}}d\textbf{r}_2\Bigg]\psi_i(\textbf{r}_1) \end{aligned} )]
임을 이용하면 교환 전자 밀도, 교환 퍼텐셜을 다음과 같이 정의할 수 있다.
[math(\displaystyle \begin{aligned} \rho_{\textup{ex}}(\textbf{r}_1, \textbf{r}_2) &= \sum\limits_{j \neq i} \Bigg[ \delta_{\sigma_i\sigma_j}\frac{\psi_j^*(\textbf{r}_2)\psi_i(\textbf{r}_2)\psi_i^*(\textbf{r}_1)\psi_j(\textbf{r}_1)}{|\psi_i(\textbf{r}_1)|^2}\Bigg] \\ \\ v_{\textup{ex}}(\textbf{r}_1) &= -\int\frac{\rho_{\textup{ex}}(\textbf{r}_1, \textbf{r}_2)}{r_{12}}d\textbf{r}_2 \end{aligned} )]
그리고 최종적으로 유효 전자 밀도와 하트리-포크 퍼텐셜을 다음과 같이 정의하면
[math(\displaystyle \begin{aligned} \rho_{\textup{eff}}(\textbf{r}_1, \textbf{r}_2) &= \rho(\textbf{r}_2) - \rho_{\textup{ex}}(\textbf{r}_1, \textbf{r}_2) \\ \\ v_{\textup{HF}}(\textbf{r}_1) &= \int\frac{\rho_{\textup{eff}}(\textbf{r}_1, \textbf{r}_2)}{r_{12}}d\textbf{r}_2\end{aligned} )]
을 정의하면 포크 연산자를 다음과 같이 쓸 수 있다.
[math(\displaystyle \begin{aligned} f(\textbf{r}_1) = -\frac{1}{2} \nabla_1^2-\sum\limits_{\alpha}\frac{Z_\alpha}{r_{1\alpha}} + v_{\textup{HF}}(\textbf{r}_1) \end{aligned} )]
즉 하트리-포크 방정식은 전자-전자 퍼텐셜에너지를 평균 내어 [math(v_{\textup{HF}}(\textbf{r}_1))]라는 유효 퍼텐셜로 근사한 것이라 해석할 수 있으며[12][13] 고유치 [math(\varepsilon_i)]는 이런 근사 하에서 얻어지는 오비탈의 에너지이다.

4. 오비탈 에너지

[math(\varepsilon_i)]가 각 오비탈의 에너지라면 [math(\sum\limits_a \varepsilon_a)]가 [math(E_{\textup{HF}})]와 같을 것이라 생각할 수 있다. 하지만 실제로 계산해보면 그렇지 않다.

[math(\begin{aligned} \sum\limits_a \varepsilon_a = \sum\limits_{a} \langle a | h | a \rangle + \sum\limits_{a, b}[\langle ab | ab \rangle - \langle ab | ba \rangle] \end{aligned})]


[math(\begin{aligned} E_{\textup{HF}} = \sum\limits_{a} \langle a | h | a \rangle + \frac{1}{2}\sum\limits_{a, b}[\langle ab | ab \rangle - \langle ab | ba \rangle]=\sum\limits_a \varepsilon_a - \frac{1}{2}\sum\limits_{a, b}[\langle ab | ab \rangle - \langle ab | ba \rangle] \neq \sum\limits_a \varepsilon_a \end{aligned})]

[math(\sum\limits_a \varepsilon_a)]에서 빼줘야 하는 항이 무엇인지 생각하면 왜 그런지 알 수 있는데 전자-전자 상호작용을 두 번 센 꼴이라 다 더한 후 절반을 빼 줘야 분자의 총 에너지가 나온다.

4.1. 쿠프만 정리

오비탈 에너지의 총합이 분자 전체의 에너지와 다르다면 [math(\varepsilon_i)]에 어떤 물리적 의미를 붙일 수 있을까? 쿠프만 정리(Koopmans' Theorem)에 따르면 [math(|\chi_i\rangle)]에서 전자를 제거하는데 드는 에너지, 즉 이온화 에너지는 [math(-\varepsilon_i)]와 같다. 이를 증명해보자. 일단 N개의 전자로 이루어진 시스템이 있을 때 분자의 파동함수를 다음과 같이 쓰자
[math(\displaystyle \begin{aligned} |^{N}\Psi_0 \rangle = |\Psi_0 \rangle= |\chi_1\chi_2\cdots\chi_c\cdots\chi_N \rangle \end{aligned} )]
그리고 [math(|\chi_c\rangle)]에서 전자를 제거한 생태의 파동함수를
[math(\displaystyle \begin{aligned} |^{N-1}\Psi_c \rangle = |\chi_1\chi_2\cdots\chi_{c-1}\chi_{c+1}\cdots\chi_N \rangle \end{aligned} )]
로 쓰자. 여기서 이온의 파동함수는 중성 분자의 파동함수에서 크게 바뀌지 않는다는 근사(Frozen orbital approximation)를 도입하자. 그러면 이온화 에너지는
[math(\displaystyle \begin{aligned}\textup{IE}= ^{N-1}E_c - ^{N}E_0 \end{aligned} )]
이제는 에너지를 구한 뒤 위 값을 구하기만 하면 된다.
[math(\displaystyle \begin{aligned} ^{N}E_0&=\sum\limits_{a} \langle a | h | a \rangle + \frac{1}{2}\sum\limits_{a, b}[\langle ab | ab \rangle - \langle ab | ba \rangle]\\^{N-1}E_c&=\sum\limits_{a\neq c} \langle a | h | a \rangle + \frac{1}{2}\sum\limits_{a\neq c, b\neq c}[\langle ab | ab \rangle - \langle ab | ba \rangle]\\
\textup{IE} &= ^{N-1}E_c - ^{N}E_0 = - \langle c | h | c \rangle - \frac{1}{2} \sum\limits_{a}[\langle ac | ac \rangle - \langle ac | ca \rangle]-\frac{1}{2}\sum\limits_{b}[\langle cb | cb \rangle - \langle cb | bc \rangle]
\\&= - \langle c | h | c \rangle - \sum\limits_{a}[\langle ac | ac \rangle - \langle ac | ca \rangle] = - \varepsilon_c
\end{aligned} )]
이는 우리가 원하는 결과이다. 물론 분자에서 전자를 제거하면 당연히 오비탈의 에너지가 바뀌므로 근사일 뿐이지만 꽤 잘 맞으며 광전자 분광법(PES)에서 베이스가 된다.

5. SCF Type

후술할 SCF procedure에선 우리가 [math(\psi_i)]들의 모양을 정해서 넣어주어야 한다. closed shell molecule[14]의 경우 짝지은 두 전자의 [math(\psi_i)]를 같게 두는데 이를 RHF(Restricted Hartree-Fock)라 한다. 예시로 베릴륨 원자의 경우 RHF에선 파동함수를 다음과 같이 쓴다.
[math(\displaystyle \begin{aligned} |\Psi_0 \rangle = |\psi_{1s}^{\alpha}\psi_{1s}^{\beta}\psi_{2s}^{\alpha}\psi_{2s}^{\beta} \rangle \end{aligned} )]
open shell molecule의 경우 위 방법을 쓸 수 없으므로 다른 방법이 필요한데 ROHF(Restricted Open-shell Hartree-Fock)의 경우 짝지은 전자의 경우 RHF처럼 같은 [math(\psi_i)]를 부여하며 홀전자는 다른 [math(\psi_i)]를 준다. 리튬 원자를 예시로 들면
[math(\displaystyle \begin{aligned} |\Psi_0 \rangle = |\psi_{1s}^{\alpha}\psi_{1s}^{\beta}\psi_{2s}^{\alpha} \rangle \end{aligned} )]
가 된다. 하지만 위 방법엔 문제점이 있는데 [math(\psi_{1s}^{\alpha})]와 [math(\psi_{2s}^{\alpha})]의 경우 스핀이 평행하므로 교환 퍼텐셜을 통한 상호작용이 존재하지만 [math(\psi_{1s}^{\beta})]의 경우 그렇지 못하다. 즉 [math(\psi_{1s}^{\alpha})]와 [math(\psi_{1s}^{\beta})]의 에너지는 다를 수밖에 없는데 ROHF의 경우 이 둘의 에너지를 같게 두었기에 이로 인한 오차가 발생할 수밖에 없다. 이를 해결하기 위해 UHF(Unrestricted open-shell Hartree-Fock)에선 모든 오비탈의 모양을 다르게 둔다. 위에서 들었던 예시인 리튬 원자의 경우 UHF에선 다음과 같이 파동함수를 설정한다.
[math(\displaystyle \begin{aligned} |\Psi_0 \rangle = |\psi_{a}^{\alpha}\psi_{b}^{\beta}\psi_{c}^{\alpha} \rangle \end{aligned} )]
아래의 그림은 위에서 설명한 3개의 방법을 그림으로 표현한 것이다.

파일:UHF.png

UHF의 경우 [math(\psi_i)]가 RHF와 ROHF의 것보다 더 유연하므로 두 방법보다 더 정확한 결과를 내놓는다. 하지만 모든 [math(\psi_i)]를 다르게 두었으므로 RHF, ROHF 보다 계산량은 2배로 늘어난다. 이 문서에선 RHF만 다룰 것인데 N개의 전자를 가진 closed shell molecule의 경우 [math(\psi_i)]가 실질적으론 [math(N/2)]개만 존재한다. 이를 이용하여 식을 단순화 시킬 수 있는데 포크 연산자의 경우
[math(\displaystyle \begin{aligned} f(1)=h(1)+\sum\limits_{a=1}^{N/2} [2J_{a}(1)-K_{a} (1) ] \end{aligned} )]
가 되며 에너지의 경우
[math(\displaystyle \begin{aligned} E_0 &= 2\sum\limits_{a=1}^{N/2} \langle a | h | a \rangle + \sum\limits_{a=1}^{N/2}\sum\limits_{b=1}^{N/2}[2\langle ab | ab \rangle - \langle ab | ba \rangle] \\ \varepsilon_a &= \langle a | h | a \rangle + \sum\limits_{b=1}^{N/2}[2\langle ab | ab \rangle - \langle ab | ba \rangle] \end{aligned} )]
가 된다.

6. Roothaan 방정식

앞서 설명했듯이 하트리-포크 방정식을 직접 풀기는 어렵다. 그렇기에 원자 오비탈의 선형 결합으로 분자 오비탈을 구성할 것이다. 이를 LCAO-MO(Linear Combination of Atomic Orbitals - Molecular Orbital)라 한다. 이를 수식으로 쓰면
[math(\displaystyle \begin{aligned} \psi_i = \sum_{\nu = 1}^K C_{\nu i}\phi_\nu \end{aligned} )]
([math(\phi_\nu)]는 원자 오비탈) 이제 이를 하트리-포크 방정식에 넣어보면
[math(\displaystyle \begin{aligned} f(1)\sum_{\nu = 1}^K C_{\nu i}\phi_\nu(1) = \varepsilon_i\sum_{\nu = 1}^K C_{\nu i}\phi_\nu(1) \end{aligned} )]
이제 양변에 [math(\phi_\mu^*)]를 곱하고 적분하면
[math(\displaystyle \begin{aligned} \sum_{\nu = 1}^K \langle \phi_\mu | f | \phi_\nu \rangle C_{\nu i} = \varepsilon_i\sum_{\nu = 1}^K \langle \phi_\mu | \phi_\nu \rangle C_{\nu i} \end{aligned} )]
가 된다. 이제 다음과 같은 행렬을 정의하자.
[math(\displaystyle \begin{aligned} F_{\mu \nu} = \langle \phi_\mu | f | \phi_\nu \rangle \quad S_{\mu \nu} = \langle \phi_\mu | \phi_\nu \rangle \quad E_{ij} = \varepsilon_i\delta_{ij} \end{aligned} )]
여기서 [math(\textbf{F})]를 포크 행렬(Fock matrix), [math(\textbf{S})]를 겹침 행렬(Overlap matrix), [math(\textbf{E})]를 오비탈 에너지 행렬(Orbital energy matrix)이라 한다. 이렇게 행렬을 정의하면 다음과 같은 행렬 방정식을 얻을 수 있다.
[math(\displaystyle \begin{aligned} \textbf{FC} = \textbf{SCE} \end{aligned} )]
이를 Roothaan equation이라 한다.

6.1. 밀도 행렬

전자 밀도와 관련된 밀도 행렬을 정의하면 식들을 이 행렬을 이용해 표현할 수 있다. 파동함수의 성질을 생각해보면 전자 밀도는 다음과 같다.
[math(\displaystyle \begin{aligned} \rho(\textbf{r}) = 2 \sum\limits_{a=1}^{N/2} |\psi_a(\textbf{r})|^2 \end{aligned} )]
이를 원자 오비탈의 이용하여 나타내자.
[math(\displaystyle \begin{aligned} 2 \sum\limits_{a=1}^{N/2} |\psi_a(\textbf{r})|^2 = 2 \sum\limits_{a=1}^{N/2} \sum\limits_{\nu=1}^{K} C_{\nu a}^* \phi_{\nu}^*(\textbf{r}) \sum\limits_{\mu=1}^{K} C_{\mu a} \phi_{\mu}(\textbf{r}) = \sum\limits_{\nu=1}^{K} \sum\limits_{\mu=1}^{K} \Big[2\sum\limits_{a=1}^{N/2} C_{\nu a}^*C_{\mu a}\Big]
\phi_{\nu}^*(\textbf{r})\phi_{\mu}(\textbf{r}) \end{aligned} )]
대괄호로 묶은 항을 밀도 행렬(Density matrix)로 정의한다.
[math(\displaystyle \begin{aligned} P_{\mu \nu}=2\sum\limits_{a=1}^{N/2} C_{\nu a}^*C_{\mu a} \quad \textbf{P} = 2 \textbf{C} \textbf{C}^\dagger \end{aligned} )]
위와 같은 양을 정의하게 되면 우리가 구하고자 하는 양을 밀도 행렬을 이용하여 나타낼 수 있다. 포크 행렬을 써보면
[math(\displaystyle \begin{aligned} F_{\mu \nu} = \langle \phi_{\mu} | h | \phi_{\nu} \rangle + \sum\limits_{a=1}^{N/2} [2\langle \phi_{\mu} | J_a | \phi_{\nu} \rangle - \langle \phi_{\mu} | K_a | \phi_{\nu} \rangle] \end{aligned} )]
앞의 항을 일전자 해밀토니언 행렬(One-electron Hamiltonian matrix) 또는 코어 해밀토니언 행렬(Core-Hamiltonian matrix)이라 부르며 [math(H_{\mu \nu}^c)]로 표기한다. 두번째 항을 살펴보자. [math(J_a)]와 [math(K_a)]는 분자 오비탈에 관한 식이므로 이를 원자 오비탈에 관한 식으로 바꾸어주어야 한다.
[math(\displaystyle \begin{aligned} \sum\limits_{a=1}^{N/2} [2\langle \phi_{\mu} | J_a | \phi_{\nu} \rangle - \langle \phi_{\mu} | K_a | \phi_{\nu} \rangle] = \sum\limits_{a=1}^{N/2} [2\langle \mu a | \nu a\rangle - \langle \mu a | a \nu \rangle] = \sum\limits_{a=1}^{N/2} \sum\limits_{\lambda=1}^{K} \sum\limits_{\sigma=1}^{K} C_{\lambda a}C_{\sigma a}^*[2\langle \mu \sigma | \nu \lambda \rangle - \langle \mu \sigma | \lambda \nu \rangle] \end{aligned} )]
위 식은 밀도 행렬을 이용하여 표기할 수 있다.
[math(\displaystyle \begin{aligned} \sum\limits_{a=1}^{N/2} \sum\limits_{\lambda=1}^{K} \sum\limits_{\sigma=1}^{K} C_{\lambda a}C_{\sigma a}^*[2\langle \mu \sigma | \nu \lambda \rangle - \langle \mu \sigma | \lambda \nu \rangle] = \sum\limits_{\lambda=1}^{K} \sum\limits_{\sigma=1}^{K} P_{\lambda \sigma}[\langle \mu \sigma | \nu \lambda \rangle - \frac{1}{2} \langle \mu \sigma | \lambda \nu \rangle] \end{aligned} )]
위 식을 [math(G_{\mu \nu})]로 표기하자 그러면 포크 행렬은
[math(\displaystyle \begin{aligned} F_{\mu \nu} = H_{\mu \nu}^c + G_{\mu \nu} \end{aligned} )]
가 된다. 에너지 또한 밀도 행렬을 이용하여 표기할 수 있는데
[math(\displaystyle \begin{aligned} E_{\textup{HF}} &= 2\sum\limits_{a=1}^{N/2} \langle a | h | a \rangle + \sum\limits_{a=1}^{N/2} \sum\limits_{b=1}^{N/2} [2\langle ab | ab \rangle - \langle ab | ba \rangle] \\ &= \sum\limits_{a=1}^{N/2} \langle a | h | a \rangle + \sum\limits_{a=1}^{N/2} \langle a | h | a \rangle + \sum\limits_{a=1}^{N/2} \sum\limits_{b=1}^{N/2} [2\langle ab | ab \rangle - \langle ab | ba \rangle] \\ &= \sum\limits_{a=1}^{N/2} \langle a | h | a \rangle + \sum\limits_{a=1}^{N/2} \langle a | f | a \rangle
= \sum\limits_{\mu=1}^{K} \sum\limits_{\nu=1}^{K} \sum\limits_{a=1}^{N/2} C_{\nu a}C_{\mu a}^*H_{\mu \nu}^c + \sum\limits_{\mu=1}^{K} \sum\limits_{\nu=1}^{K} \sum\limits_{a=1}^{N/2} C_{\nu a}C_{\mu a}^*F_{\mu \nu} \\ &= \frac{1}{2} \sum\limits_{\mu=1}^{K} \sum\limits_{\nu=1}^{K} P_{\nu \mu} H_{\mu \nu}^c + \frac{1}{2} \sum\limits_{\mu=1}^{K} \sum\limits_{\nu=1}^{K} P_{\nu \mu}F_{\mu \nu}= \frac{1}{2}\textup{Tr}[\textbf{P}(\textbf{H}^c+\textbf{F} ) ] \end{aligned})]
로 쓸 수 있다.

7. Basis set

Roothaan equation 파트에서 밝혔듯 우리는 MO를 AO의 선형 결합으로 나타낼 것이다. 여기에 쓰이는 AO를 우리가 아는 함수들의 집합 [math(\{f_i\})]으로 나타낼 것인데, 이러한 함수들의 집합을 Basis set이라 한다. 성공적인 계산을 위해선 이러한 basis set을 잘 선택하는 것도 매우 중요하다. 물론 무한개의 complete한 basis를 쓰면 가장 좋은 결과를 얻겠지만[15] 컴퓨터에선 무한개의 basis를 사용할 수 없으므로 유한개의 basis를 사용한다. 이러한 이유로 발생하는 오차를 basis-set truncation error라 한다.

[math(\{f_i\})]를 선택할때 제일 중요한 것은 경계 조건을 맞춰주는 것이다. 분자에서 경계 조건은 [math(r \rightarrow \infin)] 에서 [math(\psi \rightarrow 0)] 이 되어야하며 이러한 조건을 만족시키는 complete set이라면 어떠한 함수라도 사용될 수 있다. 여기서 주로 사용되는 것이 STO(Slater-Type Orbital)GTO(Gaussian-Type Orbital)이다. 원자 a에 중심을 둔 STO의 경우
[math(\displaystyle \begin{aligned} S_{nlm}(r_a, \theta_a, \phi_a) = \frac{(2 \zeta) ^ {n + 1/2}}{[(2n)! ] ^ {1/2}} {r_a}^{n-1} e ^ {-\zeta r_a}Y^m_l(\theta_a, \phi_a) \end{aligned} )]
로 표현된다. STO를 그냥 쓰기엔 문제점이 있는데 계산 속도가 느리다는 것이다. ab initio 계산에선 필수적으로 수많은 이전자 적분 [math((rs|tu))]을 계산해야 한다. 여기서 원자 수가 4개 이상이라면 [math(\chi_r(1), \chi_s(1), \chi_t(2), \chi_u(2))]가 모두 다른 원자에 중심을 두는 사전자 적분을 계산해야 한다.[16] 하지만 이를 STO로 계산하게 된다면 계산 시간이 너무 길어지게 된다. STO의 이러한 단점을 보완하기 위해 제안된 함수가 GTO이다. 원자 b에 중심을 둔 GTO의 꼴은 다음과 같다.
[math(\displaystyle \begin{aligned} g_{ijk} = \left( \frac{2 \alpha}{\pi} \right) ^ {3/4} \left[ \frac{(8 \alpha)^{i+j+k}i!j!k!}{(2i)!(2j)!(2k)!} \right] ^ {1/2} x_b^i y_b^j z_b^k e^{-\alpha r_b^2}\end{aligned} )]
여기서 [math(i, j, k)]는 음이 아닌 정수이다. 이때 [math(i+j+k=0)]일때의 GTO를 s-type Gaussian, [math(i+j+k=1)]일때의 GTO를 p-type Gaussian, [math(i+j+k=2)]일때의 GTO를 d-type Gaussian이라 한다.[17][18] GTO의 경우 STO의 단점을 해소해주는데 서로 다른 원자에 중심을 둔 두 GTO의 곱은 다른 위치에 중심을 둔 GTO가 되기 때문이다. 예시로 중심이 각각 [math(\textbf{R}_A, \textbf{R}_B)]인 s-type GTO는 [math(\phi_1 = C_1e^{-\alpha|\textbf{r} - \textbf{R}_A|^2}, \phi_2 = C_2e^{-\beta|\textbf{r} - \textbf{R}_B|^2})]로 표현되면 곱은 중심이 [math(\textbf{R}_P = \frac{\alpha \textbf{R}_A + \beta \textbf{R}_B}{\alpha + \beta})]인 GTO임은 쉽게 알 수 있다. 이러한 성질 때문에 사중심 적분이 이중심 적분으로 바뀌며 이를 이용하여 계산 시간을 줄일 수 있다. 하지만 이러한 장점이 있는 GTO도 단점이 있는데 핵 주위의 운동을 잘 표현하지 못한다는 것이다.[19]

8. SCF procedure

이제 위 내용들을 총집합하여 분자 오비탈을 얻어보자. 앞서 설명했듯이 하트리-포크 방정식은 연립 적분 방정식이기에 다음과 같은 iteration을 통해 풀어야 한다.
  1. 풀고자 하는 분자를 정하여 [math(\{ \textbf{R} \})], [math(\{Z_\alpha\})], N을 얻고 basis set [math(\{\phi_\nu \})]의 종류 또한 설정한다.
  2. basis들이 직교규격화 되어있지 않으면 그람-슈미트 과정 같은 과정을 통해 그렇게 하도록 만들어준다.
  3. [math(\psi_i = \sum\limits_{\mu}C_{\mu i}\phi_{\mu})]에서 [math(C_{\mu i})]를 추정하여 넣어준다.
  4. [math(H_{\mu \nu}^c)]와 [math(\textbf{P}, \langle \mu \nu | \sigma \lambda \rangle)]를 계산하여 [math(F_{\mu \nu})]를 얻는다.
  5. Roothaan equation [math(\textbf{FC} = \textbf{CE})] ( [math(\textbf{S})]는 직교규격화를 했기에 단위행렬이 된다.)에서 [math(\textbf{C}^{\dagger}\textbf{FC} = \textbf{E})]를 얻는다. 여기서 [math(\textbf{F})]를 대각화하는 [math(\textbf{C}_{\textup{new}})]를 찾는다.
  6. [math(\textbf{C}_{\textup{new}})]를 통해 [math(\textbf{P}_{\textup{new}})]를 얻는다.
  7. 만약 설정한 기준 하에서 [math(\textbf{P}_{\textup{old}} = \textbf{P}_{\textup{new}})]라면 계산을 멈춘다. 마지막에 얻은 [math(\textbf{C})]를 통해 MO의 모양을 얻고 [math(\textbf{E})]를 통해 MO의 에너지를 얻는다.
  8. 수렴하지 않는다면 4번으로 돌아가 수렴할 때 까지 반복한다.


이를 그림으로 나타내면 다음과 같다.

파일:SCF_Procedure.png

위와 같이 반복을 통해 방정식을 푸는 방법을 SCF(Self-Consistent Field) method라 부른다.

9. Population analysis와 결합 차수

10. 분자의 전기적 성질

10.1. 전기 퍼텐셜

10.2. 전하량

11. Localized MO

12. 한계

제일 처음 문단에서 설명했듯이 하트리-포크 방법에는 여러 문제점들이 존재한다. 그중 제일 큰 문제는 정확도이다. 전자는 운동은 전자의 위치에 영향을 받을 수밖에 없다. 예시로 한 전자가 핵 주위에 머무른다면 다른 전자들은 핵 가까이 오기가 힘들것이다. 이러한 현상을 electron correlation라 한다. 하지만 하트리-포크 방법에선 이를 단순히 평균내었기에 이러한 사실을 반영하지 못하여 오차가 발생한다. 비상대론적인 영역에서 얻어진 정확한 에너지를 [math(E_{\textup{nonrel}})]라 했을 때 correlation energy를 다음과 같이 정의한다.
[math(\displaystyle \begin{aligned} E_{\textup{corr}} \equiv E_{\textup{nonrel}} - E_{\textup{HF}} \end{aligned} )]
헬륨의 경우 [math(E_{corr} = -1.14 \textup{eV} = -110 \textup{kJ/mol})] 정도이며 탄소의 경우 약 [math(E_{corr} \approx -5 \textup{eV})]로 거의 화학 결합 한개[20]에 맞먹는 오차가 나온다. 이는 원자 번호가 커질수록 커지며 다음과 같은 관계가 있다.
[math(\displaystyle \begin{aligned} E_{\textup{corr}} \approx -0.0170n^{1.31}(27.2 \textup{eV}) \end{aligned} )]
이러한 이유로 하트리-포크 방법보다 발전된 방법이 필요한데 이를 Post-Hartree-Fock method 또는 electron correlation method이라 한다. 여기선 유명한 몇가지만 소개하겠다.
  • CI(Configuration Interaction)에선 파동함수에 들뜬 상태의 슬레이터 행렬식을 추가하여 정확도를 높인다. 모든 들뜬 상태를 추가하는 방법을 Full-CI라 하는데 정확도는 당연히 높겠지만 계산량이 안드로메다로 가버리기에 큰 분자엔 적용시킬 수 없고 몇개만 골라서 넣는다. Singly excited state만 추가하는 CIS는 HF으로 얻은 에너지와 같아서 쓸모가 없고 Doubly excited state도 추가한 CISD부터 정확도가 늘아나기 시작한다. 더 추가할수록 CISDT, CISDTQ...로 계속해서 추가할 수 있지만 당연히 계산 비용문제로 어느 정도에서 끊는다. 물론 저 순서대로 들뜬 상태를 추가할 필요는 없고 이를 고르는 방법에 따라 여러 이론이 존재한다.
  • MP(Møller–Plesset perturbation theory)에선 [math(\sum\limits^{N}_{m = 1}f(m))]을 비섭동 해밀토니언, [math(\mathcal{H}_{\textup{e}}-\sum\limits^{N}_{m = 1}f(m))]를 섭동으로 처리하여 고차 섭동을 계산한다. 일차 섭동은 0이라 이차 섭동부터 보정이 존재한다. N차 섭동까지 고려한 방법을 MPN이라 표현하며 계산 비용 문제로 일반적으로 MP2 즉 2차 섭동까지 계산하는 방법이 주로 쓰인다. Closed Shell 분자의 바닥 상태 특성을 매우 높은 정확도로 예측할 수 있다.
  • CC(Coupled Cluster)에선 이쪽은 n차수까지의 들뜬 상태 연산자를 연속적으로 적용함으로서 나오는 행렬식만을 골라내서 계산하는 방법이다. 보통 CCSD(T)라 표기되는, 2차수까지의 파동함수를 구한 후 이를 바탕으로 섭동론으로 3차수의 에너지를 예측하는 방법이 사실상 표준 화학결합의 기술로 알려져 있다.

13. 관련 문서







[1] 착화합물, 들뜬 상태 예측 등[2] 통칭 Post Hartree-Fock Methods[3] 여기서 [math(\chi_i)]는 스핀 오비탈([math(= \psi_i \sigma_i)])을 나타낸다.[4] [math(\Psi_e(1, \cdots ,i, \cdots, j, \cdots, N) = - \Psi_e(1, \cdots ,j, \cdots, i, \cdots, N))][5] '리튬의 2s 오비탈' 같은 문장도 저 가정 하에서 성립한다. 리튬 원자의 정확한 해는 수소 원자 모형에서 구한 해로 표현할 수 없다.[6] [math(\varepsilon_{ij})]는 라그랑주 승수[7] Szabo의 Modern Quantum Chemistry 3.2.3절 참고[8] 우변에 [math(| \chi_i \rangle)] 이외의 항들이 있는 형태를 non-canonical Hartree-Fock equation, [math(| \chi_i \rangle)]만 남아있는 식을 canonical Hartree-Fock equation이라 한다.[9] 전기 퍼텐셜 문서 참조[10] 원자 단위계에선 [math(4\pi\epsilon, e)]이 1이 됨을 기억하라[11] 크로네커 델타가 붙어있는 것을 보아라.[12] 일반화학이나 일반화학실험에서 계산 화학 실습을 해보았다면 보통 이렇게 간단하게 배웠을 것이다.[13] 이렇게 다체문제에서 입자간 상호작용을 평균 내어 유효 퍼텐셜 하에서 움직이는 일체 문제로 바꾸는 근사를 평균장 근사(Mean-field approximation)라 한다.[14] 홀전자가 없는 분자[15] 실제 값에 근접할 수는 없다. 계의 파동함수를 각 전자의 파동함수들의 곱으로 근사했기 때문. 이러한 한계값을 Hartree-Fock limit(HF limit)이라 한다.[16] 중심을 둔 원자의 갯수에 따라 일, 이, 삼, 사전자 적분이 존재하며 그 이상의 적분을 계산할 일은 없다.[17] d-type의 경우 5개가 아닌 6개([math(xy, yz, zx, x^2, y^2, z^2)])가 나온다. 원한다면 선형 결합을 통해 수소 원자 모형처럼 [math(xy, yz, zx, x^2-y^2, 3z^2-r^2)] 만들 수 있으며 6번째 선형 결합 [math(r^2)]은 보통 제외한다.[18] GTO에는 주양자수에 해당하는 값이 없다. 어떠한 s AO들이라도 다른 [math(\alpha)]값을 가지는 s-type GTO들의 선형결합으로 써질 수 있으며 다른 오비탈들의 경우에도 마찬가지이다.[19] [math(r = 0)]에서의 미분계수를 비교해보아라.[20] 참고로 수소 분자의 결합 에너지가 대략 [math(4.5 \textup{eV})] 정도이다.