Algorytm Beemana

Algorytm Beemana to metoda numerycznego całkowania równań różniczkowych zwyczajnych rzędu 2, a dokładniej równań ruchu Newtona. } Został zaprojektowany, aby umożliwić dużą liczbę cząstek w symulacjach dynamiki molekularnej. Istnieje bezpośredni lub jawny i niejawny wariant metody. Wariant bezpośredni został opublikowany przez Schofielda w 1973 roku jako osobista wiadomość od Beemana. Jest to powszechnie znane jako metoda Beemana . Jest to wariant całkowania Verleta . Tworzy identyczne pozycje, ale używa innego wzoru na prędkości. Beeman w 1976 roku opublikował klasę niejawnych (predyktor-korektor) wieloetapowych metod, w których metoda Beemana jest bezpośrednim wariantem metody trzeciego rzędu w tej klasie.

Równanie

Formuła używana do obliczania pozycji w czasie w pełnym schemacie korektor-predyktor to:

  • na podstawie danych w czasach
.
  • Popraw położenie i prędkości w czasie podstawie danych w czasie przyspieszenie równań
  • różnicy
W testach stwierdzono, że ten krok korektora należy powtórzyć co najwyżej dwa razy. Wartości po prawej stronie to stare wartości z ostatnich iteracji, co skutkuje nowymi wartościami po lewej stronie.

Używając tylko formuły predyktora i korektora prędkości, otrzymuje się metodę bezpośrednią lub jawną, która jest wariantem metody całkowania Verleta:

Jest to wariant, który jest zwykle rozumiany jako metoda Beemana .

Beeman zaproponował również alternatywne zastąpienie aktualizacji prędkości w ostatnim równaniu metodą drugiego rzędu Adamsa-Moultona :

Gdzie

  • to czas teraźniejszy (tj. zmienna niezależna)
  • to rozmiar kroku czasowego
  • to pozycja w czasie t
  • to prędkość w czasie t
  • to przyspieszenie w czasie t, obliczone jako funkcja
  • ostatni wyraz to termin błędu, przy użyciu notacji dużego O

Modyfikacje predyktorów i korektorów

W systemach, w których siły są funkcją prędkości oprócz położenia, powyższe równania należy zmodyfikować do postaci predyktor-korektor, w której przewiduje się prędkości w czasie, a siły są przewidywane obliczone, przed utworzeniem skorygowanej postaci prędkości.

Przykładem jest:

Prędkości w czasie pozycji

Przyspieszenia czasie są następnie obliczane na podstawie pozycji i przewidywanych prędkości, a za = prędkości są korygowane.

Termin błędu

Jak pokazano powyżej, lokalny składnik błędu to dla pozycji i prędkość, co skutkuje globalnym błędem . , . W zamian za większą dokładność algorytm Beemana jest umiarkowanie droższy obliczeniowo.

Wymagania dotyczące pamięci

Symulacja musi śledzić położenie, prędkość, przyspieszenie i poprzednie wektory przyspieszenia na cząstkę (chociaż możliwe są pewne sprytne obejścia do przechowywania poprzedniego wektora przyspieszenia), utrzymując wymagania pamięci na równi z prędkością Verleta i nieco droższe niż oryginalna metoda Verleta .

  1. Referencje _ _ _ _ _ _ _ _ _ _ _ _ _ _ 0010-4655(73)90004-0
  2. ^ a b c Beeman, David (1976), „Niektóre metody wieloetapowe do wykorzystania w obliczeniach dynamiki molekularnej”, Journal of Computational Physics , tom. 20, nie. 2, s. 130–139, Bibcode : 1976JCoPh..20..130B , doi : 10.1016/0021-9991(76)90059-0
  3. Bibliografia   _ Meirowicz, Hagai; Huber, R. (1983), „Integracja równań ruchu”, Journal of Molecular Biology , 168 (3): 617–620, doi : 10.1016/S0022-2836 (83) 80305-2 , PMID 6193281
  •   Sadus, Richard J. (2002), Molekularna teoria płynów: teoria, algorytmy i zorientowanie na obiekt , Elsevier, s. 231, ISBN 0-444-51082-6