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 .
- Referencje _ _ _ _ _ _ _ _ _ _ _ _ _ _ 0010-4655(73)90004-0
- ^ 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
- 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