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 + 21 − 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“.

Podobne dokumenty