UKŁAD <-> MODELOWANIE PROCESÓW FIZYKOCHEMICZNYCH1) czym się nie będziemy zajmować2) I czym zajmować się będziemy • geometria i granice układu• co „siedzi” w układzie• jakie „są relacje” układu z otoczeniem• czy mamy do czynienia ze stanem równowagi, czy też nie; jeśli nie, to czy proces jest np. stacjonarny• w jaki sposób rzeczywisty układ, zawierający ~1023 elementów „zmieścić” w komputerze • jaką zastosować metodę modelowania
Geometria i granice układu: jak najbliżej rzeczywistości(np. układy objętościowe, układy niejednorodne (w polach zewnętrznych), pory, membrany, stopy, transport przez „rurki”, itp.)
W układzie „siedzą” cząsteczki. Cząsteczki owe, ich „zachowaniesię” mamy modelować
x
y
zx1,y1,z1+kąty Eulera1
x2,y2,z2+kąty Eulera2
przykład cząsteczek wodyna czerwono: samemuuzupełnić wiadomości
oscylacja wiązań
rotacja
cząsteczka wody posiada teżmoment dipolowy i momentkwadrupolowy, tzn.
-+
dipol
polimer, zbudowany z grup atomów, fragment łańcuchaw powiększeniu obok
ILOŚĆ ZMIENNYCH (współrzędnych) niezbędnychdo opisu ruchu cząsteczki zależy od przyjętego modelu.Jeśli cząsteczkę polimeru „zastąpimy” kulką, to wystarcząnam 3 współrzędne. Jeśli każdy segment polimeru potraktujemyjako kulkę i przyjmiemy, że polimer jest „giętki”, tzn. segmentymogą się względem siebie poruszać, to liczba współrzędnychwyniesie 3*M, gdzie M jest ilością segmentów. Jeśli zaś polimer będzie „sztywny”, tzn. segmenty nie będą zmieniały swychwzajemnych położeń - to liczba współrzędnych =6 (jak dlaciała sztywnego o dowolnej geometrii)
Mechanika klasyczna; efekty kwantowe uwzględniamy jedynie na poziomie jednocząsteczkowym, tzn. w jednocząsteczkowych sumach stanów! W istocie w rozważanych później procesach efekty kwantoweprowadzą do zaniedbywalnie małych poprawek. Wyjątkiemsą bardzo lekkie pierwiastki: wodór, hel i częściowo neonw niskich temperaturach.Nawet przy modelowaniu reakcji chemicznych nie będziemybrać pod uwagę efektów kwantowych. Dokładniej: potencjałyoddziaływań używane w obliczeniach są otrzymywane wwyniku obliczeń kwantowo-mechanicznych. Jednak równaniaruchu są klasyczne (równania Newtona), a nie równaniaSchroedingera z czasem - „pomijamy” więc zasady nieoznaczoności. W przypadku ruchów elektronów tak postapicnie wolno, ale w przypadku ruchów atomów, wiele tysięcy razycięższych od elektronów, nie prowadzi do błedów
Podsumowując: „to co siedzi w układzie”, opis cząsteczekzależy od nas - od tego, co chcemy badać. Im bardziej„mikroskopowy” opis cząsteczek - tym trudniejsze i bardziejczasochłonne obliczenia. Z drugiej strony - im dokładniejszymodel cząsteczek, tym poprawniejsze wyniki. Model jest zawsze kompromisem pomiędzy dokładnościąa możliwością lub/i czasem obliczeń
1
„relacje” układu z otoczeniem, stan równowagi czy też„steady state” (przemian turbulentych badać nie będziemy)1) Stan równowagi - zespoły statystyczne• mikrokanoniczny• kanoniczny• wielki kanoniczny• izobaryczno-izotermiczny• ugólniony (Gibbsa), itp.2) Stan stacjonarny - w jaki sposób stan taki się ustala czylijak ustala się np. stała srednia liczba cząsteczek („przypływi odpływ cząsteczek”) oraz jak zachodzi dysypacja energii.Przykład: stacjonarny przepływ płynu przez rurkę, kapilarę, por (slip-no slip)Przykład: materiały granularne (pseudo-ciecze; fluidyzacja)
„sztuczne” powiększanie układu.
Elementy układu (cząsteczki) oddziałują ze sobą. Oddziaływaniema określony zasięg. Nawet w przypadku oddziaływań elektro-statycznych (proporcjonalnych do 1/odległość) istnieje taka odleg-łośc, na której energia oddziaływań staje się praktycznie równazero. Zatem od pewnej odległości elementy te (cząsteczki) stająsię niezależne (w sensie statystycznym).
R
R
R
R
R - zasięgoddziaływania
tzw. periodyczne warunki brzegowe
periodyczne warunki brzegowe dla danego układusą związane z jego geometrią. Dla przykładu, jeślirozważamy płyn (płyn=(gaz.or.ciecz); płyn=(gaz||ciecz)) wporze szczelinowym (co to znaczy?), to wówczas warunkiperiodyczne jedynie w płaszczyźnie (powiedzmy OXY);dla układu objętościowego - warunki periodyczne w trzechwymiarach.Z warunków periodycznych wynika, że gdy cząsteczkaopuszcza układ z jednej strony, to musi wejść do niego z drugiej
Innymi słowy, jeśli układ (na pł. OXY) jest prostokątem:0 <=x<=XL (x.ge.0).and.(x.le.XL)0<=y<=YL (y.ge.0).and.(y.le.YL)i na początku ruchu cząsteczka była w punkcie x, spełaniającympowyższe warunki, a na końcu ruchu znalazła się w punkciex_koniec> XLto w istocie pojawiła się w punkcie x_koniec1=(x_koniec-XL)!Analogicznie, jeśli x_koniec <0 to w istociex_koniec1=XL+x_koniec
(podobnie w kierunku OY)
x1,y1 -poczatkowe
przesx,przesy - przesunięcie
OXL=2.0/XLOYL=2.0/YLxk= x1+przesxyk= y1 +przesyxk= xk -XL*aint(OXL*xk -1.)yk= yk -YL*aint(OYL*yk -1.)
xk.yk -końcowe
XL
YL
(0,0)OXL=2.0/XL;OYL=2.0/YL;xk= x1+przesx;yk= y1 +przesy;xk= xk -XL*floor(OXL*xk -1.0);yk= yk -YL*floor(OYL*yk -1.0),
fortran C
ze wszystkich - wybieramy najbliżej położoną
x1,y1
x2,y2
x2’,y2’
x2’’,y2’’dx=x1-x2dy=y1-y2odl=sqrt(dx*dx+dy*dy)
dx’=x1-x2’dy’=y1-y2’odl’=sqrt(dx’*dx’+dy’*dy’)
dx’’=x1-x2’’dy’’=y1-y2’’odl=sqrt(dx’’*dx’’+dy’’*dy’’)
Z warunkami periodycznymi wiąże się zasada minimalnejodległości oddziaływań (minimum image)
c** XL, YL - wymiary ukladu xl2=XL/2.0 yl2=YL/2.0 dx=x1-x2 FORTRAN dx=xl2-abs(xl2-abs(dx)) dy=y1-y2 dy=yl2-abs(yl2-abs(dy)) odl1=sqrt(dx*dx+dy*dy)
/* XL, YL - wymiary ukladu*/ xl2=XL/2.0 ; yl2=YL/2.0; dx=x1-x2; C dx=xl2-fabs(xl2-fabs(dx)); dy=y1-y2; dy=yl2-fabs(yl2-fabs(dy)); odl1=sqrt(dx*dx+dy*dy);
Metoda modelowania:1) dynamika molekularna: zalety i wady2) metoda Monte Carlo - równoważność (za wyjątkiem układów nie będących ergodycznymi) średnich czasowych i średnich w zespole statystycznym3) dynamika „brownowska”; układy ze stopniami swobody„działającymi” na różnej skali czasowej
Koncentrować będziemy się na metodach 1) i 2)
W metodzie Monte Carlo możemy modelować układ wprzestrzeni ciągłej (współrzędne cząsteczek są liczbamirzeczywistymi), lub nieciągłej. W ostatnim przypadkumówimy o tzw. UKŁADACH SIATKOWYCH, awspółrzędne cząsteczek są wówczas liczbami naturalnymi -„numerami” węzłów sieci.
Istnieje też „siatkowy analog” dynamiki molekularnej -tzw. dynamika boltzmannowska.
Zadania do wykonania:wykonanie zadań jest obowiązkowe, niewykonanie 1/3 zadań oznacza brak zaliczenia wykładu. Termin wykonania zadań: 1 tydzień od podania na wykładzie; po tym terminie zadaniaprzyjmowane nie będą. Zadania należy przesyłać pocztą elektroniczną na adres:[email protected]ąc jako temat (TEMAT: BEZ POLSKICH ZNAKÓW!!!)numer zadania (lub zadań, jeśli więcej niż 1), imię i nazwiskoZa błędy popełnione przy wysyłaniu poczty całkowitą odpowie-dzialność ponosi wysyłający, żadne reklamacje przyjmowane niebędą. Pierwszy etap automatycznego sprawdzania polegaćbędzie na eliminacji rozwiązań zgodnych ze sobą w więcej niżw 40%, zgodnie z kryteriami programu PLAGIAT, stosowanymiw UMCS. Ponieważ etap ten jest automatyczny, nie istniejemożliwość reklamacji i odrzucone będą wszystkie prace niespełniające powyższego kryterium.
Zadanie 1odszukaj i podaj (powołując się na źródło) przynajmniej 5 przykładów rozmiarów cząsteczek, traktowanych jak kulki.Odszukaj i podaj (powołując się na źródło) przynajmniej 3przykłady budowy cząsteczek wieloatomowych (średnice atomówlub grup funkcyjnych, odległości pomiędzy nimi, kąty międzywiazaniami, itp.)Odszukaj i podaj (powołując się na źródło) przynajmniej 3 przykłady danych na temat budowy ciał stałych (rodzaj sieci,wielkość komórki elementarnej, itp.)
Zadanie 2Jaka jest struktura (jak są ułożone) kulki na płaszczyźnie, abyich gęstość dwuwymiarowa była największa? Ile wynosi ta gęstość. Ile cząsteczek {azotu lub wody lub argonu lub tlenu lub
rtęci lub metanu lub ksenonu}* znajdzie się na 1 cm2 powierzchni,jeśli tworzą one warstwę najgęściej upakowaną? *jedna cząsteczka do wyboru
Zadanie 3Co to jest moment dipolowy, podaj przykłady i wartości liczbowemomentów dipolowych dla 3 cząsteczek. Dla jakich wzajemnychorientacji energia oddziaływania 2 dipoli jest największa a kiedynajmniejsza? Co to jest moment kwadrupolowy? Podaj 2 przykłady.Dla jakich orientacji a)na płaszczyźnie b)w przestrzeni trójwymiaro-wej energia oddziaływania 2 kwadupoli jest największa?
Zadanie 4Wielkości zredukowane. Podaj przykłady zdefiniowania wielkościzredukowanych w termodynamice. Co możesz powiedzieć natemat zasady stanów odpowiadających sobie i jaki jest jejzwiązek z definiowaniem wielkości zredukowanych?
Zadanie 5.Podaj definicje kątów Eulera. Jak znając np. współrzędne środkamasy oraz kąty Eulera ze środka masy do dowolnego punktu ciałasztywnego, wyliczyć współrzędne kartezjańskie tego punktu?
ODDZIAŁYWANIA MIĘDZYCZĄSTECZKOWE.
Energia potencjalna (będziemy mówić potencjał) oddziaływańpary cząsteczek w określonej konfiguracji
R1 R2 to różnica energii kwantowego stanupodstawowego dla tej konfiguracjioraz energii stanu, w którym 2 cząsteczkisą nieskończenie od siebie odległe
Obliczenia kwantowe -> aproksymacje, w termodynamicestatystycznej musimy stosować aproksymacje (czas obliczeń!)
Przedstawimy kilka najczęściej stosowanych aproksymacji
ADDYTYWNOŚĆ (po parach)Jeśli uij jest potencjałem międzycząsteczkowym pomiędzycząsteczkami i oraz j, to energia oddziaływania N cząsteczekjest równa:
Ni
ijNij
N uU,1 ,1
taka sama zasada dotyczy obliczania energii oddziaływania 2cząsteczek, zbudowanych z wielu atomów (grup atomów - grupfunkcyjnych). Energia 2 takich cząsteczek jest sumą energii wszystkich oddziałujących centrów (grup). Centraenergetyczne nie muszą być realnymi atomami. Np. energiadipol-dipol może być wyznaczona jako suma oddziaływań
kulombowskich pomiędzy 4 (niekoniecznie całkowitymi) ładunkami:
-+
-+
q+
q-
q-
q+
q-q+/r1
r1
-+
w modelu cząsteczli wody ładunek +może być umieszczony pomiedzydwoma wodorami, w miejscugdzie „fizycznie” nie ma żadnego atomu
Potencjał Lennard-Jonesa
612 )/()/(4)( rrru
parametry: energii i wielkości, sigma to tzw. średnica Lennard-Jonesa. Ponieważ we wszystkich wyrażeniach termodynamicznychepsilon występuje jako epsilon/kB (stała Boltzmanna), to zazwyczajpodajemy wartość tego parametru jako epsilon/kB . Wówczasjednostką tej wielkości jest TEMPERATURA.Potencjał Lennard-Jonesa jest dwuparametrowy; wielkości sigma i epsilon mogą być więc użyte jako jednostki długości i energii - a więcdo definiowania wielkości zredukowanych, np.gestosc_zredukowana=gestosc*sigma**3temperatura_zredukowana=kB*temperatura/epsiloncisnienie_zredukowane=cisnienie*sigma**3/epsilonenergia_wewnetrzna_zredukowana=energia_wewnetrzna/epsilon, itd.
r/sigma
u( r)/epsilon
sigma
force
rcut
u(rcut)=ucut
Funkcja wyznaczająca potencjał LJ w jednostkach zredukowanych double lj(r,rmin,emax)
double r,rmin,emax; {double r,r3,r6;{ if (r<=rmin); return(emax);}else{ r3=1.0/r; r3=r3*r3*r3;r6=r3*r3;r3=4*r6*(r6-1.0);}return(r3);}
real*8 function lj(r,rmin,emax) implicit nonereal*8 r,r6if (r.le.rmin) thenlj=emaxelser6=(1.d0/r)**6lj=4*r6*(r6-1.d0)endifreturnend
Uwaga: dlaczego rmin oraz emax? Jak je określić?
oddziaływanie z powierzchnią - na bazie potencjału LJ
OXY
OZ
dx*dy
r
x1,x1,z1
z1
222 )1()1(1()1( yyxxzdyudxzv
całkujemy na całą płaszczyznę, od minus do plus nieskończonościPrzechodzimy na współrzędne walcowe
R2=(x1-x)2+(y1-y)2; RdRd=dxdy
14
6
10
12
222
22
222
4
1
10
12)(2)1(
,1
;)1(2
)1()1(1()1(
z rrrrdruzv
rdRRdRrRz
RzRdRu
yyxxzdyudxzv
Potencjał Lennard-Jonesa (10,4), opisujący oddziaływania zpłaszczyzną
Inne modele potencjałów oddziaływa ń pary cząsteczek sferycznych(PARY CZĄSTECZEK, A NIE CZĄSTECZKI Z POWIERZCHNIA)
2) Potencjał Yukawy
rdla
rdla
rrru
/]/exp[)(
3) potencjał sztywnych kul (BYŁO!)
Kiedy stosujemy te potencjały?
Jakie zadania mogą być z tego materiału na kolokwium?Np. (a) przy wyznaczaniu potencjału oddziaływań z powierzchniąprzeprowadzić analogiczne całkowanie dla potencjału Yukawy, napisać odpowiedni program, wykonać wykres. Całkowaniemożna przeprowadzić numerycznie(b) wyznaczyć numerycznie potencjał oddziaływania cząsteczkize sferyczna cząsteczka koloidalną (całkowanie nie po płaszczyżnie,ale po powierzchni kuli)c ) jak wyżej, ale „w srodku” kuli, tj. wewnątrz poru sferycznegolub cylindrycznegod) wyznaczyć analog potencjału LJ(10,4), jeśli uwzględnimy, żeoddziaływanie zachodzi również z elementami wewnątrz ciałastałegoe) wyznaczyć numerycznie drugi współczynnik wirialny dlapotencjału LJ(12,6)f) wyznaczyć numerycznie wartość stałej Henry’ego dla potencjału LJ(10,4).
Zadania do wykonaniaZadanie 6Jaką postać ma potencjał opisujacy oddziaływania pomiędzy dwomaidealnymi (punktowymi) dipolami? Napisz funkcje obliczającą tenpotencjał. Zadanie 7Jaką postać ma potencjał opisujacy oddziaływania pomiędzy dwomaidealnymi kwadrupolami ? Napisz funkcje obliczającą tenpotencjał.Zadanie 8Oddziaływania pomiędzy dwoma cząsteczkami koloidalnymiw roztworze atermalnym można opisać przy pomocy potencjaługaussowskiego (tzw. Gaussian overlap potential) lub AsekuryOozawy. Jaką postać ma jeden lub drugi potencjał. Napisz odpowiednią funkcję. lub - do wyboru
2 tygodnie od 24 lutego
DYNAMIKA MOLEKULARNA - UKŁADY OBJĘTOŚCIOWE(bez pól zewnętrznych)
u(rij)
ri
rj
i
j ri=(xi,yi,zi), uij=u(rij)ri=(xi,yi,zi); uij=u(rij)
Ni
ijNij
N uU,1 ,1
rij=sqrt(dx2+dy2+dz2)dx=min_image(xi-xj)dy=min_image(yi-yj)dz=min_image(zi-zj)
Notacja: matematyczna i „komputerowa”N cząstek
rj’
un=suma(N,uij), un jest funkcją położeń wszystkich N cząsteczek
Siła działająca na i-tą cząsteczkę jest sumą sił od wszystkichpozostałych N-1 cząsteczek. Równania ruchu -klasycznadynamika Newtona (przestrzeń trójwymiarowa, czasteczkisferyczne): siła=masa*przyspieszeniesiła_na cząsteczkę_i=masa_i*przyspieszenie_iprzyspieszenie_i=(druga_pochodna_drogi_i_po_czasie)siła_i= - (gradient_potencjału_działającego_na_i)gradient=(/x, /y, /z)
22
22
22
//
//
//
tzmxU
tymyU
txmxU
iiiN
iiiN
iiiN
-fxi=mi*d2xidt2
-fyi=mi*d2yidt2
-fzi=mi*d2zidt2
ijNjxijxi
iijxij
iijNjijxi
fF
xuf
xuFfxi
,,1
;,1
/
/
Dla potencjału LJ(12,6)
ij
ji
ijij
iij
r
zz
rr
xu
)(1264
/
13
12
7
6
dx=x(i)-x(j)dy=y(i)-y(j) dz=z(i)-z(j) dx=dx-XL*nint(dx/XL) dy=dy-YL*nint(dy/YL) dz=dz-ZL*nint(dz/ZL) rsq=dx**2+dz**2+dy**2 robol=(sigma**6/rsq**4) robol1=(sigma**12/rsq**7) robol=6.d0*robol-12.d0*robol1fxij=4.d0*epsilon*robol*dz
nint, sumowanie, ij<-> ij
2
222
)()(
)()(2)(
)(
)()(2)(/
tm
tFttxtxttx
t
ttxtxttxdtxd
i
xiii
iiii
Algorytm Stroemera-Verleta. Inne algorytmy:
M.P.Allen, D.J. Tildesley, Computer Simulation of Liquids, Claredon,Oxford 1982 (szukaj w sieci hasła: ccp5, na stronie odszukać program library)D.J. Evans, G.P. Morriss, Statistical Mechanics of NonequilibriumLiquids, Academic Press, London 1990
Schemat blokowy symulacji:
1. wczytaj dane początkowe (wielkość układu, N, parametry potencjału, wielkość kroku czasowego delta_t, jak długo mają trwać symulacje, KONFIGURACJĘ POCZĄTKOWĄ)
2. Dla każdej cząsteczki oblicz siły fxij,fyij,fzij3. Dla każdej cząsteczki rozwiąż numerycznie równania Newtona, obliczając jej nowe położenie4. Oblicz wielkości termodynamiczne, dynamiczne oraz charakteryzujące strukturę, które chcesz obliczać i których wartość średnią (uśrednioną po krokach symulacji) będziesz drukować
5. wydrukuj wyniki (wielkości średnie, konfigurację końcową)powtarzaj
A CO Z TEMPERATURĄ?
Zasada ekwipartycji energii: w stanie równowagi wartość średnia energii kinetycznej wynosi (1/2)NkT na każdy stopień swobody, a więc:
hsymulacjac po,1
222
2
)(
2
3
Ni
ziyixii vvvmNkT
a co to prędkość vxi, vyi, vzi? do przecież pochodna xi po czasie, czyli vxi=(xi(t+delta_t)-xi (t))/delta_t
Problemy do przypomnienia/uzupełnienia:numeryczne rozwiązywanie równań różniczkowych rzędudrugiego, zwłaszcza metoda „predictor-corrector” orazmetoda „leap frogg” - źródło: odszukać na sieci numerical recipes, pobrać pliki PDF (języki FORTRAN lub C)
DYNAMIKA MOLEKULARNA - ZESPÓŁMIKROKANONICZNY
(a co to jest zespół mikrokanoniczny?)
Omówimy dokładniej program pozwalający na obliczanietrajektorii ruchu cząsteczek metoda dynamiki molekularnejProgram napisany jest przy pomocy meta-języka. Programgłówny wygląda następująco:
program md
call init
t=0
do while(t<=tmax)
call force
call integrate
t=t+deltat
call sample
enddo
call results
end
program główny
inicjujemy dane, pkt 1zaczynamy, czas=0, krok czasowy=deltapoczątek pętli po czasieobliczamy siłycałkujemy równania ruchuczas=czas_stary+deltaobliczamy średnie, które nas interesują
koniec pętli czasowejwypisujemy wyniki
We wszystkich blokach programowych niżej rozpatrujesię jedynie JEDNĄ wspólrzedna - x; Jeśli układ jestdwuwymiarowy - trzeba odpowiednio dodać y; dlaukładu trójwymiarowego - również wsp. z.Oczywistym jest, że odległości liczymy zawsze jakodługości odpowiednich wektorówr2=dx*dx - układ jednowymiarowyr2=dx*dx+dy*dy - układ dwuwymiarowyr2=dz*dz+dy*dy+dz*dz - układ trójwymiarowy
procedure initsymv=0
sumv2=0
for i=1,n_czastek
x(i)=polożenie_na_sieci_i
v(i)=(random-0.5)
sumv=sumv+v(i)
sumv2=sumv2+v(i)*v(i)endforsumv=sumv/n_czasteksumv2=sumv2/n_czastekfs=sqrt(3*temp/sumv2)for i=1,n_czastekv(i)=(v(i)-sumv)*fsendforend_procedure
bardzo ważne,inaczej układby dryfował, sumv2 - skalowanieprędkości do temperatury
położenia na sieciprzypadkowe prędkościZACHOWANIE PĘDU!TEMPERATURA
pętla skalująca prędkosci, zerowypadkowego pędu, układ mazadana temperaturę
RÓWNOWAGOWANIE
UWAGAjeśli stosować będziemy algorytm Verleta, to w miejscu strzałki należy dodaćxm(i)=x(i)-v(i)*deltat, gdzie deltat jest krokiem czasu
do obliczenia położeń w czasie t+deltat algrorytm ten wymaga znajomosci położeń w czasie t oraz w czasie t-deltat. Te ostatnie „przybliżamy”, zakładając ruchjednostajny w czasie deltat, czyli:polożenie_stare=polożenie_aktualne-predkość*deltat
SIEĆ, układ 2-wymiarowy
a
nsqr=sqrt(n_czastek)for i=1,nsqrx(i)=(i-1)*afor j=1,nsqry(j)=(j-1)*aendforendfor
jeśli na tych bokach są
to na tych bokach być nie mogą
periodyczne war. brzegowe!
2
2’
a1
1 - (0,0)2 - (1,0)3 - (3,0)itd..
2-warstwa:1’ -(0.5, sqrt(3)/2)2’ - (1.5,sqrt(3)/2)idt..
3-wartstwa1’’ - (0, sqrt(3))2’’- (1,sqrt(3))
3
1’
sieć heksagonalnaa - jednostka
A jak wyglądają tuwarunki periodyczne??
cząsteczka następnej warstwy(wzdłuż osi OZ, prostopadłejdo płaszczyzny rys.
1 2
3
4
1. wstawiamymy 1
2. wstawiamy 2, aby r12>a
3. wstawiamy 3, aby r21,r32>a
4. wstawiamy 4, aby r41,r42,r42>a.
itd..
Ale: sprawdzać należy
stosując periodyczne warunki
brzegowe!
Przypadkowe wstawianie
Zadanie 9Co to jest rozkład prędkości Maxwella-Boltzmanna? Dlaczegow procedurze inicjującej nie losujemy prędkości zgodnie z tym rozkładem?Zadanie 10Napisz procedurę inicjującą dla układu dwu lub trójwymiarowego,losując położenia cząsteczek na sieci kwadratowej (sześciennej) lub najgęstszego upakowania lub przypadkowo. Język:fortran lub c
Procedura forceJeśli algorytm symulacji działa poprawnie, to cząsteczki nie mogą„za bardzo” zbliżyć się do siebie, nie ma więc potrzeby wprowadzania parametru „rmin”. Natomiast zazwyczaj układjest większy niż (zasięg korelacji)*2, dlatego wprowadzamyparametr rcutwartość potencjału LJ(12,6) w pkt. rcut toucut=4*(1.0/rcut12-1.0/rcut6), PAMIETAJ: epsilon i sigmapotencjału LJ(12,6) to nasze JEDNOSTKI
W istocie potencjał LJ(12,6) w jest NIECIĄGŁY w rcut, bodo r>rcut u(r )=0, ale ucut jest różne od zera. To oznacza,że również jego pochodna du( r)/dr na DODATKOWY „wkład”w r=rcut. Jeśli funkcja w danym punkcie ma „schodek”, topochodna w tym punkcie ma człon z funkcją delta Diraca!Ten człon jest mały (tym mniejszy, im rcut większe) i dla uproszcze-nia będziemy go pomijać. W dokładnych obliczeniach należy gouwzględniać
procedure forceenergia=0for i=1,n_czastekf(i)=0endforfor i=1,n_czastek for j=i+1,n_czastek dx=x(i)-x(j) dx=dx-XL*nint(dx/XL) r2=dx*dx if (r2<rcut*rcut) then r2i=1.0/r2 r6i=r2i*r2i*r2i ff=48.0*r2i*r6i*(r6i-0.5) f(i)=f(i)+ff*dx f(j)=f(j)-ff*dx energia=energia+4*r6i*(r6i-1)-ucut end ifendfor i endfor j end procedure
zerujemy energię i siły f dla n_cza
stek
jeśli cząstka i działa na j, to j dzia-
ła na i taka sama siła, ale
z przeciwnym zwrotem
periodyczne war. brzegowe,
nint - to najbliższ całkowita
sumujemy siły od wszystkich
cąstecek
sumujemy energię (minus ucut!)
to jest „odległość do kwadratu”
Zadanie 10Układ cząsteczek oddziałujących potencjałem LJ(12,6) jestw kontakcie z powierzchnią (płaszczyzna OXY). Powierzchniata jest nieruchoma i oddziałuje na cząsteczki układu potencjałem v(z) opisanym funkcja LJ(10,4). Napisz równania na siływynikające z tych oddziaływań. Zmodyfikuj tak proceduręforce, aby poprawnie obliczała siły.
UWAGA: w takim układzie NIE MA PERIODYCZNYCHWARUNKÓW BRZEGOWYCH W KIERUNKU Z; aby byćkonsekwentnym, należy również umieścić symetrycznie takąsamą powierzchnie w z=ZL i uczynić ZL dużo większym niżpozostałe wymiary układu: XL i YL
Zadanie 11Właściwości funkcji delta Diraca: definicja, całkowanietej funkcji, obliczanie pochodnej tej funkcji. Funkcja Diracato analog delty Kroneckera w przestrzeni liczb rzeczywistych
Źródło: np. uzupełnienia matematyczne w MechaniceKwantowej Davydova (Dawidowa, jest po polsku)
Całkowanie równań ruchu
procedure integratesumv=0sumv2=0for i=1,n_czastekxx=2*x(i)-xm(i)*deltat+deltat*deltat*f(i)vi=(xx-xm(i))/(2*deltat)sumv=sumv+visumv2=sumv2+vi*vixm(i)=x(i)x(i)=xx
endfor
temp=sumv2/(2*n_czastek)
etot=(energia+sumv2)/(2*n_czastek)
end procedure
sumv - sprawdzenie „dryfowania”
zasada zachowania pędu, sumv2 -
do obliczenia temperatury
równania ruchu całkowane zgod-
nie z równaniami na następnym
slajdzie
całkowita energia, energia pot.
(energia) liczona w force
calkowanie równań ruchu:x(t+teltat)=x(t)+v(t)*deltat+f(t)*deltat*deltat/(2*masa)+O(deltat^3)x(t-deltat)=x(t)vv(t)*deltat+f(t)*deltat*deltat/(2*masa)+O(deltat^3)dodając stronami:x(t+deltat)+x(t-deltat)=2*x(t)+f(t)*deltat*deltat/masa lubx(t+deltat)= - x(t-deltat)=2*x(t)+f(t)*deltat*deltat/masa
podobnie postępując z prędkością otrzymamy:
v(t)=(t(t+deltat)-t(t-deltat))/(2*deltat)
powyższe równania zastosowano w procedurzeintegrate
RÓWNOWAGOWANIE:
ENEGRGIA lub TEMPERATURA
kroki czasu
podczas równowagowania musimy„uzgodnić” siły z prędkościami.Zaczynamy symulacje od przypad-kowych prędkosci, ich rozkładnie jest zgodny z rozkłademMB. Równowagowanie - to osiągniecie tej zgodności. Dlategoteż podczas równowagowanianależy (w procedurze integrate)dopisać linie z proceduryinicjalizacji
procedura inicjalizacji
Zadanie 12Napisz (albo w meta-języku, albo w dowolnym języku programo-wania) analog procedury integrate dla równowagowaniaukładu.
Uwagi podsumowujące:Najprostszy układ: całkowicie izolowany, bez pól zewnętrznych,siły krótkiego zasięgu, cząsteczki sferyczne. W przypadkucząsteczek niesferycznych - dodatkowe równania ruchu, np.dla rotacji,
Średnia energia (kinetyczna) rotacji - związekz temperaturą.
Równowagowanie termiczne - rotacja i translacja „razem” czyoddzielnie?
Reakcje chemiczne, np. asocjacja, tworzenie wiązań typuwiązania wodorowego
Uzupełnienia (samodzielnie, nieobowiązkowo)
Inne metody całkowania równań ruchu (inne wersjeprocedury inegrate)
Równania Liouville’a, zagadnienie odwracalności w czasiedanego algorytmu. Niestabilność Lapunowa.
Co chcemy liczyć - czyli procedura sample1. Wielkości termodynamiczne (T, energia, potencjał chemiczny, ciśnienie (albo ugólniej: składowe tensora ciśnienia (naprężeń), a więc i napiecie powierzchniowe, napięcie liniowe), swobodna energia Helmholtza, ciepło własciwe...2. Wielkości dynamiczne, np. współczynnik dyfuzji, czas „życia” powstających kompleksów...3. Wielkości strukturalne: funkcje korelacji (gęstość lokalna, radialna funkcja rozkładu, liczby koordynacyjne, niezmienniki (inwarianty) strukturalne
+
histogramy
FUNKCJA RADIALNA
odległość
g(r)
1
prawdopodobieństwo znalezienia innej cząsteczki na odległościr12 od pierwszej cząsteczki (jakakolwiek pierwsza, jakakolwiek„inna”) - dwucząsteczkowa funkcja rozkładu, n2(x1,y,z1,x2,y2,z2)Periodyczne warunki brzegowe Układ objętościowy -> n2(x1,y,z1,x2,y2,z2=n2(r12)Układ idealny (brak oddziaływań - cząsteczki nieskorelowane)n2(r12)=n2g2(r12), n-gęstość, g2(r12) - funkcja radialnaZatem dla układu bez oddziaływań -> g2(r12)=1jeśli r12-> nieskończoność, to brak oddziaływań, czylig2(r12)->1Zatem jeśli obowiązuje zasada addytywności po parach, totermodynamikę określa funkcja radialna, np.
średnia energia wewnętrzna=energia kinetyczna+energiapotencjalna
Energia kinetyczna - z zasady ekwipartycji, tj. ze średniejtemperatury
Energia potencjalna (w 3 wymiarach):
max
012
21212122
2 )()(42
1r
drrrurgnU
gdzie potencjał u(r12) pod całka jest np. potencjałem LJ(12,6);rmax jest zasięgiem oddziaływań.
Wykażemy dalej, że również ciśnienie oblicza się z funkcji radialnej
(patrz zadanie 13)
Dalej: liczby koordynacji oblicza się jako całki z funkcji radialnej. Jeśli pierwsza „strefa” koordynacji to zasięgminimum oddziaływania LJ(12,6) (r=(21/6)*sigma)to liczba ta wynosi
6/12
012
212122 )(4 drrrg
Funkcja radialna określa nam prawdopodobieństwo znalezieniapary (jakichkolwiek) cząsteczek na odległości r
procedure radial
if(iradial) then {ileradial=ileradial+1for i=1,n_czastek-1for j=i+1,n_czastekdx=x(i)-x(j)dx=dx-XL*nint(dx/XL)r=sqrt(dz*dz)if(r>BOX/2) then {ir=int(r/step)g(ir)=g(ir)+1}}end procedureZmienne: procedura wywoływanabyć powinna po kroku równowag.wtedy iradial=prawda, przeciwnieiradial=fałsz. step to krok z jakimtablicujemy funkcje radialną, g(ir), zaś mox to min(XL,Yl,ZL)
zazwyczaj step jest rzędu od 0.01
do 0.05 średnic cząsteczek. Tablicag(r ) powinna być tak zadeklarowana, aby 0<=r<=BOX/2
Do wyliczenia średnich wartościg(ir) na końcu symulacji musimywiedzieć ile razy obliczaliśmyfunkcję radialną!, dlatego teżzmienna ileradial powinna byćwyzerowana na początkuprogramu głównego
Wydruk funkcji radialnej
gestosc=n_czastek/(XL*YL*ZL)
for i=0,int(BOIX/step)
r=(i+0.5)*step
oblicz_volume
g(i)=g(i)/(ileradial*gestosc*volume
* n_czastek)
print r,g(i)
endfor
Oczywiście, w 2 wymiarach
gestosc=n_czastel/(XL*YL)
oblicz_volume oblicza
objętość (lub pole dla 2 wym.)
pomiedzy sferami i+1 a i
volume=(4/3)*pi*((r(i+1))3-(ri)3)
lub
volume=2*pi*((r(i+1))2-(ri)2)
ri=i*step
Zadanie 13Zakładając, że funkcja radialna dana jest wyrażeniem g2(r )=exp[-u( r)/kB T}, gdzie T jest temperaturą, kB - stała Boltzma- nna a u( r) - potencjałem LJ, napisz program wyznaczający średnią wartość energii potencjalnej z równania
Obliczenia przeprowadź w 2 lub 3 wymiarach
Zadanie 14.Wykaż, że jeżeli wyrażenie na swobodną energię Helmholtza(lub równanie stanu) dane są równaniem wirialnym, kończącym się na 2 współczynniku wirialnym, to jest to jednoznaczne z założeniem, że funkcja radialna dana jaest wyrażeniem g2(r )=exp[-u( r)/kB T}
Top Related