Verlet法

分子シミュレーションではニュートン方程式について解く必要がある。このために、位置と速度(加速度)という二つの情報を同時に必要とする。ある時刻 t における位置と速度を(ほぼ)同時に計算できる方法がいくつか存在し、代表的なものとして Verlet 法などがある。

Verlet 法によるニュートン方程式を解くとき、まず、初期値として、位置 \({\bf r}(t_{0})\) と速度 \({\bf v}(t_{0})\) が与えられているものとする。

\({\bf r}(t_{0})\) に対して、現在より Δt 後の位置は次のようになる。これをテーラー展開する。

\[ \begin{eqnarray} {\bf r}(t_{1}) &=& {\bf r}(t_{0} + \Delta t)\\ &=& {\bf r}(t_{0}) + \Delta t{\bf v}(t_{0}) + \frac{\Delta t^{2}}{2}\frac{{\bf F}(t_{0})}{m} + O(\Delta t^{3}) \end{eqnarray} \]

次に、t0 = t1 - Δt として、\( {\bf r}(t_{0}) = {\bf r}(t_{1} - \Delta t) \) を上と同様にテーラー展開する。

\[\begin{eqnarray} {\bf r}(t_{0}) &=& {\bf r}(t_{1} - \Delta t)\\ &=& {\bf r}(t_{1}) + \Delta t{\bf v}(t_{1}) + \frac{\Delta t^{2}}{2}\frac{{\bf F}(t_{1})}{m} + O(\Delta t^{3}) \end{eqnarray} \]

さらに、t2 = t1 +Δt として、上と同様にテーラー展開する。

\[ \begin{eqnarray} {\bf r}(t_{2}) &=& {\bf r}(t_{1} + \Delta t)\\ &=& {\bf r}(t_{1}) + \Delta t{\bf v}(t_{1}) + \frac{\Delta t^{2}}{2}\frac{{\bf F}(t_{1})}{m} + O(\Delta t^{3}) \end{eqnarray} \]

すると、上の 2 式から、\({\bf r}(t_{2})\) と \({\bf v}(t_{1})\) が求められる。(次の式は Verlet 差分式と呼ばれている。)

\[ \begin{eqnarray} {\bf r}(t_{2}) &=& 2{\bf r}(t_{1}) - {\bf t}(t_{0}) + \Delta t^{2}\frac{{\bf F}(t_{1})}{m} + O(\Delta t^{3}) \\ {\bf v}(t_{1}) &=& \frac{1}{2\Delta t}\left( {\bf r}(t_{2}) - {\bf r}(t_{0}) + O(\Delta t^{3}) \right) \end{eqnarray} \]

以上のように、t1 ± Δt の計算から、t2 の位置と t1 の時の速度が求めらる。この計算を繰り返すことによって、t = n 秒まで分子シミュレーションを行う。