Projekt C 6.8 Solitony 2D „sinus – Gordona”
Transkrypt
Projekt C 6.8 Solitony 2D „sinus – Gordona”
Projekt C 6.8 Solitony 2D „sinus – Gordona” Wstęp. O ciekawym zjawisku z działu fizyki nieliniowej i fizyki fal - solitonach jest mowa w projekcie B3.1. Rozwiązany jest tam problem jedno-wymiarowy. W tym projekcie zadaniem jest zasymulowanie propagacji solitonu dwuwymiarowego opisanego równaniem sinus Gordona (sine – Gordon equations- sG) . Równanie to pochodzi z teorii pola, i ma postać: ∂ 2u ∂ 2u ∂ 2u = sin u − + (1) ∂x 2 ∂y 2 ∂t 2 Może ono opisywać między innymi tunelowanie par Coopera przez złącze Josephsona . Algorytm: Przyjmijmy kwadratowy obszar obliczeń S(x,y), x∈(-x0,x0), y∈(-x0,x0), oraz czas t>0 Na tym obszarze zdefiniujmy siatkę NxN punktów. Krok siatki: ∆ = 2x0/(N-1). Współrzędne punktów na siatce. x = m ∆, y = k ∆, t = n δ, gdzie δ - krok czasowy. (2) k = 1,2...N, m=1,2....N Wprowadźmy oznaczenie: u( x, y, t) = u( m∆, k∆, nδ) = unmk (3) Dyskretyzacja drugiej pochodnej po zmiennych przestrzennych: n n n n n n n ∂ 2 u mk ∂ 2 u mk u mk −1 + u mk +1 − 4u mk + u m −1k + u m +1k + = + O(∆4 ) (4) 2 2 2 ∂x ∂y ∆ Po zmiennej czasowej: ∂ 2 u n u n +1 + u n−1 − 2u n = + O(δ 4 ) 2 2 ∂t δ 2 n n +1 n n −1 2 ∂ u + O(δ 4 ) stąd u = 2u − u + δ 2 ∂t Z kolei z równania (1) mamy: n ∂ 2u n ∂ 2u n ∂ 2u = + − sin u n 2 2 2 ∂t ∂x ∂y po połączeniu (4), (5) i (6): 2 2 δ n δ n n +1 n −1 n n u mk = −u mk + 21 − 2 u mk + (u m−1k + u mn +1k + u mk −1 + u mk +1 ) − ∆ ∆ n n δ 2 sin(u mn −1k + u mn +1k + u mk −1 + u mk +1 ) I jest to gotowe do obliczeń równanie. Pozostaje problem warunków brzegowych. (5) (6) (7) 1. Warunek początkowy kształt początkowy: u0 , prędkość początkowa ∂u 0 ∂t 2. Warunek na brzegu obszaru: wartości funkcji : u | n , lub pochodnych prostopadłych do brzegu ∂u/∂n Cel pracy: 1. Napisać program symulujący propagację solitonu. Przyjąć ∆ = 2 δ - dobra stabilność, łatwiejsza implementacja ( przekształcić (7)!) warunki brzegowe: ∂u n n n n n = u mN = 0 u mn 0 = u mn 1 , u 0nk = u1nk , u mN −1 , u Nk = u N −1k . ∂n Program powinien mieć możliwość wyboru funkcji rozkładu początkowego. 0 ∂u 0 Przyjąć = 0 u 1mk = u mk ∂t 2. Przebadać zachowanie dla warunków początkowych: a) u0 = 4 arctan exp( x 2 + y 2 ) exp x + exp y b) u0 = 4 arctan 1 + exp( x + y ) - zachowanie kształtu Należy narysować kształt solitonu dla n=0, 10, 20, 50. Można wykorzystać takie narzędzia jak surfer czy gnuplot, lub samemu zrobić interfejs graficzny. 1 ∂u ∂u 2 1 ∂u 2 n - zachowanie energii E = Ep + Ek = ∫ dxdy + + − cos u 2 ∂x ∂y 2 ∂t S Całkę zamieniamy na sumę: 2 n n n n n −1 n +1 2 N N − u mk 1 u mk 1 u mk +1 + u m +1k − u mk −1 − u m−1k n n E = ∑∑ − cos u mk + 2∆ 2 2δ l =1 m =1 2 Przy czym pochodne przybliżone zostały przez: n ∂u ∂x 2 n n n n + − − u u u u ∂u 1 1 1 1 mk + m + k mk − m − k = + 2∆ ∂y xm , yk 2 n xm , yk n −1 n +1 2 ∂u n u mk − u mk = 2δ ∂t xm, yk Energię solitonu w kroku n-tym liczymy po obliczeniach w kroku n+1 ! 2 Literatura: [1] R. H. Landau, M. J. Perez „Computational Physics Problem solving with computers“.