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