エバルトの方法

出典: フリー百科事典『ウィキペディア(Wikipedia)』
2014年6月13日 (金) 15:44時点における133.1.148.100 (トーク)による版 (具体例の追加)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

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

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

具体例

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

<math>

\phi(\mathbf{r}) = \sum_{\mathbf{l}} \frac{1}{\left|\mathbf{r}-\mathbf{l}\right|} </math> 静電ポテンシャル<math>\phi(\mathbf{r})</math>を、関数<math>f(\mathbf{r})</math>を用いて、次のように分割する。

<math>

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

<math>

\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 </math> 第2項で<math>t=\left|\mathbf{r}-\mathbf{l}\right|\rho</math>とおいて変数変換する。

<math>

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

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

関連項目