Listy komórek

Listy komórek (czasami określane również jako listy połączone z komórkami ) to struktura danych w symulacjach dynamiki molekularnej służąca do znajdowania wszystkich par atomów w określonej odległości od siebie. Pary te są potrzebne do obliczenia oddziaływań niezwiązanych krótkiego zasięgu w systemie, takich jak siły Van der Waalsa lub część oddziaływania elektrostatycznego krótkiego zasięgu przy użyciu sumowania Ewalda .

Algorytm

Oddziaływania parami dla pojedynczej cząstki można obliczyć, a) obliczając oddziaływanie ze wszystkimi innymi cząstkami lub b) dzieląc domenę na komórki o długości krawędzi co najmniej promienia odcięcia potencjału interakcji i obliczając oddziaływanie między cząsteczkę i wszystkie cząstki w tej samej (czerwonej) i sąsiedniej (zielonej) komórce.

Listy komórek działają poprzez podział domeny symulacji na komórki o długości krawędzi większej lub równej promieniowi odcięcia interakcji, która ma zostać obliczona. Cząstki są sortowane do tych komórek, a interakcje są obliczane między cząstkami w tej samej lub sąsiednich komórkach.

W swojej najbardziej podstawowej formie niezwiązane interakcje dla odległości odcięcia obliczane w następujący sposób:

dla wszystkich sąsiednich par komórek zrobić
dla wszystkich zrobić
dla wszystkich zrobić
jeśli następnie
Oblicz interakcję między i .
koniec, jeśli
koniec za
koniec za
koniec za

długość komórki wynosi co najmniej , nie można pominąć żadnych cząstek w od siebie

symulację z cząstkami o jednorodnej gęstości cząstek, liczba komórek proporcjonalna do i odwrotnie proporcjonalna do promienia odcięcia (tj. jeśli wzrasta, podobnie jak liczba komórek). średnia liczba cząstek na komórkę całkowitej Koszt interakcji dwóch komórek wynosi . Liczba par komórek która jest ponownie proporcjonalna do liczby cząstek . Całkowity koszt znalezienia wszystkich odległości parami w danej granicy wynosi znacznie lepsze parami

Okresowe warunki brzegowe

W większości symulacji stosuje się okresowe warunki brzegowe , aby uniknąć narzucania sztucznych warunków brzegowych. Korzystając z list komórek, granice te można zaimplementować na dwa sposoby.

Komórki duchów

Okresowe warunki brzegowe można symulować, zawijając pudełko symulacji w dodatkową warstwę komórek (zacieniowane na pomarańczowo) zawierającą okresowe kopie komórek brzegowych (niebieskie cząstki).

W podejściu z komórkami widmowymi pudełko symulacji jest opakowane w dodatkową warstwę komórek. Komórki te zawierają okresowo zawijane kopie odpowiednich komórek symulacji wewnątrz domeny.

Chociaż dane — a zwykle także koszt obliczeniowy — są podwojone w przypadku interakcji przekraczających granicę okresową, to podejście ma tę zaletę, że jest proste do wdrożenia i bardzo łatwe do zrównoleglenia, ponieważ komórki będą wchodzić w interakcje tylko ze swoimi sąsiadami geograficznymi.

Okresowe owijanie

Zamiast tworzyć komórki duchy, pary komórek, które oddziałują na okresową granicę, mogą również używać okresowego wektora korekcyjnego } Ten wektor można zapisać lub obliczyć dla każdej pary komórek należy zastosować do „zawijania jedną komórkę wokół domeny, aby sąsiadowała z drugą. ∈ i } następnie obliczone jako

.

To podejście, chociaż bardziej wydajne niż użycie komórek duchów, jest mniej proste do wdrożenia (pary komórek należy zidentyfikować na granicach okresowych, a wektor musi być obliczona/przechowana).

Ulepszenia

Pomimo zmniejszenia kosztu obliczeniowego znalezienia wszystkich par w danej odległości odcięcia od do , algorytm listy komórek wymieniony powyżej nadal ma pewne nieefektywności.

w trzech wymiarach z długością krawędzi równą promieniowi odcięcia . Obliczana jest parami odległość między wszystkimi cząstkami w komórce iw jednej z sąsiednich komórek. Cela ma 26 sąsiadów: 6 ma wspólną twarz, 12 ma wspólną krawędź i 8 ma wspólny kąt. Ze wszystkich obliczonych odległości parami tylko około 16% będzie w rzeczywistości mniejszych lub równych r do . Innymi słowy, 84% wszystkich obliczeń odległości parami jest fałszywych.

sposobów przezwyciężenia tej nieefektywności jest podzielenie domeny na komórki o długości krawędzi . Interakcje parami są wtedy obliczane nie tylko między komórkami, ale między wszystkimi komórkami w obrębie siebie (po raz pierwszy zasugerowane i zaimplementowane oraz przeanalizowane w i ) To podejście można doprowadzić do granicy, w której każda komórka zawiera co najwyżej jedną pojedynczą cząstkę, zmniejszając w ten sposób liczbę fałszywych ocen odległości parami do zera. Ten wzrost wydajności jest jednak szybko równoważony przez liczbę komórek, które należy sprawdzić pod kątem każdej interakcji z komórką, do , na przykład w trzech wymiarach, rośnie sześciennie z odwrotnością długości krawędzi komórki. ustawienie długości krawędzi na liczbę fałszywych ocen odległości do 63

Inne podejście zostało opisane i przetestowane w Gonnet, w którym cząstki są najpierw sortowane wzdłuż osi łączącej centra komórek. Takie podejście generuje tylko około 40% fałszywych obliczeń odległości parami, ale wiąże się z dodatkowymi kosztami wynikającymi z sortowania cząstek.

Zobacz też

  1. ^ Allen, poseł; DJ Tildesley (1987). Symulacja komputerowa płynów . Oksford: Clarendon Press.
  2. Bibliografia _ Ryż BM (1999). „Obliczenia bliskiego sąsiada przy użyciu zmodyfikowanej metody listy połączonej z komórką”. Komunikacja w dziedzinie fizyki komputerowej . 119 (2–3): 135. Bibcode : 1999CoPhC.119..135M . doi : 10.1016/S0010-4655(98)00203-3 .
  3. Bibliografia   _ Wang, J.-S.; Liu, GR; Cheng, M (2004). „Ulepszony algorytm listy sąsiadów w symulacjach molekularnych z wykorzystaniem metody rozkładu komórek i sortowania danych”. Komunikacja w dziedzinie fizyki komputerowej . 161 (1–2): 27–35. arXiv : fizyka/0311055 . Bibcode : 2004CoPhC.161...27Y . doi : 10.1016/j.cpc.2004.04.004 . S2CID 7686860 .
  4. Bibliografia    _ Hünenberger, PH (2004). „Szybki algorytm konstrukcji listy par do symulacji molekularnych w okresowych warunkach brzegowych”. Journal of Computational Chemistry . 25 (12): 1474–86. doi : 10.1002/jcc.20071 . PMID 15224391 . S2CID 10464744 .
  5. ^    Gonnet, Pedro (2007). „Prosty algorytm przyspieszający obliczanie interakcji niezwiązanych w symulacjach dynamiki molekularnej opartych na komórkach”. Journal of Computational Chemistry . 28 (2): 570–573. doi : 10.1002/jcc.20563 . PMID 17183605 . S2CID 31993082 .