ベレの方法
大域位置誤差は T = n Δ t {\displaystyle T=n\Delta t} としたときの位置 x ( t + T ) {\displaystyle x(t+T)} の誤差であるから、次を得る。
e r r o r ( x ( t 0 + T ) ) = ( T 2 2 Δ t 2 + T 2 Δ t ) O ( Δ t 4 ) {\displaystyle \mathrm {error} {\bigl (}x(t_{0}+T){\bigr )}=\left({\frac {T^{2}}{2\Delta t^{2}}}+{\frac {T}{2\Delta t}}\right)O(\Delta t^{4})}
したがって、時間間隔を一定とした場合の大域(累積)誤差は以下のオーダーとなる。
e r r o r ( x ( t 0 + T ) ) = O ( Δ t 2 ) {\displaystyle \mathrm {error} {\bigr (}x(t_{0}+T){\bigl )}=O(\Delta t^{2})}
ベルレ法では速度は位置に依存して非累積的に算出されるため、大域速度誤差のオーダーも O ( Δ t 2 ) {\displaystyle O(\Delta t^{2})} となる。
分子動力学シミュレーションでは通常、局所誤差よりも大域誤差のほうがはるかに重要であるため、ベルレ法はオーダー2の積分アルゴリズムとみなされる。
速度ベルレ法は3Dアプリケーション一般に有用なアルゴリズムであり、以下のようなC++実装により一般的に解ける。加速度の向きの変化をデモするため、簡略化された抗力を作用させているが、加速度が一定でない場合にのみ必要となる。
Vはスカラーポテンシャル関数、
Fは負のポテンシャル勾配、すなわち粒子にはたらく力の集合、
M質量行列で、各粒子の質量 m k {\displaystyle m_{k}} を対角要素にもつ行列である。
この等式は、相互作用する分子群や惑星の軌道などさまざまな物理系が、さまざまなポテンシャル関数Vを決めたときどのように時間発展するかを記述するために用いることができる。
右辺に質量を移し、粒子系の構造を忘れることにすると、上の式は以下のように単純化することができる。
x → ̈ ( t ) = A ( x → ( t ) ) {\displaystyle {\ddot {\vec {x}}}(t)=A{\big (}{\vec {x}}(t){\big )}}
位置に依存する加速度を表す適切なベクトル値関数Aを使用します。通常、も与えられます。ここで、ベクトル値関数Aは位置依存加速度をあらわす。通常は、初期位置 x → ( 0 ) = x → 0 {\displaystyle {\vec {x}}(0)={\vec {x}}_{0}} および初速度 v → ( 0 ) = x → ̇ ( 0 ) = v → 0 {\displaystyle {\vec {v}}(0)={\dot {\vec {x}}}(0)={\vec {v}}_{0}} も所与である。