Verlet entegrasyonu

**Verlet entegrasyonu**, Newton'un hareket denklemlerini uygulamak için kullanılan nümerik yöntemlerden biridir. Genellikle Moleküler dinamik simülasyonlarında parçacıkların bir sonraki zaman dilimindeki konumlarını belirlemek için kullanılır. Hız hesaplaması yerine sadece o anki konum, önceki konum ve o anki ivmeyi kullanan bu yöntem Euler yönteminden daha isabetlidir ve gerektirdiği işlem sayısı pek farklı değildir. İlk defa 1791 yılında Delambre tarafından kullanılmıştır ve o zamandan beri çok kez yeniden keşfedilmiştir: 1909'da Cowell and Crommelin tarafından Halley kuyruklu yıldızı'nın yörüngesini hesaplamak için veya 1907'de Carl Størmer tarafından manyetik alandaki elektrik yüklü parçacıkların yörüngesini incelemek için kullanılması gibi (ayrıca bu yüzden **Störmer yöntemi** de denir**)**. Daha sonra 1960'larda Loup Verlet tarafından moleküler dinamikte kullanıldı.

## Temel Størmer-Verlet entegrasyonu

İkinci dereceden bir diferansiyel denklem olan \ddot{\mathbf x}(t) = \mathbf A\bigl(\mathbf x(t)\bigr) denklemi, başlangıç koşulları \mathbf x(t_0) = \mathbf x_0 ve \dot{\mathbf x}(t_0) = \mathbf v_0 ile birlikte, t_n = t_0 + n\Delta t zaman aralığında yaklaşık olarak, \mathbf x_n \approx \mathbf x(t_n),  aşağıdaki yöntemle elde edilebilir:
# Birinci eleman \mathbf x_1'in değeri için: \mathbf x_1 = \mathbf x_0 + \mathbf v_0\,\Delta t + \tfrac 1 2 \mathbf A(\mathbf x_0)\,\Delta t^2,
# Serinin diğer elemanları için, *n* = 1,&#8239;2,&#8239;...  olmak şartıyla: 
\mathbf x_{n+1} = 2 \mathbf x_n - \mathbf x_{n-1} + \mathbf A(\mathbf x_n)\,\Delta t^2.


### Hareket Denklemleri
Enerjinin korunduğu fiziksel sistemler için Newton'un hareket denklemi:
:\boldsymbol M \ddot{\mathbf x}(t) = F\bigl(\mathbf x(t)\bigr) = -\nabla V\bigl(\mathbf x(t)\bigr),
ya da ayrı ayrı her bir kütle için:
:m_k \ddot{\mathbf x}k(t) = F_k\bigl(\mathbf x(t)\bigr) = -\nabla{\mathbf x_k} V\left(\mathbf x(t)\right),
olarak ifade edilebilir. Burada:
* t zamanı ifade eder,
* \mathbf x(t) = \bigl(\mathbf x_1(t), \ldots, \mathbf x_N(t)\bigr), N sayıdaki cisimlerin konum vektörlerinin kümesidir,
* V skaler potansiyel fonksiyonudur,
* F, parçacıklar üzerindeki kuvvetlerin kümesini veren Potansiyel gradyanının negatifidir,
* \boldsymbol M, her bir parçacık için m_k kütlelerine sahip bloklarla genellikle diyagonal olan kütle matrisidir.

Bu denklem, potansiyel fonksiyonu V'nin farklı  seçimleri için, etkileşen moleküllerin hareketinden gezegenlerin yörüngelerine kadar çeşitli fiziksel sistemlerin hareketini tanımlamak için kullanılabilir.

Kütleyi denklemin sağ tarafına almak ve birden fazla parçacığın etkileşimli yapısını ihmal etmek için yapılan dönüşümlerden sonra, denklem şu şekilde basitleştirilebilir: 
:\ddot{\mathbf x}(t) = \mathbf A\bigl(\mathbf x(t)\bigr).
Burada \mathbf A(\mathbf x), konuma bağlı ivmeyi temsil eden sisteme uygun bir vektör değerli fonksiyondur. Genellikle, başlangıç konumu \mathbf x(0) = \mathbf x_0 ve başlangıç hızı \mathbf v(0) = \dot{\mathbf x}(0) = \mathbf v_0 ifadeleri ile verilir.

