Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00264 008601 10442128 na godz. na dobę w sumie
Symulacje komputerowe w fizyce - książka
Symulacje komputerowe w fizyce - książka
Autor: Liczba stron: 200
Wydawca: Helion Język publikacji: polski
ISBN: 83-7197-713-1 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> podręczniki szkolne >> książki okołoszkolne
Porównaj ceny (książka, ebook, audiobook).
Książka prezentuje algorytmy umożliwiające komputerowe symulowanie rozmaitych procesów fizycznych. Po przedstawieniu metody różnicowej rozwiązywania zwyczajnych równań różniczkowych, Autor pokazuje, w jaki sposób zastosować ją przy rozwiązywaniu konkretnych problemów fizycznych.

Opisano między innymi:

'Symulacje komputerowe w fizyce' to książka, którą powinni zainteresować się nie tylko fizycy: niektóre przedstawione tu algorytmy znajdują zastosowanie w aplikacjach CAD/CAM, a nawet przy tworzeniu gier komputerowych.
Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Symulacje komputerowe w fizyce Autor: Maciej Matyka ISBN: 83-7197-713-1 Format: B5, stron: 194 Zawiera CD-ROM Ksi¹¿ka prezentuje algorytmy umozliwiaj¹ce komputerowe symulowanie rozmaitych procesów fizycznych. Po przedstawieniu metody ró¿nicowej rozwi¹zywania zwyczajnych równañ ró¿niczkowych, Autor pokazuje, w jaki sposób zastosowæ j¹ przy rozwi¹zywaniu konkretnych problemów fizycznych. Opisano miêdzy innymi: • Symulowanie zjawisk mechaniki klasycznej w oparciu o prawa dynamiki Newtona • Rozwi¹zanie numeryczne równania falowego • Symulacje dynamiki cieczy nieġciġliwej • Rozwi¹zanie numeryczne równania Schrödingera „Symulacje komputerowe w fizyce” to ksi¹¿ka, któr¹ powinni zainteresowaæ siê nie tylko fizycy: niektóre przedstawione tu algorytmy znajduj¹ zastosowanie w aplikacjach CAD/CAM, a nawet przy tworzeniu gier komputerowych. IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Spis treści Wstęp ...................................................z............................................ 7 Rozdział 1. Schematy różnicowe rozwiązywania równań różniczkowych zwyczajnych.. 11 1.1. Równania różniczkowe zwyczajne i różnice skończone...........................................12 1.2. Równania różniczkowe zwyczajne i rachunek całkowy ...........................................13 1.2.1. Schemat różnicowy Eulera...................................................r..........................14 1.2.2. Rozwiązanie równania rozpadu promieniotwórczego........................................16 1.2.3. Metoda skokowa z wstępnymi obliczeniami Eulera ......................................19 1.2.4. Wahadło matematyczne ...................................................r..............................24 1.2.5. Punkt materialny przymocowany do sprężyny ..............................................32 1.3. Dokładniejsze metody wyznaczania rozwiązań równań różniczkowych .................38 1.3.1. Metoda punktu środkowego (ang. MidPoint) drugiego rzędu .......................38 1.3.2. Metoda Rungego-Kutty czwartego rzędu...................................................r....41 1.4. Zestawienie poznanych schematów rozwiązywania równań różniczkowych zwyczajnych...................................................r.....................43 1.5. Podsumowanie ...................................................r...................................................r....43 Rozdział 2. Dynamika według sir Isaaca Newtona............................................... 45 2.1. Rachunek wektorowy...................................................r.............................................45 2.1.1. Klasa Wektor...................................................r...............................................46 2.1.2. Operacje na wektorach ...................................................r................................47 2.1.3. Rachunek wektorowy — podsumowanie...................................................r....52 2.2. Zasady dynamiki Newtona...................................................r.....................................53 2.2.1. Pierwsza zasada dynamiki Newtona ...................................................r...........53 2.2.2. Druga zasada dynamiki Newtona...................................................r................54 2.2.3. Trzecia zasada dynamiki Newtona...................................................r..............54 2.3. Model fizyczny dynamiki układów punktów materialnych......................................54 2.3.1. Elementy składowe modelu..................................................r..........................55 2.4. Punkt materialny ...................................................r...................................................r.58 2.4.1. Przechowywanie danych. Lista jednokierunkowa .............................................58 2.4.2. Równania ruchu pojedynczego punktu materialnego ....................................61 2.5. Kolizje ...................................................r...................................................r.................65 2.5.1. Prosta metoda wykrywania kolizji punkt-ściana................................................65 2.5.2. Nieruchoma sfera kolizji ...................................................r.............................67 2.6. Oddziaływania między punktami materialnymi ...................................................r....75 2.6.1. Prawo powszechnego ciążenia ...................................................r....................75 2.6.2. Oddziaływanie sprężyste pary punktów...................................................r......77 2.7. Konstruowanie obiektów złożonych...................................................r.........................81 2.7.1. Model dwuwymiarowego sznura ...................................................r................81 2.7.2. Symulacja trójwymiarowych tkanin...................................................r............84 6 Symulacje komputerowe w fizyce 2.7.3. Konstrukcja bryły sztywnej...................................................r.........................85 2.7.4. Konstrukcja modelu poruszającej się postaci.................................................87 2.8. Podsumowanie ...................................................r...................................................r....90 Rozdział 3. Rozwiązanie numeryczne równania falowego ..................................... 91 3.1. Co to jest fala?...................................................r...................................................r.....91 3.2. Klasyczne równanie falowe ...................................................r...................................92 3.3. Równanie falowe w jednym wymiarze ...................................................r.....................92 3.3.1. Podział równania falowego na układ dwóch sprzężonych równań różniczkowych pierwszego rzędu ...................................................r...............93 3.3.2. Siatka różnicowa Eulera w jednym wymiarze ...............................................94 3.3.3. Rozwiązanie algorytmiczne układu równań sprzężonych................................94 3.3.4. Algorytm programu realizującego równanie falowe 1D ..................................96 3.3.5. Efekty działania przedstawionego algorytmu ..............................................101 3.4. Równanie falowe w dwóch i więcej wymiarach przestrzennych ..............................106 3.4.1. Siatka różnicowa Eulera w dwóch wymiarach.............................................106 3.4.2. Realizacja symulacji równania falowego w dwóch wymiarach...................110 3.5. Podsumowanie ...................................................r...................................................r..113 Rozdział 4. Symulacje cieczy nieściśliwej ...................................................z....... 117 4.1. Równanie Naviera-Stokesa dla cieczy nieściśliwej ................................................117 4.1.1. Warunek nieściśliwości cieczy...................................................r..................118 4.1.2. Pola wektorowe ...................................................r.........................................119 4.1.3. Analiza równania Naviera-Stokesa ...................................................r...........121 4.2. Rozwiązanie uproszczone równań NS ...................................................r....................124 4.2.1. Równanie płytkiej wody...................................................r............................124 4.2.2. Warunek zachowania masy ...................................................r.......................125 4.2.3. Końcowa postać równania dla płytkiej wody...............................................126 4.2.4. Przybliżenie dyskretne ...................................................r..............................126 4.2.5. Efekty działania...................................................r.........................................130 4.3. Pełne rozwiązanie równań NS dla cieczy nieściśliwej............................................132 4.3.1. Reprezentacja cieczy ...................................................r.................................133 4.3.2. Schematy różnicowe dla równania NS...................................................r......139 4.3.3. Warunki brzegowe ...................................................r....................................148 4.3.4. Algorytm programu...................................................r...................................152 4.3.5. Wizualizacja rezultatów obliczeń...................................................r..............165 4.4. Podsumowanie ...................................................r...................................................r..169 Rozdział 5. Równanie Schrödingera ...................................................z................ 171 5.1. Funkcja falowa — wektor stanu układu kwantowego ............................................171 5.2. Ewolucja w czasie stanu układu kwantowego ...................................................r.....172 5.3. Dyskretna postać operatora ewolucji w czasie...................................................r.....173 5.4. Schemat rozwiązania różnicowego ...................................................r......................174 5.5. Stan początkowy układu ...................................................r......................................175 5.6. Implementacja ...................................................r...................................................r...175 5.6.1. Algorytm programu...................................................r...................................176 5.6.2. Konstrukcja stanu początkowego...................................................r..............176 5.6.3. Pętla obliczeniowa...................................................r.....................................178 5.7. Rezultaty ...................................................r...................................................r...........180 5.8. Podsumowanie ...................................................r...................................................r..181 Bibliografia ...................................................z................................. 183 Skorowidz...................................................z................................... 189 Rozdział 5. Równanie Schrödingera Mechanika kwantowa jest bardzo zaawansowaną dziedziną fizyki współczesnej. Jej zrozumienie jest zadaniem na lata i czytelnik raczej nie znajdzie tu systematycznego wykładu z tej dziedziny. Postaramy się natomiast przedstawić kompletne rozwiązanie numeryczne równania Schrödingera1, którego interpretację fizyczną i analizę znajdzie czytelnik w wykładach z mechaniki kwantowej w pracach [18], [19], [20] czy [21]. W literaturze tematu, oprócz świetnej pozycji [19], raczej trudno znaleźć ciekawe wizu- alizacje efektów kwantowych. Rozwiązania zagadnień mechaniki kwantowej są trudne do wyobrażenia i sprzeczne z naszą intuicją. Zazwyczaj autorzy pozycji traktujących o MK poprzestają na ogromnej ilości wzorów, których piękno samo w sobie dostrzec można dopiero po latach wytężonej pracy. W tym rozdziale postaramy się przedstawić graficznie rozwiązania numeryczne równania Schrödingera w jednym i dwóch wymia- rach przestrzennych. Jak się okaże, numeryczne rozwiązywanie zagadnień mechaniki kwantowej nie jest niczym strasznym, a rezultaty są niesamowite i piękne. Wizualizacja rozwiązań będzie analogiczna do wizualizacji rozwiązań z rozdziału trzeciego; wszak rozwiązaniem naszym jest też fala... 5.1. Funkcja falowa — wektor stanu układu kwantowego Aby rozpocząć rozważania na temat rozwiązania numerycznego równania Schrödingera, musimy poznać niezbędne minimum wiedzy na jego temat, czyli określić, czego tak naprawdę szukamy. Jakich rozwiązań mamy się spodziewać? Jaką interpretację fizycz- ną mają rozwiązania tego równania? Odpowiedź na te pytania jest w zasadzie prosta, lecz interpretacja jej rozwiązań — już nie. Zagadnienie funkcji falowej w mechanice kwantowej ma bezpośredni związek z po- jęciem prawdopodobieństwa2. Weźmy pojedynczą cząstkę — elektron. W przypadku Na płycie CD została użyta pisownia nazwiska w forCmie Schroedinger. 1 2 Zakładamy, że pojęcie prawdopodobieństwa nie jest czCytelnikowi obce. 172 Symulacje komputerowe w fizyce klasycznym opisujemy go, podając jego położenie i pęd. W przypadku kwantowym — stan elektronu opisuje funkcja falowa zwana też często wektorem stanu. W takim razie nawet najprostszy układ, jakim jest pojedynczy elektron, musi mieć odpowiadającą mu funkcję falową Ψ . Skoro tak, to jaka jest funkcja falowa poruszającego się elek- tronu? Czy jest to po prostu punkt w płaszczyźnie dwuwymiarowej, który porusza się w określonym kierunku3? I tu pojawia się problem zwany nieoznaczonością Heisenberga. Niestety — nawet dla po- jedynczej cząstki kwantowej nie możemy jednoznacznie określić jednocześnie jej położe- nia i pędu. W takim razie funkcja falowa (zwana też wektorem w przestrzeni Hilberta sta- nu układu kwantowego) musi być „rozmyta” w przestrzeni. Funkcja falowa określa nam prawdopodobieństwo znalezienia elektronu w danym miejscu przestrzeni. Rozwiązując równanie Schrödingera zależne od czasu, dla każdego kroku czasowego otrzymamy roz- kład prawdopodobieństwa znalezienia cząsteczki w konkretnym miejscu w przestrzeni. Doskonale widoczne będzie też rozmywanie w czasie stanu układu, tak że wreszcie wska- zanie „gdzie znajduje się elektron w danym momencie” nie będzie możliwe. 5.2. Ewolucja w czasie stanu układu kwantowego Chcielibyśmy wprowadzić kilka standardowych pojęć występujących w mechanice kwantowej. Mamy nadzieję, że czytelnik nie zrazi się do tego, bo w gruncie rzeczy zostanie poprowadzony za rękę i nie powinien mieć problemów ze zrozumieniem tekstu. Ważna jest znajomość pewnych podstaw matematycznych (równanie cząstkowe, dzia- łania na liczbach zespolonych). Warto też, aby czytelnik zajrzał do wspomnianej we wstępie literatury tematu. Interesującym nas zagadnieniem jest ewolucja stanu układu kwantowego. Ewolucja w czasie opisywana jest przez równanie różniczkowe cząstkowe drugiego rzędu zwane równaniem Schrödingera z czasem: r ( , tr ) Ψ∂ i h ∂ t gdzie odpowiednio: )trH Ψ= ( r , (5.1) h =h π2 ( )tr , r Ψ jest stałą Plancka dzieloną przez π2 , jest wektorem (przestrzeni Hilberta) stanu układu kwawntowego, Cały czas mówić będziemy o reprezentacji położenioweCj funkcji falowej; z innymi reprezentacjami 3 stanu układów kwantowych czytelnik może zapoznać się Cwe wspomnianej literaturze. Rozdział 5. ♦ Równanie Schrödingera 173 H i jest hamiltonianem kwantowym układu (operatorem Hamiwltona), oznacza część urojoną liczby zespolonej (tu — część urojowną równania). Naszym zadaniem jest znaleźć ewolucję wektora stanu . Aby to zrobić, należy przede wszystkim rozwinąć hamiltonian do postaci jawnej. Dla swobodnej paczki falowej reprezentującej np. swobodny elektron hamiltonian zwapisujemy w postaci: ( )tr , rΨ H −= 2 +∇ r ( )rV 2 h 2 m (5.2) gdzie − 2 h 2 m 2 ∇ ( )rV r jest kwantowym operatorem pędu, a określa niezależny od czasu potencjał. Tak zdefiniowany hamiltonian, po podstawieniu do równania (5.1) i wprowadzeniu i m=1/2, sprowadza równanie (5.1) do postaci4: 1=h specjalnych jednostek, dla których ( ( , tr ) ( ) rV +∇−= (5.3) r ( )tr , Ψ∂ Ψ ) 2 r r i ∂ t Dla wprowadzonych jednostek ogólna postać rozwiązaniwa równania (5.3) jest znana: ( r , tr ) = e iHt − Ψ Ψ ( r r )0, (5.4) iHt e − nazywa się operatorem ewolucji czasowej, a wektor gdzie wyraz określa stan początkowy układu w chwili t=0. Oznacza to, że dla zadanego stanu początkowego możemy wyznaczyć stan układu w dowolnej chwili t 0, korzystając z operatora ewolu- cji czasowej. ( )0,r rΨ 5.3. Dyskretna postać operatora ewolucji w czasie Zadanie nasze w praktyce sprowadzi się do przybliżenia różnicowego operatora ewolucji czasowej oraz rozwiązania tak zadanego równania różniczkowego. Dyskretna postać tego operatora nadająca się do rozwiązania różnicowewgo nosi nazwę postaci Caleya: iHt − e ≈ 1 1 ∆− t iH 2/ ∆+ t iH 2/ (5.5) 4 Patrz pozycja [9], strona 851. Postępujemy tak jedynie dCla uproszczenia równania Schrödingera, które można byłoby rozwiązywać wraz z wszystkimi stałyCmi. Podejście takie stosuje się często w celu uproszczenia formy zapisu równań opisujących zCjawiska fizyczne. 174 Symulacje komputerowe w fizyce t∆ włącznie. Tak zdefiniowany operator Jest to przybliżenie funkcji GZR do wyrazu różnicowy jest unitarny, czyli zachowuje normę5 funkcji falowej. Jak przedstawiono w pracy [18], operator ewolucji czasowej po podstawienwiu hamiltonianu rozbić można na dwa wyrazy6: 2 ∆− t iH e = e −∇− i ( 2 ∆+ tV ) = e ∆−∇− t i ( 2 ∆− t iV ) e z których pierwszy wyraz zostanie przybliżony schematem (5.5). W takim układzie otrzymujemy kompletną reprezentację różnicową operatora ewolucji czasowej, którą zastosujemy w równaniu (5.4): r ( , tr ) Ψ = 1 1 i ( ∆+ t ( ∆− t i ) ∇ ) ∇ 2 2 2/ 2/ t ∆− iV e r ( r )0, Ψ (5.6) Postać tę wykorzystamy bezpośrednio w tej formie w rozwiązaniu różnicowym rów- nania Schrödingera. 5.4. Schemat rozwiązania różnicowego Równanie (5.6) rozwiążemy metodą iteracyjną Jacobiego, zwaczynając od postaci7: Ψ r ( , tr =∆+ t )     1 2 ( ∆− t i 2/ − 1   ⋅  ) ∇ 2 t ∆− iV e Ψ r ( )tr , (5.7) Równanie to jest tylko inaczej zapisanym (5.6) — wprowadźmy dla wygody nowe oznaczenie: ? =Ψ 2 ⋅ e ∆− t iV Ψ ( ∆− t i 1 2/ ) r ( , tr ) 2 ∇ Równanie (5.7) przyjmie teraz bardziej zwartą formę: ( r tr , Ψ −Ψ=∆+ t ? ) ∆− iV t e Ψ⋅ r ( )tr , (5.8) (5.9) O normie funkcji falowej powiemy więcej przy interpretacji otrzymanych rozwiązań, na razie czytelnik 5 powinien wiedzieć, że zachowanie normy funkcji falowCej jest niezbędne do otrzymania dobrych (fizycznych) rozwiązań. 6 7 We wzorach różnicowych nie będziemy już wpisywać jawnie zależności funkcji od zmiennych. Metodę tę zaproponował dr G. Jastrzębski w pozycji [18]. Rozdział 5. ♦ Równanie Schrödingera 175 Naszym zadaniem jest rozwiązanie zagadnienia dla nieznanej funkcji nej wzorem (5.8). Bezpośrednio z (5.8) rozwiązanie na funkcję iteracyjnym8: ?Ψ zdefiniowa- ?Ψ zapisujemy wzorem 2 ⋅=Ψ ? n 1 + e t ∆− iV r ( , tr ) Ψ ? Ψ∇⋅∆⋅+ n i t 2 (5.10) 2∇ przybliżamy odpowiednio wzorem pięcio- lub dziewięciopunktowym, gdzie operator w zależności od rozmiarów siatki w poziomie i w pionie9. Indeks dolny n/n+1 oznacza w tym kontekście przynależność do kroku iteracyjnego. Za warunek startowy iteracji przyjmujemy10 . Ilość iteracji ma bezpośredni wpływ z jednej strony na czas rozwiązania, z drugiej — na jego dokładność. =Ψ 0 0 ? 5.5. Stan początkowy układu W prezentowanym programie jako warunek początkowy wybraliśmy zgodnie z su- gestią w [4] dobrze określony fizycznie stan gaussowski unormowany, który zapisać możemy wzorem: Ψ ), ,( tyx = Ne ( −− x ( px 2)^ ( −− y py ) 2^ ikx − ) (5.11) gdzie N jest stałą normalizacyjną dla tego stanu. Tak zapisany stan układu wyznacza gaussian o wektorze falowym k. 5.6. Implementacja Teoretyczne wyprowadzenie schematu rozwiązania równania (5.1) było niezbędne i choć w tym momencie może wydawać się dosyć skomplikowane, to mając tak wprowadzoną teorię, sprowadzamy implementację do zastosowania kilku podstawowych zasad. Chodzi głównie o operacje na liczbach zespolonych oraz zastosowanie siatki różnicowej do reprezentacji stanu układu kwantowego. Siatkę różnicową potrafimy już dobrze określić (rozdziały 3., 4.). W tym przypadku na siatce różnicowej umieszczamy w centrum warto- ści funkcji falowej Ψ określającej stan układu kwantowego. Różnicą w stosunku do przedstawionych w poprzednich rozdziałach siatek różnicowych będzie to, iż siatka w naszym przypadku będzie zespolona. Do stworzenia siatki użyjemy konstrukcji EQORNGZ z biblioteki standardowej11 C++. Deklaracja siatki różnicowej o danych zespolonych, wielkości 0: na 0;, reprezentującej funkcję falową RUK, przyjmie następującą postać: EQORNGZFQWDNG RUK=0:?=0;? Patrz pozycje [18], [11]. 8 9 Zagadnienia przybliżania operatora Laplace’a na siatkach różnicowych były już dyskutowane w rozdziale 3. 10 Taki start iteracji zaproponowany został w pozycji [11]. 11 Użycie gotowego szablonu dla danych zespolonych bardzo uprości kod programu. 176 Symulacje komputerowe w fizyce Zapisany w nawiasach trójkątnych typ danych określa, jak zapisane będą odpowiednio część rzeczywista i część urojona liczby zespolonej. Użycwie standardowego typu danych pozwoli nam korzystać z własności liczb zespolonych bez wprowadzania dodatkowych definicji metod i operatorów12. Wizualizacja danych przebiegać będzie analogicznie do tej znanej już z równania falo- wego. Dla każdego kroku czasowego13 rysujemy rozkład funkcji Ψ wychyleń w trzech wymiarach przestrzennych. Zagadnieniem wizualizacji nie będziemy się więc bliżej zajmować, bo było to już omawiane w rozdziale 3. 5.6.1. Algorytm programu Dalej w znanej już formie diagramu przedstawiamy na rysunku 5.1 propozycję sche- matu ogólnego działania programu rozwiązującego numerycznie równanie Schröd- ingera. Algorytm nie jest zbyt złożony i jak się okaże, przełożenie kolejnych punktów na kod programu nie stanowi większego problemu, szczególnie jeśli wykorzystujemy dobrze napisaną klasę liczb zespolonych (a taką niewątpliwie jest klasa z biblioteki standardowej C++). W przedstawionym algorytmie zapisaliśmy w nawiasach równania, z których będziemy korzystać przy kolejnych częściach kroku czasowego. Jak widać, zagadnienie spro- wadza się do zastosowania tylko trzech wzorów, którew wyprowadziliśmy wcześniej. 5.6.2. Konstrukcja stanu początkowego Zgodnie z wzorem (5.11) konstruujemy stan początkowy, wpisując odpowiednie warto- ści funkcji Ψ w siatkę różnicową. Niech stan początkowy wyznaczy paczka falowa o sze- rokości FQWDNG  52CEMK, w pozycji KPV  RZ R[ na siatce. Korzystając z tego, że istnieje w bibliotece standardowej funkcja GZR ENCUUEQORNGZ6 , wyliczenie funkcji GZR we wzorze (5.11) nie jest trudne i sprowadza się do kiwlku wierszy kodu w C++. Korzystamy bezpośrednio ze wzoru (5.11), pamiętając o współczynniku normalizacyj- nym (tu — 52CEMK@): FQWDNGGZRAYGZRAY HQT LL0;L ] GZRAYRQY LŌ52CEMKŌR[ RKGTYUCEúħèY[MđCFPKMCGYWQTW  HQT KK0:K ] GZRAYRQY KŌ52CEMKŌRZ FTWICEúħèY[MđCFPKMC GZRAY ŌGZRAYŌGZRAY RQY 52CEMK UWOCKPQTOQYCPKG RUKAV=K?=L?GZR EQORNGZFQWDNG GZRAYK  _ _ 12 13 Zakładamy, że czytelnik zna pojęcie liczby zespolonejC. Przypominamy, że w rozdziale tym zajmujemy się tylko Cprzypadkiem dwuwymiarowym. Rozdział 5. ♦ Równanie Schrödingera 177 Rysunek 5.1. Algorytm działania programu Schrödinger (rysunek znajduje się na płycie CD) Ustal warunki początkowe, inicjuj tablice oraz stałe. Wyznacz stan początkowy (11) 0Ψ Wyznacz procedurą iteracyjną Jacobiego (10). ?Ψ Wyznacz korzystając z (9) Ψ Warunki brzegowe tak Wizualizuj dane. Rozwiązanie nadal interesujące? nie KONIEC Widać, że przedstawiony schemat konstrukcji stanu początkowego nie jest złożony. Dużym ułatwieniem było tu wykorzystanie standardowej biblioteki C++ i funkcji GZR zdefiniowanej dla klasy liczb zespolonych. Na rysunku 5.2 przedstawiamy stan począt- kowy przykładowej paczki falowej. Rysunek 5.2 przedstawia stan określony parametrami: 52CEMK0:UGTQMQħèRCEMK RZRQ[ELCZ R[RQ[ELC[ gdzie 0: oznacza liczbę komórek na siatce w kierunku osi X (w tym konkretnym przy- padku — 70). 178 Symulacje komputerowe w fizyce Rysunek 5.2. Przykładowy stan początkowy układu (rysunek znajduje się na płycie CD) 5.6.3. Pętla obliczeniowa Zgodnie z algorytmem z rysunku 5.1 pętlę obliczeniową zaczynamy od wyznaczenia nieznanej funkcji ?Ψ . W osobnej tablicy (NCI przechowywać będziemy informacje o potencjale w przestrzeni. Przy założeniu, że potencjał może być albo zerowy, albo mieć stałą wartość niezależną . od czasu, wystarczy pamiętać flagi — czy potencjał jest zerowy, czy też wynosi Załóżmy, że w pierwszym kroku algorytmu komórki, w których wyróżniliśmy poten- cjał, mają ustawioną flagę A$0 . Ustawiona flaga A$0 w danej komórce oznacza, że w tym miejscu potencjał jest niezerowy. Oznacza two, że wyraz GZR ŌX FV jest stały w trakcie działania symulacji, dlatego możemy wyliczyć go wcześniej i używać bez dokonywania powtórnych obliczeń. Wyznaczmy zatem zeswpoloną liczbę e t ∆− : e ∆− iV t iV GZRAXFVGZR EQORNGZFQWDNG Ō 6 X  Działanie operatora GZRAXFV ∆− iV t e sprowadzi się w naszym przypadku do wymnożenia przez Schemat (5.10) podzielimy na dwie części. Najpierw wymnóżmy komórki odpowiednio przez 2, jeśli komórka ma potencjał równy 0, lub przez wyliczoną (i podwojoną) wcze- śniej wartość  GZRAXFV, jeśli komórka jest typu A$0 (potencjał niezerowy). Zadanie to realizuje podany kod14, w którym stosujemy oznaczenia: psi _ Ψ≡t Ψ≡psi ? HQT KK0:ŌK HQT LL0;ŌL KH (NCI=K?=L? A$0 X! RUKAV=K?=L? FQWDNG  GZRAXFV RUKAV=K?=L? GNUG RUKAV=K?=L? FQWDNG  RUKAV=K?=L? 14 Jawna konwersja zwykłych liczb na typ FQWDNG spowodowana jest istnieniem przeciążonych operatorów tylko dla liczb, przez które sparametryzowanCy został typ EQORNGZ. Rozdział 5. ♦ Równanie Schrödingera 179 Kolejnym krokiem jest właściwa procedura iteracyjna, która dzięki wcześniejszemu wymnożeniu funkcji RUKAV przez odpowiednie stałe staje się o wiele prostsza. Proce- durę tę wykonujemy +NQUE+VGTCELK razy — każdą iterację dwukrotnie, raz zwiększając, raz zmniejszając indeksy tablicy15: HQT NN+NQUE+VGTCELKN ] HQT KK0:ŌK HQT LL0;ŌL ] NCRN RUK=K ?=L? RUK=KŌ?=L? RUK=K?=LŌ? RUK=K?=L ?Ō å FQWDNG  RUK=K?=L?  RUK=K?=L?RUKAV=K?=L?  FQWDNG 6 EAK WNCRN _ HQT K0:ŌK KŌŌ HQT L0;ŌL LŌŌ ] NCRN RUK=K ?=L? RUK=KŌ?=L? RUK=K?=LŌ? RUK=K?=L ?Ō å FQWDNG  RUK=K?=L?  RUK=K?=L?RUKAV=K?=L?  FQWDNG 6 EAK WNCRN _ _ Uważny czytelnik na pewno zauważył, że do przybliżenia operatora Laplace’a użyliśmy wzoru pięciopunktowego, wprowadzonego już w rozdziale 3. W omówionej procedurze iteracyjnej zastosowaliśmy również oznaczenie EAK dla urojonego i jako: EQORNGZFQWDNG EAK  RQRTQUVWK Dzięki wprowadzeniu urojonego i mogliśmy bezpośrednio we wzorze (5.10) wykonać mnożenie16 Ψ∇⋅∆⋅ . 2 i t ? n Kolejną częścią kroku czasowego jest bezpośrednie wyznaczenie rozkładu funkcji falo- wej Ψ , czego dokonujemy za pomocą prostego schematu (5.9), pamiętając o podzie- leniu RUKAV przez 2, przez które zostało pomnożone przed pierwszwą iteracją: HQT KK0:ŌK HQT LL0;ŌL RUKAV=K?=L?RUK=K?=L?ŌRUKAV=K?=L? FQWDNG  Ostatni krok przedstawionego algorytmu, którym się zajmiemy, to warunki brzegowe rozwiązania. Dla naszych potrzeb prostych stanów początkowych układu załóżmy ze- rowanie funkcji falowej na brzegach, czemu odpowiadwa prosta pętla zerująca: HQT KK0:K RUKAV=K?=?RUKAV=K?=0;?EQORNGZFQWDNG   HQT LL0;L RUKAV=?=L?RUKAV=0:?=L?EQORNGZFQWDNG   15 Ilość iteracji rzędu 10 na siatkach rozmiaru 70×70 i o kroku czasowym 6=0.05 daje już zadowalające rezultaty. 16 W miejscach takich jak to nie sposób nie zauważyć, jak wspaniałym narzędziem okazuje się C++ i jego obiektowość. 180 Symulacje komputerowe w fizyce 5.7. Rezultaty Przedstawione rezultaty działania programu Schrödinger są zrzutami z ekranu działa- jącej w czasie rzeczywistym animacji. Do wizualizacji wykorzystano stworzone wcze- śniej na potrzeby programu Waves procedury OpenGL i Fox. Na rysunku 5.3 przedstawiamy jeden z fundamentalnych efektów kwantowych, czyli przejście przez barierę potencjału. Rysunek 5.3. Przejście paczki falowej przez barierę potencjału (rysunek znajduje się na płycie CD) Na przedstawionym rysunku uwidoczniono, że paczka falowa dzieli się na dwie paczki o mniejszej amplitudzie i przeciwnych wektorach falowych. Interesującym efektem jest to, że część paczki falowej, która przeszła przez bariewrę, jest gładsza od części odbitej. Sytuacja przedstawiona na rysunku 5.3 nie ma odpowiednika w mechanice klasycznej. Klasycznie bowiem cząstka albo przejdzie przez barierę potencjału (np. ścianę), albo nie przejdzie. Kwantowo rozpatrujemy tylko prawdopodobieństwo przejścia przez barierę. Dlatego niekiedy mówi się, że elektron może być w dwóch miejscach jednocześnie. Niektórzy uważają nawet, że jest w dwóch miejscach jedwnocześnie. Na rysunku 5.4 przedstawiamy rozbicie gaussowskiej paczki falowej na potencjale w kształcie trójkątnego klinu. Ciekawe efekty, które można wyczytać z tych rysunków, to m.in. charakterystyczne spiętrzanie grzbietów fal prawdopodobieństwa w początkowym Rozdział 5. ♦ Równanie Schrödingera 181 etapie symulacji oraz podział paczki na dwie równe części. Na tym rysunku uwidocz- niono, że na dalszych etapach symulacji wiemy o rozwiązaniu coraz mniej — funk- cja falowa ma teraz przebieg o wiele łagodniejszy, co oznacza, że trudno określić, gdzie znajduje się nasz elektron. Rysunek 5.4. Rozcięcie paczki falowej na trójkątnym klinie (rysunek znajduje się na płycie CD) Ostatnim przykładem, który zaprezentujemy, jest przejście wzajemne dwóch paczek falowych przez siebie (rysunek 5.5). Obie paczki falowe mają te same parametry po- czątkowe (amplituda, rozmiary) i przeciwnie skierowanwe wektory falowe. 5.8. Podsumowanie W tym rozdziale czytelnik zapoznał się ze schematem rozwiązania numerycznego równania Schrödingera. Zastosowane tu schematy różnicowe zdają się być wystar- czające do zaobserwowania ciekawych efektów kwantowych. Istnieje duża dowolność w stosowaniu przedstawionej metody — można próbować dowolnych kształtów i wiel- kości potencjałów. Stan początkowy nie musi być przedstawiony funkcją Gaussa. Moż- na też stosować hamiltonian inny niż dla cząsteczki swobodnej. Rezultaty uzyskane po wprowadzeniu hamiltonianu oscylatora harmonicznego w dwóch wymiarach do 182 Symulacje komputerowe w fizyce Rysunek 5.5. Rozpraszanie wzajemne dwóch paczek falowych (rysunek znajduje się na płycie CD) przedstawionego algorytmu zdają się potwierdzać, że przedstawiona metoda rozwią- zania numerycznego, mimo że prosta, jest dosyć ogólna i ma szerokie zastosowanie, dlatego zachęcamy czytelnika do samodzielnego rozwiwjania omawianego programu.
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Symulacje komputerowe w fizyce
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: