more fixes
[lectures/latex.git] / nlsop / diplom / simulation.tex
1 \chapter{Simulation}
2 \label{chapter:simulation}
3
4 Im Folgenden soll die Implementation der Monte-Carlo-Simulation nach dem vorangegangenen Modell diskutiert werden.
5 Die Simulation tr"agt den Namen {\em NLSOP}, was f"ur die Schlagw"orter {\bf N}ano, {\bf L}amellar und {\bf S}elbst{\bf o}rganisations{\bf p}rozess steht.
6 Die Simulation ist in der Programmiersprache {\em C} \cite{kerningham_ritchie} geschrieben.
7 Der Simulationscode wurde auf Computern der {\em IA32}-Prozessorarchitektur mit dem {\em GNU C Compiler} auf einem Linux Bestriebssystem "ubersetzt und betrieben.
8
9 Ziel der Simulation ist die Validierung des Modells anhand der experimentellen Ergebnisse, wie sie in Abbildung \ref{img:xtem_img} vorliegen.
10 Es wurden zwei Versionen der Simulation erstellt, die unterschiedliche Tiefenbereiche abdecken.
11 Die erste Version beschreibt den Bereich von der Oberfl"ache des Targets bis zum Beginn der durchgehend amorphen $SiC_x$-Schicht, also den Tiefenbereich von $0$ bis $300 \, nm$.
12 Nachdem eine Beschreibung der Bildung lamellarer amorpher Ausscheidungen mit dieser Version sehr gut funktioniert hat, wurde eine zweite Version entwickelt, die den gesamten Implantationsbereich betrachtet.
13 Auf weitere Unterschiede in den zwei Versionen wird in einem gesonderten Abschnitt genauer eingegangen.
14
15 Die Simulation kann grob in drei Abschnitte unterteilt werden.
16 Im ersten Schritt werden die Kollisionen eines Ions im Target und die daraus resultierende Amorphisierung beziehungsweise Rekristallisation eines Gebietes simuliert.
17 Nachdem das Ion seine Energie durch St"o"se im Target abgegeben hat kommt es zur Ruhe.
18 Der Einbau des Kohlenstoffs im Target wird im zweiten Schritt ausgef"uhrt.
19 Als letztes wird die Diffusion von Kohlenstoff von kristallinen in amorphe Gebiete und der Sputtervorgang realisiert.
20
21 Im Folgenden werden der Simulationsalgorithmus und die dazu ben"otigten Annahmen besprochen.
22 Ein weiterer Abschnitt besch"aftigt sich mit der Extraktion von, f"ur die Simulation notwendigen, Informationen aus {\em TRIM}-Ergebnissen.
23 Das Kapitel schlie"st mit dem Test der verwendeten Zufallszahlen.
24
25   \section{Annahmen der Simulation}
26
27     \subsection{Unterteilung des Targets}
28     \label{subsection:unterteilung}
29
30     Wie in Abbildung \ref{img:sim_gitter} zu sehen ist, wird das Target in W"urfel mit der Seitenl"ange $a = 3 \, nm$ zerlegt.
31     \printimg{h}{width=12cm}{gitter_oZ.eps}{Unterteilung des Targets in W"urfel mit $3 \, nm$ Kantenl"ange. Jedes Volumen ist entwerder amorph (rot) oder kristallin (blau) und protokolliert die lokale Kohlenstoffkonzentration.}{img:sim_gitter}
32     Die Anzahl der W"urfel in $x$, $y$ und $z$ Richtung ist frei einstellbar.
33     Ein solches Volumen kann durch den Ortsvektor $\vec{r}(k,l,m)$, wobei $k$, $l$ und $m$ ganze Zahlen sind, adressiert werden.
34     Jeder W"urfel hat entweder den Zustand amorph (rot), oder ist kristallin (blau).
35     Die lokale Anzahl der implantierten Kohlenstoffatome wird ebenfalls protokolliert.
36
37     Die Ausdehnung des Targets in $x,y$-Richtung ist im Gegensatz zur Tiefe sehr gro"s und kann als unendlich ausgedehnt angenommen werden.
38     Um die Anzahl der W"urfel in diese Richtungen in der Simulation, aus Gr"unden der Rechenzeit, m"oglichst klein halten zu k"onnen, werden periodische Randbedingungen in der $x,y$-Ebene verwendet.
39
40     In Version 1 der Simulation wurden $x = y = 50$ beziehungsweise $x = y = 64$ und $z = 100$ gesetzt.
41     In Version 2 sind $x = y = 64$ und $z = 233$.
42
43     Zum besseren Vergleich der Simulationsergebnisse mit den experimentell erhaltenen TEM-Aufnahmen k"onnen Querschnitte (Cross-Sections) der amorph/kristallinen Struktur als Bitmap ausgegeben werden.
44     Kristalline W"urfel sind schwarz und amorphe W"urfel wei"s dargestellt.
45     F"ur die $x-z$- beziehungsweise  $y-z$-Querschnitte besteht die M"oglichkeit "uber mehrere Querschnitte zu mitteln.
46     Die selbe Mittelung "uber den amorph/kristallinen Zustand ist bei den TEM-Aufnahmen, der auf eine Dicke von $100$ bis $300 \, nm$ pr"aparierten Proben der Fall.
47
48     \subsection{Amorphisierung und Rekristallisation}
49     \label{subsection:a_and_r}
50
51     Nach dem in Kapitel \ref{chapter:modell} vorgestellten Modell gibt es drei statistisch unabh"angige zur Amorphisierung beitragende Mechanismen.
52     Eine lokale Wahrscheinlichkeit f"ur die Amorphisierung $p_{c \rightarrow a}$ eines beliebigen kristallinen Volumens am Ort $\vec{r}$ setzt sich aus den drei Einzelwahrscheinlichkeiten f"ur die ballistische, kohlenstoffinduzierte und spannungsinduzierte Amorphisierung zusammen.
53     Sie wird wie folgt berechnet:
54     \begin{equation}
55     p_{c \rightarrow a}(\vec r) = p_{b} + p_{c} c_C (\vec r) + \sum_{amorphe \, Nachbarn} \frac{p_{s} \, c_C (\vec{r'})}{(\vec r - \vec{r'})^2}
56     \label{eq:p_ca_local}
57     \end{equation}
58
59     Der Beitrag der ballistischen Amorphisierung besteht nur aus der Konstanten $p_b$.
60     Die Wahrscheinlichkeit f"ur die ballistische Amorphisierung in einem Sto"s ist unabh"angig vom Ort und somit eine Konstante.
61     Sie hat die Einheit $1$.
62     Die h"ohere Wahrscheinlichkeit, im Maximum der nuklearen Bremskraft zu amorphisieren, kommt durch die h"ohere Anzahl an St"o"sen in diesem Tiefenbereich zustande.
63     Wieso dieser Beitrag in dieser Art sinnvoll ist, wird in Abschnitt \ref{subsection:parse_trim_coll} gekl"art.
64
65     Die Wahrscheinlichkeit f"ur die kohlenstoffinduzierte Amorphisierung wird proportional zur lokalen Kohlenstoffkonzentration $c_C$ angenommen.
66     $p_c$ ist die dazugeh"orige Proportionalit"atskonstante und hat demnach die Einheit $[p_c] = m^3$.
67
68     Der Beitrag der Druckspannungen setzt sich aus den einzelnen Beitr"agen amorpher Gebiete in der selben Ebene zusammen, da nur diese unrelaxierte Spannungen aus"uben.
69     Dabei ist der Wahrscheinlichkeitsbeitrag eines amorphen Volumens bei $\vec{r'}$ auf das Volumen am Ort $\vec{r}$ wieder proportional zur lokalen Kohlenstoffkonzentration in $\vec{r'}$.
70     Dies ist offensichtlich, denn je mehr Kohlenstoff in einem amorphen Volumen vorhanden ist, desto gr"o"ser ist die ausgehende Spannung auf die Umgebung.
71     Gleichzeitig ist der Beitrag indirekt proportional zum Abstandsquadrat $(\vec r - \vec{r'})^2$, da der Druck quadratisch mit der Entfernung abf"allt.
72     $p_s$ ist eine Proportionalit"atskonstante und hat somit die Einheit $[p_s] = m^5$.
73
74     Die Rekristallisationswahrscheinlichkeit amorpher Gebiete $p_{a \rightarrow c}$ sollte sich genau entgegensetzt zu $p_{c \rightarrow a}$ verhalten und wird deshalb als
75     \begin{equation}
76     p_{a \rightarrow c}(\vec r) = 1 - p_{c \rightarrow a}(\vec r)
77     \label{eq:p_ac_local}
78     \end{equation}
79     angenommen.
80     Jedoch muss die direkte Nachbarschaft des Volumens ber"ucksichtigt werden.
81     Da es sich bei den betrachteten Temperaturen allein um ionenstrahlinduzierte, epitaktische Rekristallisation handelt und einschr"ankend hier nur der Temperaturbereich bis $250 \, ^{\circ} \mathrm{C}$ behandelt wird, in dem keine merkliche ionenstrahlinduzierte Nukleation innerhalb amorpher Bereiche auftritt \cite{basic_phys_proc}, sollte f"ur die Rekristallisation die Strukturinformation einer kristallinen Nachbarschaft notwendig sein.
82     Mit einer zunehmenden Anzahl von amorphen Nachbarn sollte die Rekristallisationswahrscheinlichkeit also sukzessive abnehmen und ganz verschwinden, wenn kein einziger kristalliner Nachbar vorhanden ist.
83     Mit der im Abschnitt \ref{subsection:unterteilung} beschriebenen Unterteilung hat ein Volumen genau sechs Grenzfl"achen, von denen die Rekristallisationsfront ausgehen kann.
84     Damit kann man \eqref{eq:p_ac_local} neu schreiben und man erh"alt:
85     \begin{equation}
86     p_{a \rightarrow c}(\vec r) = (1 - p_{c \rightarrow a}(\vec r)) \Big(1 - \frac{\sum_{direkte \, Nachbarn} \delta (\vec{r'})}{6} \Big) \, \textrm{,}
87     \label{eq:p_ac_genau}
88     \end{equation}
89     mit
90     \begin{equation}
91     \delta (\vec r) = \left\{ 
92     \begin{array}{ll}
93       1 & \textrm{wenn Gebiet bei $\vec r$ amorph} \\
94       0 & \textrm{sonst} \\
95     \end{array}
96     \right.
97     \label{eq:dedltafunc}
98     \end{equation}
99
100     Die Proportionalit"atskonstanten $p_b$, $p_c$ und $p_s$ sind bisher experimentell nicht zug"anglich und werden daher als frei w"ahlbare Simulationsparameter angenommen.
101     Es stellt sich also die Frage, ob ein Satz von Parametern existiert, der es erlaubt, experimentell gefundene Verteilungen, wie sie in Abbildung \ref{img:xtem_img} gezeigt werden, durch die Simulation zu reproduzieren.
102     Durch Variation der gefundenen Parameter k"onnen dann die unterschiedlichen Einfl"usse der verschiedenen Amorphisierungsmechanismen untersucht und der Selbstorganisationsprozess verstanden werden.
103     
104     \subsection{Diffusion}
105
106     Weiterhin sieht das Modell die M"oglichkeit der Diffusion von Kohlenstoff aus kristallinen in umliegende amorphe Volumina vor.
107     In Zeitintervallen $T_{Diff}$ wird ein Anteil $d_r$ des Kohlenstoffs eines kristallinen Volumens in das benachbarte amorphe Volumen transferiert.
108     Da von einem konstanten Strahlstrom ausgegangen wird, kann die Zeit $T_{Diff}$ auf eine Anzahl von implantierten Ionen $d_v$ abgebildet werden.
109     Die Diffusion des Kohlenstoffs von amorphen in kristalline Gebiete wird also durch die zwei Parameter $d_r$ und $d_v$ gesteuert.
110     Die Parameter sind ebenfalls frei w"ahlbar.
111     Aus Gr"unden der Rechenzeit sollte die Diffusionsroutine nicht nach jedem implantierten Ion ausgef"uhrt werden.
112     Diffusion innerhalb kristalliner Gebiete sowie Diffusion innerhalb amorpher Gebiete wird ausgeschlossen.
113     Von einer m"oglichen Kohlenstoff"ubers"attigung im Amorphen wird nicht ausgegangen, da der Kohlenstoff in $a-Si$ gut l"oslich ist.
114     Da die L"oslichkeit von Kohlenstoff in $c-Si$ nahezu Null ist, wird der Kohlenstoff immer bestrebt sein von dem kristallinen Bereich in die amorphen Gebiete zu diffundieren.
115
116     \subsection{Sputtern}
117
118     Es wird von einer, "uber der Oberfl"ache gleichm"a"sig verteilten und w"ahrend des Implantationsvorganges konstanten Sputterrate ausgegangen.
119     Aufgrund der Unterteilung des Targets in W"urfel mit der Seitenl"ange $3 \, nm$ muss diese Sputterrate in Einheiten einer Dosis, welche $3 \, nm$ sputtert, angegeben werden.
120     Jedesmal, nachdem das Programm diese Dosis durchlaufen hat, wird die Sputterroutine aufgerufen, welche die oberste Targetebene abtr"agt.
121
122   \section{Statistik von Sto"sprozessen}
123
124   F"ur die Simulation ben"otigt man die Statistik der Sto"sprozesse des Kohlenstoffs im Siliziumtarget unter den gegebenen Implantationsbedingungen.
125   Dabei sind insbesondere die nukleare Bremskraft f"ur den Amorphisierungs- beziehungsweise Rekristallisationsschritt und das Implantationsprofil f"ur den Einbau des Kohlenstoffs ins Siliziumtarget von Interesse.
126   {\em NLSOP} benutzt die Ergebnisse des {\em TRIM}-Programms, welches die Wechelswirkung der Ionen mit dem Target simuliert und somit ein geeignetes Bremskraft- und Implantationsprofil sowie eine genaue Buchf"uhrung "uber die Sto"skaskaden bereitstellt.
127   Durch die Abbildung von Zufallszahlen auf die so erhaltenen Verteilungen k"onnen die eigentlichen physikalischen Abl"aufe sehr schnell und einfach behandelt werden.
128   Im Folgenden wird auf die Ermittlung einiger f"ur {\em NLSOP} wichtige Statistiken eingegangen.
129
130     \subsection{Implantationsprofil und nukleare Bremskraft}
131
132     \printimg{h}{width=13cm}{trim92_2.eps}{Von {\em TRIM 92} ermittelte Reichweitenverteilung und tiefenabh"angige Bremskr"afte f"ur $180 \, keV$ $C^+ \rightarrow Si$.}{img:bk_impl_p}
133     \printimg{!h}{width=12cm}{trim_impl.eps}{Durch {\em SRIM 2003.26} berechnetes Implantationsprofil f"ur $180 \, keV$ $C^+ \rightarrow Si$.}{img:trim_impl}
134
135     Abbildung \ref{img:bk_impl_p} zeigt die von {\em TRIM 92} ermittelte nukleare Bremskraft sowie das Kohlenstoffkonzentrationsprofil f"ur die in dieser Arbeit verwendeten Parameter.
136     Die gestrichelte Linie markiert das Ionenprofilmaximum bei $500 \, nm$.
137     Sputtereffekte und Abweichungen aufgrund der kontinuierlich ver"anderten Targetzusammensetzung w"ahrend der Hochdosisimplantation werden von {\em TRIM} allerdings nicht ber"ucksichtigt.
138     Die Profile werden von {\em TRIM} selbst in separate Dateien geschrieben.
139     Tauscht man die Kommata (Trennung von Ganzzahl und Kommastelle) durch Punkte aus, so kann {\em NLSOP} diese Dateien auslesen und die Profile extrahieren.
140
141     In Abbildung \ref{img:trim_impl} ist das f"ur diese Simulation verwendete, von einer neueren {\em TRIM}-Version ({\em SRIM 2003.26})  berechnete Implantationsprofil abgebildet.
142     Dieses Profil verwendet {\em NLSOP} zum Einbau des Kohlenstoffs.
143     Das Implantationsmaximum liegt hier bei ungef"ahr $530 \, nm$.
144     Auff"allig ist eine Verschiebung des Maximums um $30 \, nm$ zu dem Maximum aus Abbildung \ref{img:bk_impl_p}.
145     Dies ist auf einen Unterschied in der Berechnung der elektronischen Bremskraft in den zwei {\em TRIM}-Versionen zur"uckzuf"uhren.
146
147     \clearpage
148
149     \subsection{Durchschnittliche Anzahl der St"o"se der Ionen und Energieabgabe}
150     \label{subsection:parse_trim_coll}
151
152     Weiterhin bietet {\em TRIM} die M"oglichkeit eine Datei Namens {\em COLLISION.TXT} anzulegen, in der s"amtliche Sto"skaskaden protokolliert sind.
153     Zu jedem Sto"s sind Koordinaten und Energie"ubertrag angegeben.
154     Mit dem Programm {\em parse\_trim\_collision} (Anhang \ref{section:hilfsmittel}) kann diese Datei ausgewertet werden.
155     Die daraus gewonnenen Erkenntnisse sollen im Folgenden diskutiert werden.
156     F"ur diese Statistik wurden die Sto"skaskaden von $8300$ implantierten Ionen verwendet.
157
158     \printimg{h}{width=12cm}{trim_coll.eps}{Auf das Maximum 1 skalierte tiefenabh"angige Energieabgabe (blau) und Anzahl der Kollisionen (rot).}{img:trim_coll}
159     Abbildung \ref{img:trim_coll} zeigt die nukleare Energieabgabe und die Anzahl der St"o"se von Ionen und Recoils in Abh"angigkeit von der Tiefe.
160     Beide Graphen wurden auf das selbe Maximum skaliert.
161     Man erkennt, dass diese nahezu identisch sind.
162     Die durchschnittliche Energieabgabe pro Sto"s ist also ungef"ahr konstant und unabh"angig von der Tiefe.
163     Dies ist der Grund f"ur die Wahl eines konstanten Beitrags der ballistischen Amorphisierung in Abschnitt \ref{subsection:a_and_r}.
164     Jeder Sto"s "ubertr"agt durchschnittlich einen konstanten Energiebetrag im Falle einer Kollision und tr"agt somit einen konstanten Anteil zur Amorphisierungswahrscheinlichkeit bei.
165     
166     Desweiteren ist nun die Wahrscheinlichkeit f"ur eine Kollision in einer bestimmten Tiefe bekannt.
167     Sie ist proportional zur Anzahl der Kollisionen in dieser Tiefe.
168     Durch die h"ohere Anzahl der St"o"se im Maximum der nuklearen Bremskraft steigt die Wahrscheinlichkeit f"ur ein Ion in diesem Tiefenbereich zu amorphisieren.
169
170     \printimg{h}{width=12cm}{trim_nel.eps}{Durch {\em SRIM 2003.26} berechneter nuklearer Energieverlust f"ur $180 \, keV$ $C^+ \rightarrow Si$.}{img:trim_nel}
171     Zum Vergleich zeigt Abbildung \ref{img:trim_nel} die von {\em SRIM 2003.26} selbst berechnete nukleare Bremskraft.
172     Wie zu erwarten entspricht sie ungef"ahr dem Verlauf der in Abbildung \ref{img:trim_coll} gezeigten Energieabgabe.
173     Daher wird dieses Profil f"ur {\em NLSOP} zur Verteilung der Kollisionen im Target verwendet.
174
175     Ein implantiertes Ion und dadurch entstandene Recoils verursachen durchschnittlich eine Anzahl von $1088$ Kollisionen, bis alle Teilchen bis auf Energien unterhalb der Verlagerungsenergie f"ur $Si$ Atome von $15 \, eV$ \cite{ziegler_biersack_littmark} abgesunken sind.
176     Die Zahl der getroffenen W"urfel, also Volumina in denen ein Ion mindestens eine Kollision verursacht, ist sehr viel geringer.
177     Das Auswertungsprogramm {\em parse\_trim\_collision} z"ahlt durchschnittlich $75$ getroffene Volumina pro implantiertem Ion.
178     Genauer gesagt z"ahlt das Programm die Anzahl der Ebenen mit $3 \, nm$ H"ohe in denen Kollisionen verursacht werden.
179     Teilchenbahnen parallel zur Targetoberfl"ache verf"alschen diese Zahl.
180     Au"serdem werden mehrmalige Durchl"aufe der Ebenen nicht mitgez"ahlt.
181     Man sollte weiterhin beachten, dass Volumina in denen selbst nur eine Kollision stattfindet mitgez"ahlt werden, was allerdings nur sehr unwahrscheinlich zur Amorphisierung f"uhren wird.
182     Daher wird eine Trefferzahl von $h=100$ f"ur die Simulation angenommen.
183
184   \section{Simulationsalgorithmus}
185
186   Die Simulation kann in die drei Abschnitte Amorphisierung/Rekristallisation, Fremdatomeinbau und Diffusion/Sputtern gegliedert werden.
187   Die beschriebenen Prozeduren werden sequentiell abgearbeitet und beliebig oft durchlaufen.
188   Es wird mit einem komplett kristallinen und kohlenstofffreien Target gestartet.
189
190   Wenn, wie in Version 2 der Simulation, pro Durchlauf die Anzahl der simulierten Sto"skaskaden gleich der Anzahl der getroffenen Volumina ist, entspricht ein Durchlauf genau einem implantierten Ion.
191   Im Folgenden sei die Anzahl der W"urfel in $x$, $y$ und $z$ Richtung $X$, $Y$ und $Z$.
192   Eine Anzahl von $N$ Durchl"aufen ist damit "aquivalent zur Dosis $D$, die wie folgt gegeben ist:
193   \begin{equation}
194   D = \frac{N}{XY(3 \, nm)^2} \, \textrm{.}
195   \label{eq:dose_steps}
196   \end{equation}
197
198     \subsection{Amorphisierung und Rekristallisation}
199     \label{subsection:a_r_step}
200
201       \begin{figure}[!ht]
202       \begin{center}
203       \begin{pspicture}(0,0)(15,18)
204
205         \rput(7,18){\rnode{start}{\psframebox{{\em NLSOP} Start}}}
206
207         \rput(7,16){\rnode{random1}{\psframebox{\parbox{8.5cm}{
208           Ausw"urfeln der Zufallszahlen:\\
209           $R_1$, $R_2$, $R_3$ entsprechend nuklearer Bremskraft\\
210           $R_4 \in [0,1[$
211         }}}}
212         \ncline[]{->}{start}{random1}
213
214         \rput(7,14){\rnode{koord_wahl}{\psframebox{\parbox{7.5cm}{
215           Bestimmung von $\vec{r}(k,l,m)$ durch Abbildung von $R_1$, $R_2$ und $R_3$ auf $k$, $l$ und $m$
216         }}}}
217         \ncline[]{->}{random1}{koord_wahl}
218
219         \rput(7,11){\rnode{berechnung_pca}{\psframebox{\parbox{12cm}{
220           Berechnung von $p_{c \rightarrow a}(\vec{r})$ und $p_{a \rightarrow c}(\vec{r})$:
221           \[
222           \begin{array}{lll}
223           p_{c \rightarrow a}(\vec r) & = & p_{b} + p_{c} \, c_{Kohlenstoff}(\vec r) + \sum_{amorphe \, Nachbarn} \frac{p_{s} \, c_{Kohlenstoff}(\vec{r'})}{(\vec r - \vec{r'})^2} \\
224           p_{a \rightarrow c}(\vec r) & = & (1 - p_{c \rightarrow a}(\vec r)) \Big(1 - \frac{\sum_{direkte \, Nachbarn} \delta (\vec{r'})}{6} \Big)
225           \end{array}
226           \]
227           \[
228           \delta (\vec r) = \left\{
229             \begin{array}{ll}
230             1 & \textrm{wenn Gebiet bei $\vec r$ amorph} \\
231             0 & \textrm{sonst} \\
232             \end{array}
233           \right.
234           \]
235         }}}}
236         \ncline[]{->}{koord_wahl}{berechnung_pca}
237
238         \rput(7,8){\rnode{status}{\psframebox{Volumen $\vec{r}(k,l,m)$ amorph?}}}
239         \ncline[]{->}{berechnung_pca}{status}
240
241         \rput(4,6){\rnode{cryst}{\psframebox[linestyle=solid,linecolor=blue]{$R_4 \le p_{c \rightarrow a}$?}}}
242         \rput(10,6){\rnode{amorph}{\psframebox[linestyle=solid,linecolor=red]{$R_4 \le p_{a \rightarrow c}$?}}}
243         \ncline[]{->}{status}{cryst}
244         \lput*{0}{nein}
245
246         \ncline[]{->}{status}{amorph}
247         \lput*{0}{ja}
248
249         \rput(4,4){\rnode{do_amorph}{\psframebox[linestyle=solid,linecolor=red]{Setze Volumen amorph}}}
250         \ncline[]{->}{cryst}{do_amorph}
251         \lput*{0}{ja}
252
253         \rput(10,4){\rnode{do_cryst}{\psframebox[linestyle=solid,linecolor=blue]{Setze Volumen kristallin}}}
254         \ncline[]{->}{amorph}{do_cryst}
255         \lput*{0}{ja}
256
257         \rput(7,3){\rnode{check_h}{\psframebox{Anzahl der Durchl"aufe gleich Anzahl der Treffer pro Ion?}}}
258
259         \rput(7,6){\pnode{h_2}}
260         \ncline[]{amorph}{h_2}
261         \ncline[]{->}{h_2}{check_h}
262         \lput*{0}{nein}
263
264         \rput(7,6){\pnode{h_3}}
265         \ncline[]{cryst}{h_3}
266         \ncline[]{->}{h_3}{check_h}
267         \lput*{0}{nein}
268
269         \rput(14,3){\pnode{h_4}}
270         \rput(14,16){\pnode{h_5}}
271         \ncline[]{check_h}{h_4}
272         \ncline[]{h_4}{h_5}
273         \lput*{0}{nein}
274         \ncline[]{->}{h_5}{random1}
275
276         \ncline[]{->}{do_cryst}{check_h}
277         \ncline[]{->}{do_amorph}{check_h}
278
279         \rput(7,1){\rnode{weiter_1}{\psframebox{$\bigotimes$}}}
280         \ncline[]{->}{check_h}{weiter_1}
281         \lput*{0}{ja}
282
283       \end{pspicture}
284       \caption{{\em NLSOP} Ablaufschema Teil 1: Amorphisierung und Rekristallisation.}
285       \label{img:flowchart1}
286       \end{center}
287       \end{figure}
288
289     Im ersten Schritt sollen die Kollisionen und die daraus resultierende Amorphisierung beziehungsweise Rekristallisation simuliert werden.
290     Das zugeh"orige Ablaufschema ist in Abbildung \ref{img:flowchart1} gezeigt.
291     Zun"achst muss das gesto"sene Volumen ausgew"ahlt werden.
292     Die St"o"se sind bez"uglich der $x$ und $y$ Richtung statistisch isotrop verteilt.
293     Es werden zwei gleichverteilte Zufallszahlen $r_1 \in [0,X[$ und $r_2 \in [0,Y[$ nach \eqref{eq:gleichverteilte_r} ausgew"urfelt.
294     Diese werden auf die ganzen Zahlen $k$ und $l$ abgebildet und bestimmen die Lage des getroffenen Volumens in der $x,y$-Ebene.
295     Eine weitere, mit Hilfe der Verwerfungsmethode aus Abschnitt \ref{subsubsection:verwerf_meth} erzeugte Zufallszahl $r_3 \in [0,Z[$ entsprechend der nuklearen Bremskraft, abgebildet auf die ganze Zahl $m$, legt die Tiefe des getroffenen Volumens fest.
296     Somit hat man den Ortsvektor $\vec{r}(k,l,m)$ f"ur den Amorphisierungs- oder Rekristallisationsvorgang bestimmt.
297     Nun kann die Amorphisierungs- beziehungsweise Rekristallisationswahrscheinlichkeit nach \eqref{eq:p_ca_local} beziehungsweise \eqref{eq:p_ac_genau} berechnet werden.
298     Eine weitere Zufallszahl $r_4 \in [0,1[$ entscheidet dann "uber einen eventuellen Statuswechsel des Volumens.
299     Es gibt folgende M"oglichkeiten:
300     \begin{enumerate}
301     \item Volumen $\vec{r}(k,l,m)$ ist kristallin.\\
302           Wenn $r_4$ kleiner gleich $p_{c \rightarrow a}$ ist, wechselt der Status zu amorph.
303           Ansonsten bleibt der Status unver"andert.
304     \item Volumen $\vec{r}(k,l,m)$ ist amorph.\\
305           Wenn $r_4$ kleiner gleich $p_{a \rightarrow c}$ ist, wechselt der Status zu kristallin.
306           Ansonsten bleibt der Status unver"andert.
307     \end{enumerate}
308
309     Der gesamte Amorphisierungs- und Rekristallisationsschritt wird f"ur die Anzahl der getroffenen Volumina pro implantierten Ion $h$ wiederholt.
310
311     \subsection{Einbau des implantierten Kohlenstoffs ins Target}
312
313       \begin{figure}[h]
314       \begin{center}
315       \begin{pspicture}(0,0)(15,6)
316
317         \rput(2,5){\rnode{weiter_2}{\psframebox{$\bigotimes$}}}
318
319         \rput(7,5){\rnode{random2}{\psframebox[fillstyle=solid,fillcolor=green]{\parbox{8.5cm}{
320           Ausw"urfeln der Zufallszahlen:\\
321           $R_5$, $R_6$, $R_7$ entsprechend Reichweitenverteilung
322         }}}}
323         \ncline[]{->}{weiter_2}{random2}
324
325         \rput(7,3){\rnode{koord_wahl_i}{\psframebox[fillstyle=solid,fillcolor=green]{\parbox{7cm}{
326           Bestimmung von $\vec{r}(k,l,m)$ durch Abbildung von $R_5$, $R_6$ und $R_7$ auf $k$, $l$ und $m$
327         }}}}
328         \ncline[]{->}{random2}{koord_wahl_i}
329
330         \rput(7,1){\rnode{inc_c}{\psframebox[fillstyle=solid,fillcolor=green]{\parbox{7cm}{
331           Erh"ohung des Kohlenstoffs im Volumen $\vec{r}(k,l,m)$
332         }}}}
333         \ncline[]{->}{koord_wahl_i}{inc_c}
334
335         \rput(12,1){\rnode{weiter_3}{\psframebox{$\bigotimes$}}}
336         \ncline[]{->}{inc_c}{weiter_3}
337
338       \end{pspicture}
339       \caption{{\em NLSOP} Ablaufschema Teil 2: Einbau des Kohlenstoffs.}
340       \label{img:flowchart2}
341       \end{center}
342       \end{figure}
343
344     Nachdem das Ion die Sto"sprozesse beendet hat, kommt es im Target zur Ruhe.
345     Die Wahl des Volumens, in das das Ion eingebaut wird, ist analog zur Wahl der Ermittlung des zu sto"senden Volumens.
346     Lediglich die Implantationstiefe wird durch eine Zufallszahl bestimmt, deren Wahrscheinlichkeitsverteilung dem Konzentrationsprofil entspricht.
347     Zur Erzeugung der entsprechenden Zufallszahl wird wieder die in \ref{subsubsection:verwerf_meth} beschriebene Verwerfungsmethode benutzt.
348     In dem ausgew"ahlten W"urfel $\vec{r}(k,l,m)$ wird der Z"ahler f"ur den Kohlenstoff um eins erh"oht.
349
350     \subsection{Diffusion und Sputtern}
351
352       \begin{figure}[h]
353       \begin{center}
354       \begin{pspicture}(0,0)(15,14)
355
356         \rput(7,14){\rnode{weiter_4}{\psframebox{$\bigotimes$}}}
357
358         \rput(11,12){\rnode{is_d}{\psframebox[fillstyle=solid,fillcolor=yellow]{Durchlauf Vielfaches von $d_v$?}}}
359         \ncline[]{->}{weiter_4}{is_d}
360
361         \rput(3,12){\rnode{is_s}{\psframebox[fillstyle=solid,fillcolor=red]{Durchlauf vielfaches von $n$?}}}
362         \ncline[]{->}{is_d}{is_s}
363         \lput*{0}{nein}
364
365         \rput(11,10){\rnode{loop_d}{\psframebox[fillstyle=solid,fillcolor=yellow]{Gehe alle/verbleibende Volumina durch}}}
366         \ncline[]{->}{is_d}{loop_d}
367         \lput*{0}{ja}
368
369         \rput(11,9){\rnode{d_is_amorph}{\psframebox[fillstyle=solid,fillcolor=yellow]{Volumen $\vec{r}(k,l,m)$ amorph?}}}
370         \ncline[]{->}{loop_d}{d_is_amorph}
371
372         \rput(11,7){\rnode{loop_dn}{\psframebox[fillstyle=solid,fillcolor=yellow]{\parbox{4cm}{
373           Gehe alle/verbleibende\\
374           direkte Nachbarn durch
375         }}}}
376         \ncline[]{->}{d_is_amorph}{loop_dn}
377         \lput*{0}{ja}
378
379         \rput(11,6){\rnode{is_cryst}{\psframebox[fillstyle=solid,fillcolor=yellow]{Nachbarvolumen kristallin?}}}
380         \ncline[]{->}{loop_dn}{is_cryst}
381
382         \rput(12,4){\rnode{transfer}{\psframebox[fillstyle=solid,fillcolor=yellow]{\parbox{3.5cm}{
383           "Ubertrage den Anteil $d_r$ des Kohlenstoffs
384         }}}}
385         \ncline[]{->}{is_cryst}{transfer}
386         \lput*{0}{ja}
387
388         \rput(11,3){\rnode{check_dn}{\psframebox[fillstyle=solid,fillcolor=yellow]{Alle Nachbarn durch?}}}
389         \ncline[]{->}{transfer}{check_dn}
390         \rput(9.5,5){\pnode{h1}}
391         \ncline[]{is_cryst}{h1}
392         \rput(9.5,3.2){\pnode{h2}}
393         \ncline[]{->}{h1}{h2}
394         \lput*{0}{nein}
395         \rput(14,3){\pnode{h3}}
396         \ncline[]{check_dn}{h3}
397         \rput(14,7){\pnode{h4}}
398         \ncline[]{h3}{h4}
399         \lput*{0}{nein}
400         \ncline[]{->}{h4}{loop_dn}
401
402         \rput(11,1){\rnode{check_d}{\psframebox[fillstyle=solid,fillcolor=yellow]{Alle Volumina durch?}}}
403         \ncline[]{->}{check_dn}{check_d}
404         \lput*{0}{ja}
405         \rput(14.9,1){\pnode{h5}}
406         \ncline[]{check_d}{h5}
407         \rput(14.9,10){\pnode{h6}}
408         \ncline[]{h5}{h6}
409         \lput*{0}{nein}
410         \ncline[]{->}{h6}{loop_d}
411         \rput(7,1){\pnode{h7}}
412         \ncline[]{check_d}{h7}
413         \lput*{0}{ja}
414         \rput(7,11){\pnode{h8}}
415         \ncline[]{h7}{h8}
416         \rput(5.4,11.9){\pnode{h9}}
417         \ncline[]{->}{h8}{h9}
418
419         \rput(8,9){\pnode{h10}}
420         \rput(8,3){\pnode{h11}}
421         \ncline[]{-}{d_is_amorph}{h10}
422         \ncline[]{-}{h10}{h11}
423         \lput*{0}{nein}
424         \ncline[]{->}{h11}{check_d}
425
426         \rput(3,9){\rnode{s_p}{\psframebox[fillstyle=solid,fillcolor=red]{\parbox{7cm}{
427           Sputterroutine:\\
428           \begin{itemize}
429             \item Kopiere Inhalt von Ebene $i$ nach\\
430                   Ebene $i-1$ f"ur $i = Z,Z-1,\ldots ,2$
431             \item Setze Status jedes Volumens in Ebene $Z$ kristallin
432             \item Setze Kohlenstoff jedes Volumens in Ebene $Z$ auf Null
433           \end{itemize}
434         }}}}
435         \ncline[]{->}{is_d}{loop_d}
436         \lput*{0}{ja}
437         \ncline[]{->}{is_s}{s_p}
438
439         \rput(3,5){\rnode{check_n}{\psframebox{\parbox{4cm}{
440           Anzahl Durchl"aufe entsprechend Dosis?
441         }}}}
442         \ncline[]{->}{s_p}{check_n}
443
444         \rput(5,3){\rnode{start}{\psframebox{{\em NLSOP} Start}}}
445         \ncline[]{->}{check_n}{start}
446         \lput*{0}{nein}
447         \rput(1,3){\rnode{stop}{\psframebox{{\em NLSOP} Stop}}}
448         \ncline[]{->}{check_n}{stop}
449         \lput*{0}{ja}
450
451       \end{pspicture}
452       \caption{{\em NLSOP} Ablaufschema Teil 2: Diffusion (gelb) und Sputtervorgang (rot).}
453       \label{img:flowchart3}
454       \end{center}
455       \end{figure}
456
457     Im Folgenden wird auf die Realisierung der Diffusion eingegangen.
458     Die Simulation geht der Reihe nach alle Volumina durch.
459     Im Falle eines amorphen Volumens werden aus direkt anliegenden kristallinen Volumina ein Anteil $d_r$ des Kohlenstoffs abgezogen und zu dem amorphen Volumen addiert.
460     Da nur ganze Atome "ubertragen werden k"onnen, wird der Betrag auf die n"achst kleinere ganze Zahl abgerundet.
461     Dieser Diffusionsvorgang wird alle $d_v$ Schritte ausgef"uhrt.
462
463     Hier sei angemerkt, dass die Simulation prinzipiell auch Diffusion von Kohlenstoff innerhalb kristalliner Volumina behandeln kann.
464     Die erste Idee war, dass Kohlenstoff in kristalline Gebiete diffundieren kann, die bereits einen gro"sen Anteil ihres Kohlenstoffs an einen amorphen Nachbarn abgegeben haben.
465     Da jedoch das Konzentrationsprofil durch Diffusionsprozesse nicht ver"andert wird \cite{goetz}, wurde die rein kristalline Diffusion in $z$-Richtung ausgeschlossen.
466     %Da weiterhin die Implantationsprofile von experimentellen Messungen und {\em TRIM}-Simulationen recht gut "ubereinstimmen, kann Diffusion in $z$-Richtung tats"achlich ausgeschlossen werden.
467     Eine Vorzugsrichtung der Diffusion ist unphysikalisch, weshalb die gesamte Diffusion innerhalb kristalliner Gebiete in den folgenden Simulationen ausgeschlossen wurde.
468     Als Relikt bleibt die Option die Diffusion auch vom Kristallinen ins Amorphe in $z$-Richtung auszuschalten.
469     Setzt sich die Diffusionsrate aus einem Beitrag $d_r^{x,y}$ f"ur Diffusion in der Ebene und einem Beitrag $d_r^z$ f"ur Diffusion in $z$-Richtung zusammen, so kann durch diese Option $d_r^z = 0$ gesetzt werden.
470
471     Die Sputterroutine wird nach der Dosis, die einem Abtrag von einer Ebene von Zellen ($3 \, nm$) entspricht, ausgef"uhrt und bewirkt, dass diese oberste Ebene entfernt wird.
472     Der Zusammenhang zwischen Sputterrate $S$ und Anzahl der Simulationsdurchl"aufe $n$ ist demnach wie folgt gegeben:
473     \begin{equation}
474     S = \frac{(3 \, nm)^3 XY }{n} \quad \textrm{.}
475     \end{equation}
476     Nach $n$ Simulationsdurchl"aufen wird eine kohlenstofffreie, kristalline Ebene von unten her eingeschoben.
477     Der Inhalt der Ebene $i$ wird auf die Ebene $i-1$ (f"ur $i = Z, Z-1, \ldots, 2$) "uberschrieben.
478     Die Information der obersten Ebene $i=1$ geht dabei verloren.
479     Diese entspricht der abgetragenen Ebene.
480     Die Ebene $i=Z$ erh"alt kristallinen Status und die Kohlenstoffkonzentration Null.
481
482     Dies macht allerdings nur Sinn, wenn das Implantationsprofil und die nukleare Bremskraft f"ur die Ebenen tiefer $Z$ auf Null abgefallen sind, um kristalline, kohlenstofffreie Ebenen zu garantieren.
483     Daher wird das Sputtern nur in Simulationen "uber gro"se Tiefenbereiche ber"ucksichtigt.
484
485     Die Sputterrate kann durch {\em TRIM} beziehungsweise Messungen des Kohlenstoffprofils bestimmt werden.
486     Bei den gegebenen Bedingungen werden ungef"ahr $50 \, nm$ des Targets bei einer Dosis von $4,3 \times 10^{-17} cm^{-2}$ abgetragen \cite{basic_phys_proc}.
487
488   \section{Simulierte Tiefenbereiche}
489   \label{section:sim_tiefenbereich}
490
491   Wie bereits erw"ahnt wurden zwei verschiedene Versionen des Programms entwickelt. Sie simulieren zwei unterschiedlich gro"se Tiefenbereiche, welche im Folgenden Simulationsfenster genannt werden.
492
493   Da in erster Linie der Selbstorganisationsprozess der lamellaren Ausscheidungen an der vorderen Grenzfl"ache der amorphen $SiC_x$-Schicht simuliert werden soll, behandelt die erste Version den Tiefenbereich von der Oberfl"ache bis zum Beginn der durchgehend amorphen Schicht.
494   Dies entspricht einer Tiefe von ungef"ahr $300 \, nm$ und somit einer Anzahl von $Z=100$ W"urfeln in $z$-Richtung.
495
496   Wie in Abbildung \ref{img:bk_impl_p} gut zu erkennen ist, kann in diesem Tiefenbereich sowohl die Reichweitenverteilung, als auch die nukleare Bremskraft durch eine von der Tiefe linear abh"angige Funktion gen"ahert werden.
497   Daher ergeben sich "Anderungen zu den im vorigen Abschnitt erkl"arten Methoden zur Wahl des Volumens, in dem ein Sto"sprozess beziehungsweise eine Konzentrationserh"ohung stattfindet.
498
499   Die Zufallszahl $z$, die auf die Tiefenkoordinate $m$ abgebildet wird, muss der Verteilung $p(z)dz = (sz + s_0)dz$ gen"ugen.
500   Dabei beschreiben $s$ und $s_0$ die linear gen"aherte nukleare Bremskraft.
501   Die Transformation wird wie in Abschnitt \ref{subsubsection:lin_g_p} beschrieben durchgef"uhrt.
502   Dasselbe betrifft die Wahl der Tiefenkoordinate f"ur den Einbau des Kohlenstoffatoms.
503   Anstatt der Wahrscheinlichkeitsverteilung der nuklearen Bremskraft entsprechend, wird eine Verteilung entsprechend dem linear gen"aherten Implantationsprofil verwendet.
504   Au"serdem wird nicht nach jedem Durchlauf ein Ion im Simulationsbereich zur Ruhe kommen.
505   Da das Maximum der Reichweitenverteilung sehr viel tiefer liegt, werden die meisten Ionen au"serhalb des Simulationsfensters liegen bleiben.
506   Daher wird immer nur dann ein Ion eingebaut, wenn der im Simulationsbereich vorhandene Kohlenstoff $n_c$ kleiner als die Anzahl der Durchl"aufe $n$ multipliziert mit dem Verh"altnis der Fl"ache der Kohlenstoffverteilungskurve $c_C(z)$ bis $300 \, nm$ zur Fl"ache der gesamten Kohlenstoffverteilungskurve ist.
507   \begin{equation}
508   n_c < n \frac{\int_0^{300 nm} c_C(z) dz}{\int_0^{\infty} c_C(z) dz}
509   \end{equation}
510
511   Da sowohl die Reichweitenverteilung, als auch die nukleare Bremskraft in Ebenen gr"osser $Z$ ungleich Null ist, kann Sputtern nicht beachtet werden.
512   Der Diffusionsprozess ist uneingeschr"ankt m"oglich.
513   In der ersten Version wurde der Einfluss der amorph/kristallinen Struktur direkter Nachbarn auf die Rekristallisation nach \eqref{eq:p_ac_genau} noch nicht beachtet.
514   Die Rekristallisationswahrscheinlichkeit ergibt sich hier aus \eqref{eq:p_ac_local}.
515   Die Rechenzeit einer Simulation mit $3 \times 10^7$ Durchl"aufen, einem $64 \times 64 \times 100$ gro"sem Target, einem Treffer pro Durchlauf und Diffusion alle $100$ Schritte, betr"agt auf einem $900 Mhz$ {\em Pentium 3} ungef"ahr $3$ Stunden.
516
517   In der zweiten Version wird die gesamte Implantationstiefe simuliert.
518   Das Simulationsfenster geht von $0-700 \, nm$.
519   Dies entspricht einer Anzahl $Z=233$ von W"urfeln in $z$-Richtung.
520
521   Die Tiefenkoordinaten f"ur den Sto"sprozess und die Kohlenstoffinkorporation werden, wie in Abschnitt \ref{subsection:a_r_step} beschrieben, nach der Verwerfungsmethode entsprechend dem nuklearen Bremskraftprofil und der Reichweitenverteilung gewonnen.
522
523    Da sowohl der nukleare Energieverlust als auch die Kohlenstoffkonzentration in Ebenen gr"osser $Z$ auf Null abgesunken ist, kann die Sputterroutine ausgef"uhrt werden.
524    Der Diffusionsprozess ist ebenfalls uneingeschr"ankt m"oglich.
525    Auf dem selben Rechner ben"otigt eine Simulation f"ur ein Target der oben genannten Ausdehnung, einer Anzahl von $100$ Treffern pro Ion und $160 \times 10^6$ Schritten mit Diffusion alle $10^6$ Schritte ungef"ahr $3$ Tage.
526
527   \section{Test der Zufallszahlen}
528
529   Die Simulation kann auf zwei verschiedene Arten die ben"otigten Zufallszahlen beziehen.
530   Die erste M"oglichkeit ist das Lesen der Zufallszahlen aus einer speziellen, vom Betriebssystem bereitgestellten Zeichendatei {\em /dev/urandom}.
531   Das Betriebssystem generiert aus dem Rauschen einiger Treiber, zum Beispiel den Treibern f"ur Tastatur, Maus und Festplatte einen Vorrat an Entropie.
532   Eine Zufallszahl wird durch Anwendung des {\em SHA}-Algorithmus (kurz f"ur {\bf S}ecure {\bf H}ash {\bf A}lgorithm) auf den Inhalt des Entropievorrates erzeugt.
533   Eine zweite M"oglichkeit ist die Verwendung des Zufallszahlengenerators der Standardbibliothek der Programmiersprache {\em C}.
534   Dieser generiert die Zufallszahlensequenz nach der im Abschnitt \ref{subsection:rand_gen} vorgestellten linearen Kongruenzmethode.
535   Das zuletzt genannte Verfahren ist damit unabh"angig vom Betriebssystem.
536
537   F"ur vern"unftige Ergebnisse muss die Qualit"at der Zufallszahlen gesichert sein.
538   Es gibt viele statistische Tests um eine Zahlenfolge auf ihre Verteilung beziehungsweise Zuf"alligkeit zu "uberpr"ufen.
539   Die am h"aufigsten verwendeten Testverfahren sind der $\chi^2$-Test und der Kolmogorov-Smirnov-Test \cite{knuth}.
540   
541   Im Folgenden soll nur kontrolliert werden, dass f"ur gleichverteilte Zufallszahlen keine lokalen Anh"aufungen von Zahlen existieren.
542   Desweiteren werden die Methoden zur Erzeugung spezieller Wahrscheinlichkeitsverteilungen durch Vergleich der H"aufigkeit auftretender Zufallszahlen mit dem gew"unschten Verlauf "uberpr"uft.
543
544   Dazu werden f"ur die unterschiedlichen Verteilungen jeweils 10 Millionen Zufallszahlen zwischen $0$ und $232$ erzeugt und auf die n"achst kleinere ganze Zahl abgerundet.
545   Ein einfaches Scriptprogramm ({\em random\_parse.sh}, Anhang \ref{section:hilfsmittel}) z"ahlt die H"aufigkeit der einzelnen Zufallszahlen in der Zufallszahlensequenz.
546
547   \printimg{h}{width=13cm}{random.eps}{H"aufigkeit ganzzahliger Zufallszahlen unterschiedlicher Wahrscheinlichkeitsverteilungen. F"ur jede Verteilung wurden 10 Millionen Zufallszahlen ausgew"urfelt.}{img:random_distrib}
548   Abbildung \ref{img:random_distrib} zeigt die H"aufigkeit von Zufallszahlen zwischen $0$ und $232$, abgerundet auf die n"achst kleinere ganze Zahl, f"ur unterschiedliche Wahrscheinlichkeitsverteilungen.
549   Die blauen Punkte zeigen die Gleichverteilung nach \eqref{eq:gleichverteilte_r}.
550   Man erkennt keine lokalen Anh"aufungen.
551   Die roten Punkte zeigen die H"aufigkeit der Zufallszahlen bei Verwendung einer linear steigenden Wahrscheinlichkeitsverteilung wie in Abschnitt \ref{subsubsection:lin_g_p} beschrieben.
552   Dabei wurde $a=1$, $b=0$ und $Z=233$ gew"ahlt.
553   Wie erwartet zeigen die Punkte einen linearen Verlauf.
554   Die H"aufigkeiten, der mit der Verwerfungsmethode erzeugten Zufallszahlen entsprechend der nuklearen Bremskraft (gr"un) und dem Implantationsprofil (schwarz), stimmen sehr gut mit den Profilen in Abbildung \ref{img:bk_impl_p} "uberein.
555
556