Professional Documents
Culture Documents
2 Charakterystyka problemu 2
3 Program pinball.m 7
5 Podsumowanie 10
1 Wstęp
Chaos deterministyczny rozumiemy jako ruch nieregularny, którego prawa
dynamiki jednoznacznie określają ewolucję stanu układu w czasie, gdy znana
jest jego wcześniejsza historia. W ostatnich latach—dzięki nowym wynikom
teoretycznym, dostępności komputerów o dużej mocy obliczeniowej oraz wyra-
finowanym technikom eksperymentalnym—stało się jasne, że zjawisko to wys-
tępuje powszechnie w przyrodzie i pociąga za sobą daleko idące konsekwencje
w wielu dziedzinach nauki.
Jakie są te konsekwencje? W wielu przypadkach znamy już odpowiedź,
wciąż jednak więcej jest nurtujących pytań. Temat mojej pracy nawiązuje
do problemu transportu elektronowego w sieciach antykropkowych, który w
fizyce półprzewodników zrodził się wiele lat temu, i jest punktem wyjścia
dla badań prowadzących do formułowania odpowiedzi na wyżej postawione
pytanie. Moim zadaniem było napisanie programu służącego do symulacji
transportu balistycznego elektronów w gazie 2DEG przy stałym polu mag-
netycznym.
W kolejnym rozdziale opiszę struktury fizyczne, w których obserwujemy
omawiany proces i prowadzone na nich doświadczenia. Jako że „między
duchem i materią pośredniczy matematyka”1 , przybliżę dynamikę zjawiska
przy pomocy jej narzędzi. W ostatnim rozdziale zaprezentuję działanie napi-
sanego przeze mnie programu i podzielę się spostrzeżeniami na temat uzy-
skanych wyników.
1
Cytuję H.D. Steinhausa.
1
2 Charakterystyka problemu
Fizyczną strukturą, w jakiej zrodził się problem, do którego nawiązuje temat
mojej pracy jest tzw. sieć antykropkowa. Pokrótce opiszę sposób jej wyt-
warzania i właściwości.
Matryce antykropkowe sporządza się zazwyczaj w wysokiej jakości het-
erostrukturach GaAs/AlGaAs zawierających dwuwymiarowy gaz elektronowy
(2DEG) w płaszczyźnie pomiędzy GaAs i AlGaAs. Elektrony są uwięzione
w studni potencjału pasma przewodnictwa, a ich ruch jest skwantowany w
kierunku prostopadłym do powierzchni warstw heterozłącza (oś z). Powoduje
to dyskretyzację poziomów energii. Elektrony obsadzają najniższy poziom, w
wyniku czego ich ruch w kierunku wzrostu warstw epitaksjalnych jest zabro-
niony, natomiast mogą poruszać się swobodnie po powierzchni (w kierunku x i
y). Następnie stosując techniki litograficzne i techniki trawienia powierzchni
wytwarza się sieć zagłębień o rozmiarach rzędu nanometra w międzypła-
szczyźnie heterozłącza (patrz rys. 1).
wiązka elektronów
GaAs
AlGaAs
2DEG
a
2
Dla niskich temperatur w tak wytworzonej strukturze transport elek-
tronowy w 2DEG jest transportem balistycznym.
y
x
3
sposób ciągły w przestrzeni i prostopadłej w punktach styczności do wek-
torów prędkości kul. Zakładam, że początkowa krzywizna (t=0) jest równa
zeru, tj. front falowy jest odcinkiem prostej. Każde odbicie infinitezymalnego
odcinka frontu falowego δγ od antykropki zwiększa jego krzywiznę według
wzoru (wyprowadzonego później)
2
κ0 = κ + , (1)
r cos ϕ
gdzie κ i κ0 są krzywizną δγ odpowiednio przed i po odbiciu, r to promień
antykropki a ϕ — kąt padania odcinka δγ na antykropkę (kąt pomiędzy
wektorem prędkości a wektorem normalnym antykropki w miejscu odbicia).
Ponieważ zawsze zachodzi ϕ ¬ π/2 to dla każdego odbicia zachodzi
κ0 > κ, (2)
4
Pokazałam tym samym, że obecność dodatkowego przesunięcia nie zmienia
faktu, że zależność czasowa krzywizny κ(t) frontu falowego pomiędzy odbi-
ciami jest w naszym modelu taka sama, jak w klasycznym bilardzie:
κ(t0 )
κ(t) = . (3)
1 + κ(t0 )v(t − t0 )
Dla t → ∞ krzywizna frontu falowego dąży do zera. Wynika z tego, że
rozbieżność wykładnicza orbit wymaga dostatecznie częstych zderzeń z an-
tykropkami (wrócę do tego problemu później).
Powrócę teraz do wzoru (1) i podam jego dowód. Załóżmy, że na an-
tykropkę o promieniu r pada pod kątem ϕ inifinitezymalny odcinek frontu
falowego δγ będący łukiem o promieniu krzywizny d. Rozważam odbicie
dwóch kul 1 i 2 znajdujących się na przeciwległych końca łuku δγ i odd-
alonych od siebie o bardzo małą długość kątową δα. Kąt pomiędzy wektorami
ich prędkości ~v1 i ~v2 przed odbiciem jest równy właśnie δα. Po odbiciu, nowe
wektory prędkości ~v10 i ~v20 utworzą kąt 2δθ + δα, gdzie δθ jest kątem, jaki
utworzą na obwodzie antykropki miejsca odbicia obu kul. Przybliżając po
odbiciu kształt frontu falowego zawartego pomiędzy kulami 1 i 2 kolejnym
łukiem δγ 0 , dostaję związek pomiędzy promieniami krzywizny łuków:
v20
~ δθ
C r
A
B
~v10 δα
~
v2
~
v1
5
AB a AC jest równy π/2. Długość odcinka AB jest w przybliżeniu równa dδα,
a odcinka BC — rδθ. Otrzymuję więc zależność, pozwalającą na wyznaczenie
kąta δθ:
dδα
δθ = .
r cos ϕ
Podstawiając tę zależność do wzoru (4) i zastępując promienie d i d0 ich
odwrotnościami, otrzymuję wzór (1).
Rozstrzygającym dowodem chaotyczności badanego układu jest obserwa-
cja, że na ogół (poza szczególną klasą parametrów układu) zbiór trajektorii
wybiegających z brzegu obszaru Q i nie zawierających żadnych zderzeń z an-
tykropkami jest miary 0. Pominięta przeze mnie szczególna klasa parametrów,
dla których to nie jest prawdą, zawiera na przykład układy, w których pro-
mień cyklotronowy jest mniejszy od minimalnej odległości brzegu antykropki
od brzegu bilardu — oczywiste jest wówczas, że żadna trajektoria nie zahaczy
o brzeg antykropki.
Jeżeli natomiast wspomniany zbiór trajektorii o zerowej ilości zderzeń z
antykropkami (oznaczę ten zbiór przez T0 ) jest miary 0, to takiej samej miary
jest również trajektorii zawierające skończoną ilość zderzeń z antykropkami.
Udowodnię ten fakt następująco: załóżmy, że istnieje zbiór Tn trajektorii za-
wierających n < ∞ zderzeń z antykropkami. Oczywiste jest, że część t0 każdej
trajektorii t ∈ Tn , następująca po wszystkich n zderzeniach, musi zawierać
zderzenia z brzegiem obszaru Q — inaczej jej dalsza trajektoria musiałaby
być krzywą zamkniętą (okręgiem), co prowadziłoby do sprzeczności (jeżeli w
chwilach t > t0 orbita była krzywą zamkniętą, to musiało tak być również
w chwilach t < t0 ). Niech t00 będzie częścią trajektorii t0 , zaczynającą się od
pierwszego zderzenia z brzegiem obszaru Q. Nie zawiera ona żadnych zderzeń
z antykropkami (te nastąpiły w części trajektorii t poprzedzającej t00 ), należy
więc do zbioru T0 . Ponieważ zachodzi to dla każdej trajektorii t należącej
do zbioru Tn o niezerowej mierze, trajektorie t00 tworzą podzbiór zbioru T0
o również niezerowej mierze, co prowadzi do sprzeczności. Miara zbioru Tn
musi być więc zerowa. Zbiór wszystkich trajektorii zawierających skończoną
ilość zderzeń z antykropkami jest sumą przeliczalną zbiorów Tn . Jego miara
jest zatem równa zeru, co było do okazania.
Udowodniłam, że prawie wszystkie trajektorie wybiegające z brzegu ob-
szaru Q zawierają nieskończenie wiele zderzeń z antykropkami. Każde zderze-
nie z antykropką pod kątem ϕ rozsuwa dwie trajektorie oddzielone od siebie
o kąt δα o dodatkowy kąt
2δα
∆(δα) = (5)
rκ cos ϕ
gdzie κ jest krzywizną frontu falowego przed odbiciem, wziętą w punkcie
6
przecięcia go przez trajektorie. Powyższa zależność wynika z wyprowadzenia
wzoru (1). Z kolei lot swobodny nie zmienia odległości kątowych sąsiadują-
cych trajektorii (krzywizna frontu falowego zmniejsza się wskutek zwiększa-
nia się jego rozmiarów liniowych). Oznacza to, że prawie każde dwie trajek-
torie, wychodzące z tego samego punktu na brzegu obszaru Q i rozdzielone
o dowolnie mały kąt δα, po dostatecznie długim czasie będą rozdzielone o
kąt tak duży, że zaczną się odbijać od różnych antykropek. Z tego wynika,
że mamy do czynienia z wykładniczym rozbieganiem się prawie wszystkich
trajektorii. Warto również zauważyć, że równanie (5) jest równoważne z
∆(δα)
∝ δα,
∆t
co jest naocznym dowodem wykładniczej zależności δα od czasu. Model anal-
izowany przeze mnie charakteryzuje się więc dodatnim wykładnikiem La-
punowa.
3 Program pinball.m
Program pinball.m służący do wykonywania symulacji chaotycznego ruchu
elektronu w sieci antykropkowej z prostopadłym polem magnetycznym napisa-
łam w programie „Matlab” (patrz załącznik A).
Po wywołaniu programu pojawia się okno dialogowe, w którym możemy
zadać wartości różnych parametrów układu, jak rozmiar sieci, odległości
miedzy kropkami, promień antykropki, promień cyklotronowy i maksymalna
liczba wykonanych odbić. Wartości odpowiadające rozmiarowi drenu i punktu
startowego elektronu ustalone są w kodzie programu.
Po wprowadzeniu odpowiednich danych do okienka dialogowego (rys. 4)
otrzymujemy wygenerowany przez program obraz trajektorii ruchu elektronu
(patrz rys. 5).
Wpisując w oknie interaktywnym programu „Matlab” polecenie
„>> movie(P)” można obejrzeć ruch elektronu w kolejnych klatkach.
W trakcie działania programu w rogu okna graficznego wypisywany jest
numer kolejnego odbicia.
Jeśli trajektoria elektonu tworzy orbitę przyszpiloną, program wyświetli
odpowiedni komunikat.
7
Rysunek 4: Okienko dialogowe programu pinball.m
lardzie elektronowym.
Zaprojektowałam matrycę o wymiarach 7×7, której stosunek średnicy an-
tykropki do stałej sieci wynosił 0,2. Promień cyklotronowy był równy połowie
stałej sieci. Założyłam, że elektron wpada do sieci otworem usytuowanym w
10% wysokości ściany. Na przeciwległej ścianie znajduje się dren. Jego sze-
rokość stanowi 20% całej ściany. Elektron wydostanie się z sieci uderzając
w dowolne jego miejsce. Budowę sieci widać na zdjęciach zamieszczonych w
niniejszym rozdziale.
Pierwszym pomysłem było zbadanie, jak zależy liczba odbić cząstki od
położenia punktu startowego cząstki. W tym celu zmieniałam miejsce wejścia
elektronu do sieci wzdłuż pionowej ściany (co ok. 1% wysokości ściany), a
następnie sporządziłam wykres zależności liczby odbić od punktu startowego
cząstki (patrz rys. 6).
Na wykresie widać regularnie powtarzające się odcinki o zerowej licz-
bie odbić (dla orbit przyszpilonych), które przechodzą w lokalne maksima.
Po położeniu tych maksimów można wnioskować, że cząstka wykonała na-
jwięcej odbić, gdy jej punkt startowy leżał dokładnie naprzeciw centrum kole-
jnych antykropek. Ponadto wykres jest symetryczny względem środkowego,
największego piku, a wysokość maksimów wpisuje się w naniesiony na wykres
rozkład Gaussa. Ta ostatnia obserwacja może wydać się zaskakująca z uwagi
na postulowaną chaotyczność ruchu cząstki. Być może jej wyjaśnieniem jest
fakt, że cząstka tak skonstruowanej strukturze najszybciej przemieszcza się
w kierunku drenu odbijając się od jej ścian. Ich odległość od antykropek jest
8
50
45
40
35
30
25
20
15
10
−5
−10 0 10 20 30 40 50
70
60
50
40
30
20
10
−10 0 10 20 30 40 50 60 70
znaczna (bliska stałej sieci) i cząstka może wędrować wzdłuż nich po cyk-
loidzie. W momencie, kiedy zaczyna swoją wędrówkę od zderzenia z jedną z
antykropek w środkowym rzędzie matrycy, do ścian dostać się jej najtrud-
niej. Skonstruowałam więc wnękę, w której ściany są tak blisko antykropek,
że „generują” dużo odbić. Tym razem nie udało mi się znaleźć podobnej
prawidłowości, co w pewnym stopniu potwierdziło moje przypuszczenie na
temat jej źródła.
W następnej kolejności zbadałam, jak liczba odbić zależy od wielkości
promienia cyklotronowego. Na załączonym wykresie widać, jak cząstka po-
9
300
250
200
liczba odbic
150
100
50
0
0 100 200 300 400 500 600 700
punkt startowy na osi y matrycy
5 Podsumowanie
Napisałam program służący do wykonywania symulacji ruchu elektronu w
sieci antykropkowej z polem magnetycznym, rozpatrując zjawisko z punktu
widzenia mechaniki klasycznej.
Realizując temat mojej pracy zaznajomiłam się z ciekawymi zagadnieni-
10
1000
900
800
700
600
liczba odbic
500
400
300
200
100
0
0 50 100 150 200 250 300
promien cyklotronowy Rc
3000
2500
2000
liczba odbic
1500
1000
500
0
0 10 20 30 40 50
promien antykropki
11
A Kod źródłowy programu pinball.m
clear all
def={’10’,’7’,’1’,’5’,’300’};
qstn={’Odleglosc miedzy kropkami:’,’Rozmiar sieci nxn (Podaj n):’,...
’Promien kropki:’,’Promien cyklotronowy:’,’Liczba wykonanych odbi:’};
titl=’Dane’;
il_ln=1;
a=inputdlg(qstn,titl,il_ln,def);
if isempty(a)
disp(’Wprowadź poprawne dane!!’)
clear il_ln qstn def titl a a1 a2 Img p
break;
end
[ldist,nkrop,lr,r,indexk]=deal(a{1},a{2},a{3},a{4},a{5});
indexk=str2num(indexk);
ldist=str2num(ldist);
nkrop=str2num(nkrop);
lr=str2num(lr);
r=str2num(r);
index=0;
a0 = 0;
ai = 0;
wx1 = -ldist; %rozmiary układu
wy1 = -ldist+ldist/2;
wx2 = ldist*nkrop;
wy2 = ldist*nkrop;
rx=wy2-r-0.01; %punkt startowy elektronu
ry=0;
figure
wneka=[wy1 wy1+0.2*(wy2-wy1)]; %wneka wyjściowa - 20% wysokości ściany
plot([wx1+0.2 wx1+0.2],wneka,’k’,’LineWidth’,2)
fcolor = get(gcf,’Color’);
fieldp1 = [0.02 .100.1 .04];
text1=uicontrol(’Style’,’text’,’Units’,’normalized’,...
’Position’,fieldp1 + [0 0.05 0 0],’BackgroundColor’,fcolor,...
’ForegroundColor’,’k’,’String’,’Odbicie’);
field1=uicontrol(’Style’,’edit’,’Units’,’normalized’,’Position’,fieldp1,...
’BackgroundColor’,’white’,’String’,num2str(index));
axis equal
hold on
xlim([wx1 wx2])
ylim([wy1 wy2])
12
box on
for i=1:nkrop %wyrysowanie sieci
for j=1:nkrop
lx(i,j)=(i-1)*ldist;
ly(i,j)=(j-1)*ldist;
plot(lx(i,j),ly(i,j),’xk’)
plot(lr*sin(0:0.01*pi:2*pi)+lx(i,j),lr*cos(0:0.01*pi:2*pi)+ ...
ly(i,j),’Color’,[0.65 0.65 0.65],’LineWidth’,2)
end
end
for index=1:indexk %pętla kolejnych odbić
azixd=[-1 -1]’;
aziyd=[-2 -2]’;
azixu=[-11 -11]’;
aziyu=[-21 -21]’;
azcol=500;
d=sqrt((rx-lx).^2+(ry-ly).^2);
i=find(d<=lr+r & d>=abs(r-lr));
dx=lx(i)-rx;
dy=ly(i)-ry;
index
if rx<wx1+r
alephyd1 = atan2(sqrt(abs(r^2-(rx-wx1)^2)),rx-wx1);
alephyd(1) = pi + alephyd1;
alephyd(2) = pi - alephyd1;
alephyd = [rad2deg(alephyd)];
end
if ry<wy1+r
alephxd1 = atan2(sqrt(abs(r^2-(ry-wy1)^2)),ry-wy1);
alephxd(1) = 3/2*pi + alephxd1;
alephxd(2) = 3/2*pi - alephxd1;
alephxd = [rad2deg(alephxd)];
end
if rx>wx2-r
alephyu1 = atan2(sqrt(abs(r^2-(wx2-rx)^2)),wx2-rx);
alephyu(1) = alephyu1;
alephyu(2) = -alephyu1;
alephyu = [rad2deg(alephyu)];
end
if ry>wy2-r
alephxu1 = atan2(sqrt(abs(r^2-(wy2-ry)^2)),wy2-ry);
alephxu(1) = pi/2 - alephxu1;
alephxu(2) = pi/2 + alephxu1;
13
alephxu = [rad2deg(alephxu)];
end
aleph=atan2(dy,dx);
theta=acos((d(i).^2+r^2-lr^2)./(2.*d(i).*r));
a=rad2deg(aleph);
t=rad2deg(theta);
az1=rad2deg(aleph-theta);
az2=rad2deg(aleph+theta);
az = [az1,i;az2,i];
if exist(’alephxd’)
az = [az;alephxd’,azixd];
end
if exist(’alephyd’)
az = [az;alephyd’,aziyd];
end
if exist(’alephxu’)
az = [az;alephxu’,azixu];
end
if exist(’alephyu’)
az = [az;alephyu’,aziyu];
end
if isempty(az) % przypadek orbit przyszpilonych
p = rx + r * cos(0:0.01:2*pi);
q = ry + r * sin(0:0.01:2*pi);
plot(p,q)
p=’Orbita przyszpilona’;
disp(p)
msgbox(p,’UWAGA!!’)
break
else
az1 = [az(az(:,1)>=0) az(az(:,1)>=0,2)];
az2 = [az(az(:,1)<0)+360 az(az(:,1)<0,2)];
az = sortrows([az1;az2],1);
az1 = [az(az(:,1)>a0) az(az(:,1)>a0,2)];
if size(az1,1) == 0
azcol = az(1,1);
azi = az(1,2);
else
azcol = az1(1,1);
azi = az1(1,2);
if azcol - a0 < 0.0001 & azi == ai
if size(az1,1) == 1
azcol = az(1,1);
14
azi = az(1,2);
else
azcol = az1(2,1);
azi = az1(2,2);
end
end
end
xcol = rx + r * cos(deg2rad(azcol));
ycol = ry + r * sin(deg2rad(azcol));
if azcol >= a0
p = rx + r * cos(deg2rad([a0:azcol]));
q = ry + r * sin(deg2rad([a0:azcol]));
else
p = rx + r * cos(deg2rad([a0-360:azcol]));
q = ry + r * sin(deg2rad([a0-360:azcol]));
end
set(field1,’String’,num2str(index));
if sum(q>=wneka(1))*sum(q<=wneka(2))*sum(p<=wx1+0.001)~=0 %dren
index
p1=’DREN!!’;
disp(p1)
msgbox(p1,’UWAGA!!’)
return
end
plot(p,q,’k’)
P(index)=getframe; %zbieranie klatek do animacji
if azi>0
[nrx nry] = perpxy(lx(azi), ly(azi), xcol, ycol, rx, ry);
rx = 2*nrx - rx;
ry = 2*nry - ry;
elseif azi==azixd
rx = rx - 2*sqrt(abs(r^2-(ry-wy1)^2));
elseif azi==aziyd
ry = ry + 2*sqrt(abs(r^2-(rx-wx1)^2));
elseif azi==azixu
rx = rx + 2*sqrt(abs(r^2-(wy2-ry)^2));
elseif azi==aziyu
ry = ry - 2*sqrt(abs(r^2-(wx2-rx)^2));
end
if azi>0
a0 = rad2deg(atan2(ycol - ry,xcol - rx));
elseif azi==azixd
a0=180-azcol;
15
elseif azi==aziyd
a0=360-azcol;
elseif azi==azixu
a0=180-azcol;
elseif azi==aziyu
a0=360-azcol;
end
ai = azi;
if a0 < 0
a0 = a0 + 360;
end
end
clear alephxd alephyd alephxu alephyu
end % pętla główna
16