### Verlet integrasyonu (hızlar olmadan)
Bu başlangıç değer problemini sayılabilir aralıklara bölerek  çözmek için, bir zaman adımı \Delta t > 0 seçilir ve zaman dizisi t_n, t_n = n\Delta t olarak ele alınır. Amaç, kesin çözümün yörüngesi üzerindeki \mathbf x(t_n) noktalarını yakından takip eden bir \mathbf x_n noktalar dizisi oluşturmaktır.

Euler yöntemi, birinci dereceden diferansiyel denklemlerde birinci türev için ileri fark yaklaşımını kullanırken, Verlet integrasyonu, ikinci türev için merkezi fark yaklaşımını kullanır:
:\begin{align}
\frac{\Delta^2\mathbf x_n}{\Delta t^2}
&= \frac{\frac{\mathbf x_{n+1} - \mathbf x_n}{\Delta t} - \frac{\mathbf x_n - \mathbf x_{n-1}}{\Delta t}}{\Delta t}\\[6pt]
&= \frac{\mathbf x_{n+1} - 2 \mathbf x_n + \mathbf x_{n-1}}{\Delta t^2} = \mathbf a_n = \mathbf A(\mathbf x_n).
\end{align}
*Verlet integrasyonu*, *Størmer yöntemi* olarak kullanılan formda, hızı kullanmadan, yalnızca önceki iki konum vektörünü kullanarak bir sonraki konum vektörünü elde etmek için şu denklemi kullanır: 
:\begin{align}
\mathbf x_{n+1} &= 2 \mathbf x_n - \mathbf x_{n-1} + \mathbf a_n\,\Delta t^2, \\[6pt]
\mathbf a_n &= \mathbf A(\mathbf x_n).
\end{align}
Burada çözüme ulaşmak için \mathbf x_{n+1} terimi yalnız bırakılmıştır.

### Hızların Hesaplanması – Størmer–Verlet yöntemi

Hızlar, temel Størmer denklemlerinde açıkça verilmemiştir, ancak genellikle kinetik enerji gibi bazı fiziksel niceliklerin hesaplanması için gereklidir. Bu, moleküler dinamik simülasyonlarında teknik zorluklar yaratabilir, çünkü bir sistemdeki kinetik enerji ve anlık sıcaklıklar, t + \Delta t zamanındaki konumlar bilinmeden hesaplanamaz. Bu eksiklik, ya velocity Verlet algoritması kullanılarak ya da konum terimleri ve ortalama değer teoremi kullanılarak hızın tahmin edilmesiyle giderilebilir.
:
\mathbf{v}(t) =
\frac{\mathbf{x}(t + \Delta t) - \mathbf{x}(t - \Delta t)}{2\Delta t}.


Bu hız terimi, konum teriminden bir adım geridedir, çünkü bu t + \Delta t anındaki hıza değil, t anındaki hıza karşılık gelir. Yani, \mathbf v_n = \tfrac{\mathbf x_{n+1} - \mathbf x_{n-1}}{2\Delta t} ifadesi, \mathbf{v}(t_n) için ikinci dereceden bir yaklaşımdır.

## Verlet Hız Algoritması

Sistem ile ilgili ve daha yaygın olarak kullanılan bir diğer algoritma ise Verlet hız algoritmasıdır. Bu yöntem, hız hesabı için yukarıda verilen yöntem ile benzer bir yaklaşıma sahiptir fakat hızı açıkça dahil ederek, temel Verlet algoritmasındaki adım problemini çözer:

:\begin{align}
\mathbf{x}(t + \Delta t) &= \mathbf{x}(t) + \mathbf{v}(t)\, \Delta t + \tfrac{1}{2} \,\mathbf{a}(t) \Delta t^2, \\[6pt]
\mathbf{v}(t + \Delta t) &= \mathbf{v}(t) + \frac{\mathbf{a}(t) + \mathbf{a}(t + \Delta t)}{2} \Delta t.
\end{align}

## Kaynakça