エバルトの方法

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

エバルトの方法(エバルトのほうほう、Ewald method)は、分子動力学法量子化学的手法バンド計算手法などで、単位胞(またはスーパーセル)内の原子核(またはイオン芯)同士のクーロン相互作用を効率良く計算する手法。

計算対象を実空間での計算が都合のよい部分と、逆格子空間での計算が都合のよい部分との二つに分けて別々に計算を行い、これら二つの計算結果の和が求めるべき答となる。

具体例[編集]

格子点\mathbf{l}におかれたイオンの作る静電ポテンシャル\phi(\mathbf{r})を例にとって説明する。\phi(\mathbf{r})係数を省略すれば次の式で書ける。


\phi(\mathbf{r}) = \sum_{\mathbf{l}} \frac{1}{\left|\mathbf{r}-\mathbf{l}\right|}

静電ポテンシャル\phi(\mathbf{r})を、関数f(\mathbf{r})を用いて、次のように分割する。


\phi(\mathbf{r}) = \sum_{\mathbf{l}} \frac{1}{\left|\mathbf{r}-\mathbf{l}\right|}f(\mathbf{r})+\sum_{\mathbf{l}} \frac{1}{\left|\mathbf{r}-\mathbf{l}\right|}(1-f(\mathbf{r}))

ここで、f(\mathbf{r})として短距離で0に収束する関数をうまく選び、第1項の和が実空間で短距離で0に収束し、第2項の和が逆格子空間で短距離で0に収束すると計算上都合がよい。 実際には、f(\mathbf{r})として相補誤差関数erfc がよく使われる。Gを任意の定数としてf(\mathbf{r})=\operatorname{erfc}(G\left|\mathbf{r}-\mathbf{l}\right|)を、1-f(\mathbf{r})誤差関数の定義式を代入すると


\phi(\mathbf{r}) = \sum_{\mathbf{l}} \frac{1}{\left|\mathbf{r}-\mathbf{l}\right|}\operatorname{erfc}(G\left|\mathbf{r}-\mathbf{l}\right|) + \sum_{\mathbf{l}} \frac{1}{\left|\mathbf{r}-\mathbf{l}\right|}\frac{2}{\sqrt{\pi}}\int_0^{G\left|\mathbf{r}-\mathbf{l}\right|} e^{-t^2}\,\mathrm dt

第2項でt=\left|\mathbf{r}-\mathbf{l}\right|\rhoとおいて変数変換する。


\phi(\mathbf{r}) = \sum_{\mathbf{l}} \frac{1}{\left|\mathbf{r}-\mathbf{l}\right|}\operatorname{erfc}(G\left|\mathbf{r}-\mathbf{l}\right|) + \int_0^G \sum_{\mathbf{l}} \frac{2}{\sqrt{\pi}} e^{-\left|\mathbf{r}-\mathbf{l}\right|^2\rho^2}\,\mathrm d\rho

第2項の被積分関数は、格子の周期を持つ\mathbf{r}の関数であるから、フーリエ級数に展開できる。単位格子の体積をv_{cell}とおくと、次のように第2項を展開できる。

\begin{align}
 \phi(\mathbf{r}) & = \sum_{\mathbf{l}} \frac{1}{\left|\mathbf{r}-\mathbf{l}\right|}\operatorname{erfc}(G\left|\mathbf{r}-\mathbf{l}\right|) + \int_0^G \sum_{\mathbf{g}} \frac{2\pi}{v_{cell}} \frac{1}{\rho^3} e^{-\left|\mathbf{g}\right|^2/4\rho^2} e^{i\mathbf{g}\cdot\mathbf{r}}\,\mathrm d\rho \\
& = \sum_{\mathbf{l}} \frac{1}{\left|\mathbf{r}-\mathbf{l}\right|}\operatorname{erfc}(G\left|\mathbf{r}-\mathbf{l}\right|) + \frac{4\pi}{v_{cell}} \sum_{\mathbf{g}} \frac{e^{-\left|\mathbf{g}\right|^2/4G^2}}{\left|\mathbf{g}\right|^2} e^{i\mathbf{g}\cdot\mathbf{r}}
\end{align}

よって、\operatorname{erfc}(x)e^{-x}といった、xについて速やかに0に収束する関数が現れる形に変形することができた。 後は、各項がそれぞれ\mathbf{l}\mathbf{g}に対して速く収束するように適当なGの値を選べば効率よく計算できる。

関連項目[編集]