Exp. Phys. 5, WS16/17 Denninger skript_12_12_2016 Dies ist die Sammlung des Materials von Dienstag, 29.11. bis Freitag 09.12.2016. Inhalt: 1. kristallstruktur.pdf Seite 2 Einführung in die wichtigsten Kristallstrukturen 2. graphene.pdf Seite 8 Graphene als Beispiel eines 2-D Kristalls 3. graphene_lattice.pdf Seite 18 Beschreibung des Graphen Netzes mit Gitter und Basis 4. beugungs_sonden.pdf Seite 24 Gemeinsamkeiten und Unterschiede der Beugungssonden 5. beugungs_intro.pdf Seite 28 Einführung in Beugungsmethoden 6. bragg_beugung.pdf Seite 33 Die Bragg'sche Formulierung der Beugung 7. laue_beugung.pdf Die Laue'sche Formulierung der Beugung Seite 1 Seite 37 kristallstruktur.jnt Seite 2 Seite 3 Seite 4 Seite 5 Seite 6 Seite 7 graphene.jnt benzene anthracene naphtalene pyrene Seite 8 Seite 9 Seite 10 Seite 11 Seite 12 Seite 13 Seite 14 Seite 15 Seite 16 Seite 17 GAWD's MATLAB Analysen Das Graphen-Gitter Schaut man Graphen im Ortsraum oberflächlich an, dann hat man den Eindruck einer hexagonalen Struktur. Dies ist jedoch nicht der Fall, denn im Zentrum jedes Hexagons ist eben kein C-Atom! Das Gitter ist vielmehr ein "Honigwaben-Gitter". a1=[1 0]; a2=[0.5 –sqrt(3)/2]; b1=[0 0]; b2=(2/3)*(a1+a2); Jetzt erzeugen wir z.B. 20*20 Einheitszellen: Nx=20; Ny=20; x=zeros(1,2*Nx*Ny); y=zeros(1,2*Nx*Ny); ind=0; for i1=1:Nx for i2=1:Ny ind=ind+1; x(ind)=(i1-1)*a1(1)+(i2-1)*a2(1)+b1(1); y(ind)=(i1-1)*a1(2)+(i2-1)*a2(2)+b1(2); ind=ind+1; x(ind)=(i1-1)*a1(1)+(i2-1)*a2(1)+b2(1); y(ind)=(i1-1)*a1(2)+(i2-1)*a2(2)+b2(2); end end plot(x,y,'ro','Linewidth',2);axis([10 20 -15 -5]); 'graphene_lattice.doc' 8.12.2016 GAWD Seite 18 1 GAWD's MATLAB Analysen -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 10 11 12 13 14 15 16 17 18 19 20 Jetzt tic; Nxx=1024; Nyy=1024; xx=linspace(10,20,Nxx); yy=linspace(-16,-6,Nyy); rho=zeros(Nxx,Nyy); for i3=1:800 if( (x(i3) >=10) && (x(i3)<=20)) if( (y(i3) >=-16) && (y(i3)<=-6)) for i1=1:Nxx for i2=1:Nyy rr=(xx(i1)-x(i3))^2+(yy(i2)-y(i3))^2; rho(i1,i2)=rho(i1,i2)+exp(-10*rr); end end end end end toc, Elapsed time is 1008.440921 seconds. meshc(rho); 'graphene_lattice.doc' 8.12.2016 GAWD Seite 19 2 GAWD's MATLAB Analysen So sieht die Ladungsdichte aus. pcolor(rho);shading('interp');colorbar(); 'graphene_lattice.doc' 8.12.2016 GAWD Seite 20 3 GAWD's MATLAB Analysen Man erkennt die Honigwabenstruktur. mittelwert=sum(sum(rho))/(Nxx*Nyy), mittelwert = 0.7078 rho=rho-mittelwert; tic; rho_fft=fft2(rho); toc, rho_fft=fftshift(rho_fft); kx=linspace(-0.05,0.05,Nxx); ky=linspace(-0.05,0.05,Nyy); Elapsed time is 0.081016 seconds. pcolor(kx,ky,sqrt(abs(rho_fft).^2));shading('interp');axis([-0.004 0.004 -0.004 0.004]);colorbar(); 'graphene_lattice.doc' 8.12.2016 GAWD Seite 21 4 GAWD's MATLAB Analysen Im Wesentlichen sieht man Punkte im reziproken Gitter. rho_log=10*log10(sqrt(abs(rho_fft).^2)); for i1=1:Nxx for i2=1:Nyy if(rho_log(i1,i2) < 30) rho_log(i1,i2)= 30; end end end pcolor(kx,ky,rho_log);shading('interp');axis([-0.004 0.004 -0.004 0.004]);colorbar(); 'graphene_lattice.doc' 8.12.2016 GAWD Seite 22 5 GAWD's MATLAB Analysen 'graphene_lattice.doc' 8.12.2016 GAWD Seite 23 6 GAWD's MATLAB Analysen Sonden für Beugungsexperimente Zur Strukturbestimmung durch Beugungsmethoden kommen alle Teilchen (auch Photonen sind in diesem Sinne Teilchen) in Frage, welche eine (am besten einstellbare) Wellenlänge im Bereich der relevanten Atomabstände haben. Die Wellenlänge eines Teilchens ist universell durch die de Broglie Beziehung gegeben: h p Dabei ist h die Planck'sche Konstante und p der Impuls des Teilchens. Diese Beziehung hat universelle Gültigkeit und ist ohne Einschränkungen anwendbar. In vielen Fällen möchte man jedoch den Impuls durch die Energie des Teilchens ausdrüchken, und dann die Wellenlänge als Funktion der Energie bestimmen. Dazu benutzt man auch die allgemein gültige Energie-Impulsbeziehung: E 2 p 2c 2 m 02 c 4 Hier ist m0 die Ruhemasse und c die Lichtgeschwindigkeit. Wir unterscheiden jetzt Teilchen ohne Ruhemasse (m0 = 0 ) und Teilchen mit Ruhemasse (m0 0). 1. Teilchen ohne Ruhemasse (z.B. Photonen) E p c Für Photonen ist der Impuls p k Damit wird dann die Wellenlänge: hc E h h f Misst man die Energie in eV, dann gilt: SI_e=1.602176462e-19; SI_h=6.62606876e-34; SI_c=299792458; fact_photon=SI_h*SI_c/SI_e, fact_photon = 1.2398e-006 Die Wellenlänge bei Photonen ist also: 1.2398m/E(eV). NE=1000; E=logspace(1,6,NE); lambda=fact_photon./E; loglog(E,lambda*1e9,'Linewidth',3);xlabel('Energie /eV');ylabel('Wellenlänge /nm'); 'beugungs_sonden.doc' 8.12.2016 GAWD Seite 24 1 GAWD's MATLAB Analysen 3 10 2 10 1 Wellenlänge /nm 10 0 10 -1 10 -2 10 -3 10 1 10 2 10 3 10 4 10 5 10 6 10 Energie /eV Man benötigt also Photonenenergien von etwa 10 keVund mehr, um Wellenlängen im Bereich der Atomabstände zu haben. Bei 10 keV Photonenenergie ist die Wellenlänge gerade 0.12398 nm. Dies liegt im Bereich der relevanten Atomabstände in Festkörpern. 2. Teilchen mit Ruhemasse m0. Hier unterscheiden wir jetzt noch die Bereiche niedriger Energie ( Ekin << m0c2) und die Bereiche hoher Energie. Die Energie E ist die Summe aus Ruhenergie und kinetischer Energie. E m0c 2 Ekin Damit ist dann: 2 E 2 m0c 2 Ekin 2 m02 c 4 2m0c 2 Ekin Ekin Relevant für die Beugung an Festkörpern ist der Bereich niedriger Energie (Ekin << m0c2). Dort kann man sich auf die ersten beiden Terme beschränken 2 E 2 m02 c 4 2m0c 2 Ekin p 2c 2 m02 c 4 'beugungs_sonden.doc' 8.12.2016 GAWD Seite 25 2 GAWD's MATLAB Analysen p 2c 2 p2 Ekin 2m 0c 2 2m 0 Somit wird: p 2m0 Ekin und somit: , und für die Wellenlänge hat man: h 2m0 Ekin Die kinetische Energie der Teilchen wird meistens in eV angegeben, und somit hat man: a) Für Elektronen und Neutronen: SI_me=9.10938188e-31; SI_mn=1.67492716e-27; fact_elektronen=SI_h/sqrt(2*SI_me*SI_e), fact_neutronen=SI_h/sqrt(2*SI_mn*SI_e), fact_elektronen = 1.2264e-009 fact_neutronen = 2.8601e-011 lambda_elektronen=fact_elektronen./sqrt(E); lambda_neutronen=fact_neutronen./sqrt(E); loglog(E,lambda_elektronen*1e9,'b-',E,lambda_neutronen*1e9,'r','Linewidth',3);xlabel('Energie /eV');ylabel('Wellenlänge /nm'); 0 10 -1 Wellenlänge /nm 10 -2 10 -3 10 -4 10 -5 10 1 10 2 10 3 10 4 10 5 10 6 10 Energie /eV 'beugungs_sonden.doc' 8.12.2016 GAWD Seite 26 3 GAWD's MATLAB Analysen Während die Wellenlängen für Elektronen im Bereich bis ca. 100 eV (langsame Elektronen) durchaus im richtigen Bereich der Atomabstände liegen, muss man für Neutronen zu deutlich niedrigeren Energien gehen. Eneutron=logspace(-3,2,NE); lambda_neutronen=fact_neutronen./sqrt(Eneutron); loglog(Eneutron,lambda_neutronen*1e9,'r-','Linewidth',3);xlabel('Energie /eV');ylabel('Wellenlänge /nm'); 0 10 -1 Wellenlänge /nm 10 -2 10 -3 10 -3 10 -2 10 -1 10 0 10 1 10 2 10 Energie /eV Bei Neutronen muss die Energie im Bereich von ca. 10 meV bis 100 meV liegen, um die Wellenlängen in den für die Streuung an Festkörpern relavanten Bereich zu bringen. Neutronen mit dieser niedrigen Energie nennt man "thermische Neutronen". 'beugungs_sonden.doc' 8.12.2016 GAWD Seite 27 4 beugung intro.jnt Seite 28 Seite 29 Seite 30 Seite 31 Seite 32 bragg_beugung.jnt Seite 33 Seite 34 Seite 35 Seite 36 laue_beugung.jnt Seite 37 Seite 38 Seite 39 Seite 40 Seite 41 Seite 42