Beemansův algoritmus - Beemans algorithm - Wikipedia
Beemanův algoritmus je metoda pro numericky integrovat obyčejné diferenciální rovnice řádu 2, konkrétněji Newtonovy pohybové rovnice . Byl navržen tak, aby umožňoval vysoký počet částic v simulacích molekulární dynamiky. Existuje přímá nebo explicitní a implicitní varianta metody. Přímá varianta byla publikována společností Schofield v roce 1973[1] jako osobní komunikaci od Beemana. Toto je běžně známé jako Beemanova metoda. Jedná se o variantu Integrace verletů metoda. Produkuje identické pozice, ale pro rychlosti používá jiný vzorec. Beeman v roce 1976 publikován[2] třída implicitních (prediktor – korektor) vícestupňových metod, kde Beemanova metoda je přímá varianta metody třetího řádu v této třídě.
Rovnice
Vzorec použitý k výpočtu pozic v čase v plném prediktoru-korektoru[2] schéma je:
- Předpovědět z dat občas
- .
- Správná poloha a rychlosti v čase z dat občas opakovaným vyhodnocením diferenciální rovnice pro získání zrychlení a rovnic implicitního systému
- V testech bylo zjištěno, že tento krok korektoru je třeba opakovat nanejvýš dvakrát. Hodnoty vpravo jsou staré hodnoty posledních iterací, což má za následek nové hodnoty vlevo.
Použitím pouze vzorce prediktoru a korektoru pro rychlosti se získá přímá nebo explicitní metoda[1] což je varianta metody integrace Verlet:[3]
Toto je varianta, která se obvykle chápe jako Beemanova metoda.
Beemane[2] také navrhl alternativně nahradit aktualizaci rychlosti v poslední rovnici druhým řádem Adams – Moultonova metoda:
kde
- je přítomný čas (tj. nezávislá proměnná)
- je velikost časového kroku
- je poloha v čase t
- je rychlost v čase t
- je zrychlení v čase t, vypočítané jako funkce
- poslední termín je chybový termín pomocí velká O notace
Úpravy prediktor-korektor
V systémech, kde jsou síly kromě polohy také funkcí rychlosti, je třeba výše uvedené rovnice upravit do podoby prediktor-korektor, přičemž rychlosti v čase se předpovídají a vypočítají síly před vytvořením opravené formy rychlostí.
Příkladem je:
Rychlosti v čase se poté vypočítají (předpovídají) z pozic.
Zrychlení v čase z pozic a předpovězených rychlostí se poté vypočítají a rychlosti se opraví.
Chybný termín
Jak je uvedeno výše, termín místní chyby je pro pozici a rychlost, což má za následek globální chybu . Ve srovnání je Verlet pro polohu a rychlost. Výměnou za vyšší přesnost je Beemanův algoritmus výpočetně mírně nákladnější.
Požadavky na paměť
Simulace musí sledovat polohu, rychlost, zrychlení a předchozí vektory zrychlení na částici (i když jsou možná některá chytrá řešení pro uložení předchozího vektoru zrychlení), přičemž její požadavky na paměť musí být srovnatelné s rychlostí Verlet a o něco dražší než původní metoda Verlet .
Reference
- ^ A b Schofield, P. (1973), „Počítačové simulační studie kapalného stavu“, Komunikace počítačové fyziky, 5 (1): 17–23, doi:10.1016/0010-4655(73)90004-0
- ^ A b C Beeman, David (1976), „Některé vícestupňové metody pro použití při výpočtech molekulární dynamiky“, Journal of Computational Physics, 20 (2), s. 130–139, doi:10.1016/0021-9991(76)90059-0
- ^ Levitt, Michael; Meirovitch, Hagai; Huber, R. (1983), "Integrace pohybových rovnic", Journal of Molecular Biology, 168 (3): 617–620, doi:10.1016 / S0022-2836 (83) 80305-2, PMID 6193281
- Sadus, Richard J. (2002), Molekulární teorie tekutin: teorie, algoritmy a objektová orientace, Elsevier, s. 231, ISBN 0-444-51082-6