Stillinger-Weberポテンシャル

2.  力の計算コードを追記する。

$$ \begin{eqnarray}
&& \mathop{\large \Lambda}_{i} \mathop{\large \Lambda}_{j>i} \bigl\{ V \;+\!\!=\; \varepsilon f_2(r_{ij});\bigr . \\
&& \;\;\;\;\;\;\;\;\;\; \boldsymbol{F}_i \;+\!\!=\; -\varepsilon \frac{\partial f_2(r_{ij})}{\partial r_{ij}}\frac{ \boldsymbol{r}_i-\boldsymbol{r}_j }{r_{ij}};\\
&& \;\;\;\;\;\;\;\;\;\;\boldsymbol{F}_j \;+\!\!=\; -\varepsilon \frac{\partial f_2(r_{ij})}{\partial r_{ij}}\frac{ \boldsymbol{r}_j-\boldsymbol{r}_i }{r_{ij}} \bigl . \bigr \} \\
&& + \mathop{\large \Lambda}_{i} \mathop{\large \Lambda}_{j\neq i} \mathop{\large \Lambda}_{\stackrel{k>j}{k \neq i}} \bigl \{ V \;+\!\!=\; \varepsilon h(r_{ij}, r_{ik}, \theta_{jik}); \bigr . \\
&& \;\;\;\;\;\;\;\;\;\;\boldsymbol{F}_i \;+\!\!=\; -\varepsilon \frac{\partial h(r_{ij}, r_{ik}, \theta_{jik})}{\partial \boldsymbol{r}_i};\\
&& \;\;\;\;\;\;\;\;\;\;\boldsymbol{F}_j \;+\!\!=\; -\varepsilon \frac{\partial h(r_{ij}, r_{ik}, \theta_{jik})}{\partial \boldsymbol{r}_j};\\
&& \;\;\;\;\;\;\;\;\;\;\boldsymbol{F}_k \;+\!\!=\; -\varepsilon \frac{\partial h(r_{ij}, r_{ik}, \theta_{jik})}{\partial \boldsymbol{r}_k}\bigr . \bigl \}
\end{eqnarray}$$

3体項の微分を実行すると

$$\begin{eqnarray}
&=& \mathop{\large \Lambda}_{i} \mathop{\large \Lambda}_{j>i} \bigl\{ V \;+\!\!=\; \varepsilon f_2(r_{ij});\bigr . \\
&& \;\;\;\;\;\;\;\;\;\; \boldsymbol{F}_i \;+\!\!=\; -\varepsilon \frac{\partial f_2(r_{ij})}{\partial r_{ij}}\frac{ \boldsymbol{r}_i-\boldsymbol{r}_j }{r_{ij}};\\
&& \;\;\;\;\;\;\;\;\;\;\boldsymbol{F}_j \;+\!\!=\; -\varepsilon \frac{\partial f_2(r_{ij})}{\partial r_{ij}}\frac{ \boldsymbol{r}_j-\boldsymbol{r}_i }{r_{ij}} \bigl . \bigr \} \\
&& +\mathop{\large \Lambda}_{i} \mathop{\large \Lambda}_{j\neq i} \mathop{\large \Lambda}_{\stackrel{k>j}{k \neq i}} \bigl\{ V \;+\!\!=\; \varepsilon h(r_{ij}, r_{ik}, \theta_{jik}); \bigr .\\
&& \;\;\;\;\;\;\;\;\;\; \boldsymbol{F}_i \;+\!\!=\; -\varepsilon A_{jik} \frac{ \boldsymbol{r}_i-\boldsymbol{r}_j }{r_{ij}} -\varepsilon B_{jik}  \frac{ \boldsymbol{r}_i-\boldsymbol{r}_k }{r_{ik}};\\
&& \;\;\;\;\;\;\;\;\;\; \boldsymbol{F}_j \;+\!\!=\; -\varepsilon  A_{jik} \frac{ \boldsymbol{r}_j-\boldsymbol{r}_i }{r_{ij}}-\varepsilon  D_{jik} \frac{ \boldsymbol{r}_j-\boldsymbol{r}_k }{r_{jk}};\\
&& \;\;\;\;\;\;\;\;\;\; \boldsymbol{F}_k \;+\!\!=\; -\varepsilon  B_{jik}  \frac{ \boldsymbol{r}_k-\boldsymbol{r}_i }{r_{ij}}-\varepsilon  D_{jik} \frac{ \boldsymbol{r}_k-\boldsymbol{r}_j }{r_{jk}}\bigl . \bigr \}
\end{eqnarray}$$

ここで

$$\begin{eqnarray}
\displaystyle A_{jik} & = &\frac{\partial h(r_{ij},r_{ik}, \theta_{jik})}{\partial r_{ij}} + \frac{\partial h(r_{ij},r_{ik}, \theta_{jik})}{\partial \cos\theta_{jik}}\frac{r_{ij} – r_{ik}\cos\theta_{jik}}{r_{ij}r_{ik}}\\
B_{jik} & = & \frac{\partial h(r_{ij},r_{ik}, \theta_{jik})}{\partial r_{ik}} + \frac{\partial h(r_{ij},r_{ik}, \theta_{jik})}{\partial \cos\theta_{jik}}\frac{r_{ik} – r_{ij}\cos\theta_{jik}}{r_{ij}r_{ik}}\\
D_{jik} & = & -\frac{\partial h(r_{ij},r_{ik}, \theta_{jik})}{\partial \cos\theta_{jik}}\frac{r_{jk}}{r_{ij}r_{ik}}
\end{eqnarray}$$

である。

ポイントは、注目している項に関与しているすべての原子について力を計算することである。2体項では\(f_2(r_{ij})\)によって生じる力を原子\(i\)と\(j\)について計算する。3体項では\(h(r_{ij},r_{ik}, \theta_{jik})\)から生じる力を原子\(i,\;j,\;k\)について計算する。\(C_{ijk}\)がなくなっているのが気になるかもしれないが、\(C_{ijk}\)は\(i\)と\(j\)が入れ替わった\(A_{jik}\)に他ならず、ここで計算しなくても\(h(r_{ji},r_{jk}, \theta_{ijk})\)の項で計算されるから問題ない。

1つの原子に注目し、その原子にかかる力をすべて列挙しようとすると、3体項の場合\(h(r_{ij},r_{ik}, \theta_{jik}),\;h(r_{ji},r_{jk}, \theta_{ijk}),\;h(r_{ki},r_{kj}, \theta_{kji})\)といくつもの項を考えなければならず、見落としや重複のリスクが常につきまとう。ターム指向であれば、\(h(r_{ij},r_{ik}, \theta_{jik})\)一つに注目すればよいので、ほぼ機械的に間違いなく記述できる。