\chapter{Simulation}
+\label{chapter:simulation}
Im Folgenden soll die Implementation der Monte-Carlo-Simulation nach dem vorangegangen Modell diskutiert werden.
Die Simulation tr"agt den Namen {\em NLSOP}, was kurz f"ur die Schlagw"orter {\bf N}ano, {\bf L}amelle und {\bf S}elbst{\bf O}ragnisations{\bf P}rozess steht.
Jeder W"urfel hat entweder den Zustand amorph (rot) oder ist kristallin (blau).
Die lokale Anzahl der implantierten Kohlenstoffatome wird ebenfalls protokolliert.
+ Die Ausdehnung des Targets in $x,y$-Richtung ist im Gegensatz zur Tiefe sehr gross und kann als unendlich ausgedehnt angenommen werden.
+ Um die Anzahl der W"urfel in diese Richtungen in der Simulation, aus Gr"unden der Rechenzeit, m"oglichst klein halten zu k"onen, werden periodische Randbedingungen in der $x,y$-Ebene verwendet.
+
\subsection{Amorphisierung und Rekristallisation}
\label{subsection:a_and_r}
Die Parameter sind ebenfalls frei w"ahlbar.
Diffusion innerhalb kristalliner Gebiete sowie Diffusion innerhalb amorpher Gebiete wird ausgeschlossen.
+ Prinzipiell sollte man den Kohlenstoff"ubertrag abh"angig von dem bereits vorhandenen Kohlenstoff in dem amorphen Volumen bestimmen.
+ Da die implantierte Dosis maximal die St"ochiometridosis und der Parameter $d_r$ gro"s genug gew"ahlt ist, kommt es nicht zur "Ubers"attigung.
+ Der Kohlenstoff in kristallinen Gebieten ist also immer bestrebt in amorphe Gebiete zu diffundieren um die sehr viel geringere S"attigung im Kristallinen zu reduzieren.
+
\subsection{Sputtern}
Es wird von einer, "uber der Oberfl"ache gleichm"assig verteilten und w"ahrend des Implantationsvorgangs konstanten Sputterrate ausgegangen.
Eine Anzahl von $N$ Durchl"aufen ist damit "aquivalent zur Dosis $D$, die wie folgt gegeben ist:
\begin{equation}
D = \frac{N}{XY(3 nm)^2} \, \textrm{.}
+ \label{eq:dose_steps}
\end{equation}
Es wird mit einem komplett kristallinen und kohlenstofffreien Target gestartet.
\subsection{Amorphisierung und Rekristallisation}
+ \label{subsection:a_r_step}
Im ersten Schritt sollen die Kollisionen und die daraus resultierende Amorphisierung beziehungsweise Rekristallisation simuliert werden.
Zun"achst muss das gestossene Volumen ausgew"ahlt werden.
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.
Somit hat man den Otrsvektor $\vec{r}(k,l,m)$ f"ur den Amorphisierungs- oder Rekristallisationsvorgang festgelegt.
Nun kann die Amorphisierungs- beziehungsweise Rekristallisationswahrscheinlichkeit nach \eqref{eq:p_ca_local} beziehungsweise \eqref{eq:p_ac_genau} berechnet werden.
- Eine weiter Zufallszahl $r_4 \in [0,1[$ entscheidet dann "uber einen eventuellen Statuswechsel des Volumens.
+ Eine weitere Zufallszahl $r_4 \in [0,1[$ entscheidet dann "uber einen eventuellen Statuswechsel des Volumens.
Es gibt folgende M"oglichkeiten:
\begin{enumerate}
\item Volumen $\vec{r}(k,l,m)$ ist kristallin.\\
\subsection{Diffusion und Sputtern}
+ Die Diffusions-Routine ist wie folgt realisiert.
+ Die Simulation geht der Reihe nach alle Volumina durch.
+ Im Falle eines amorphen Volumens werden aus direkt anliegenden kristallinen Volumen der Anteil $d_r$ des Kohlenstoffs abgezogen und zu dem amorphen Volumen addiert.
+ Da nur ganze Atome "ubertragen werden k"onnen wird der Betrag auf die n"achst kleinere ganze Zahl abgerundet.
+ Dieser Diffusionsvorgang wird alle $d_v$ Schritte ausgef"uhrt.
+
+ Die Sputter-Routine wird nach der Dosis, die einem Abtrag von $3 nm$ enstpricht ausgef"uhrt.
+ Der Zusammenhang zwischen Sputterrate $S$ und Anzahl der Simulationsdurchl"aufe $n$ ist demnach wie folgt gegeben:
+ \begin{equation}
+ S = \frac{(3 nm)^3 XY }{n} \quad \textrm{.}
+ \end{equation}
+ Nach $n$ Simulationsdurchl"aufen wird eine kohlenstofffreie, kristalline Ebene von unten her eingeschoben.
+ Dies geschieht wie folgt.
+ Der Inhalt der Eben $i$ wrd auf die Ebene $i-1$ (f"ur $i = Z, Z-1, \ldots, 2$) "uberschrieben.
+ Die Information der obersten Ebene $i=1$ geht dabei verloren.
+ Diese entspricht der abgetragenen Ebene.
+ Die Ebene $i=Z$ erh"alt kristallinen Status und die Kohlenstoffkonzentration Null.
+
+ 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.
+
+ Die Sputterrate kann durch {\em TRIM} bestimmt werden.
+ Bei den gegebenen Bedingungen werden ungef"ahr $50 nm$ des Targets bei einer Dosis von $4,3 \times 10^{-17} cm^{-2}$ abgetragen.
+
\section{Simulierte Tiefenbereiche}
+ \label{section:sim_tiefenbereich}
+
+ Wie bereits erw"ahnt gibt es zwei verschiedene Versionen des Programms, die verschiedene Tiefenbereiche, im Folgenden Simulationsfenster genannt, simulieren.
+
+ Da in erster Linie der Selbstorganisationsprozess der lamellaren Ausscheidungen an der vorderen Grenzfl"ache der amorphen $SiC_x$-Schicht simuliert werden soll, ist der Tiefenbereich der ersten Version gerade bis zu Beginn der durchgehenden Schicht.
+ Dies entspricht einer Tiefe von ungef"ahr $300 nm$, und somit einer Anzahl von $Z=100$ W"urfeln in $z$-Richtung.
+
+ Wie in \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.
+ Daher ergeben sich "Anderungen zu den im vorigen Abschnitt erkl"arten Methoden zur Wahl des Volumens in dem ein Sto"sprozess beziehungsweise eine Kohlenstofferh"ohung stattfindet.
+
+ Die Zufallszahl $z$, die auf die Tiefen-Koordinate $m$ abgebildet wird, muss der Verteilung $p(z)dz = (sz + s_0)dz$ gen"ugen.
+ Dabei sind $s$ unnd $s_0$ die linear gen"aherte nukleare Bremskraft beschreibende Simulationsparameter.
+ Die Transformation wird wie in Abschnitt \ref{subsubsection:lin_g_p} beschrieben durchgef"uhrt.
+ Dasselbe betrifft die Wahl der Tiefen-Koordinate f"ur den Einbau des Kohlenstoffatoms.
+ Anstatt der Wahrscheinlichkeitsverteilung der nuklearen Bremskraft entsprechend wird das linear gen"aherte Implantationsprofil verwendet.
+ Ausserdem wird nicht nach jedem Durchlauf ein Ion im Simulationsbereich zur Ruhe kommen.
+ Da das Maximum der Reichweitenverteilung sehr viel tiefer liegt werden die meisten Ionen ausserhalb des Simulationsfensters stehen bleiben.
+ 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 Implantationskurve $I(x)$ bis $300 nm$ zur Fl"ache der gesamten Implantationskurve ist.
+ \begin{equation}
+ n_c < n \frac{\int_0^{300 nm} I(x) dx}{\int_0^{\infty} I(x) dx}
+ \end{equation}
+
+ Da sowohl die Reichweitenverteilung als auch die nukleare Bremskraft in Ebenen gr"osser $Z$ ungleich Null ist kann Sputtern nicht beachtet werden.
+ Der Diffusionsprozess ist uneingeschr"ankt "moglich.
+
+ Hier sei angemerkt, dass die Simulation prinzipiell auch Diffusion von Kohlenstoff innerhalb kristalliner Volumina behandeln kann.
+ Die erste Idee war, dass Kohlenstoff in kristalline Gebiete diffundieren kann, die bereits einen grossen Anteil ihres Kohlenstoffs an einen amorphen Nachbarn abgegeben haben.
+ Da jedoch das Konzentartionsprofil durch Diffusionsprozesse nicht ver"andert werden darf, wurde die rein kristalline Diffusion in $z$-Richtung ausgeschlossen.
+ Da weiterhin die Implantationsprofile von experimentellen Messungen und {\em TRIM}-Simulationen recht gut "ubereinstimmen, kann Diffusion in $z$-Richtung tats"achlich ausgeschlossen werden.
+ Eine Vorzugsrichtung der Diffusion ist unphysikalisch, weshalb die Diffusion innerhalb kristalliner Gebiete in weiteren Simulationen ausgeschlossen wurde.
+ Als Relikt bleibt die Option die Diffusion in $z$-Richtung auszuschalten.
+
+ In der zweiten Version wird die gesamte Implantationstiefe simuliert.
+ Das Simulationsfenster geht von $0-700 nm$.
+ Dies entspricht einer Anzahl $Z=233$ von W"urfeln in $z$-Richtung.
+
+ Die Tiefen-Koordinaten f"ur den Sto"sprozess und die Kohelnstoffinkorporation werden wie in Abschnitt \ref{subsection:a_r_step} beschrieben nach der Verwerfungsmethode entsprechend dem nuklearen Bremskraftprofil und der Reichweitenverteilung gewonnen.
+
+ Da sowohl der nukleare Energieverlust und die Kohlenstoffkonzentration in Ebenen gr"osser $Z$ auf Null abgesunken ist, kann die Sputterroutine ausgef"uhrt werden.
+ Der Diffusionsprozess ist ebenfalls uneingeschr"ankt m"oglich.
\section{Test der Zufallszahlen}
+ F"ur vern"unftige Ergebnisse muss die Qualit"at der Zufallszahlen gesichert sein.
+ Es gibt viele statistische Tests eine Zahlenfolge auf ihre Verteilung beziehungsweise Zuf"alligkeit zu "uberpr"ufen.
+
+ Im Folgenden soll nur kontrolliert werden, dass f"ur gleichverteilte Zufallszahlen keine lokalen Anh"aufungen von Zahlen existieren.
+ Desweiteren werden die Methoden zur Erzeugung spezieller Wahrscheinlichkeitsverteilungen durch Vergleich der H"aufigkeit auftretender Zufallszahlen mit dem gew"unschten Verlauf "uberpr"uft.
+
+ 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.
+ Ein einfaches Script-Programm z"ahlt die H"aufigkeit der einzelnen Zufallszahlen der Zufallszahlensequenz.
+
+ \begin{figure}[h]
+ \includegraphics[width=12cm]{random.eps}
+ \caption{H"aufigkeit ganzzahliger Zufallszahlen unterschiedlicher Wahrscheinlichkeitsverteilungen. F"ur jede Verteilung wurden 10 Millionen Zufallszahlen ausgew"urfelt.}
+ \label{img:random_distrib}
+ \end{figure}
+ 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.
+
+ Die blauen Punkte zeigen die Gleichverteilung nach \eqref{eq:gleichverteilte_r}.
+ Man erkennt keine lokalen Anh"aufungen.
+
+ Die roten Punkte zeigen die H"aufigkeit der Zufallszahlen bei Verwendung einer linear steigenden Wahrscheinlichkeitsverteilung wie in Abschnitt \ref{subsubsection:lin_g_p} beschrieben.
+ Dabei wurde $a=1$, $b=0$ und $Z=233$ gew"ahlt.
+ Wie erwartet zeigen die Punkte einen linearen Verlauf.
+
+ Die H"aufigkeit 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.
+
\section{Ablaufschema}
+ Das Ablaufshema ist aus Platzgr"unden in zwei Teile gegliedert.
+ Abbildung \ref{img:flowchart1} zeigt das Ablaufshema des Amorphisierungs- und Rekristallisationsvorgangs.
+ In Abbildung \ref{img:flowchart2} wird der Kohlenstoffeinbau sowie Diffusion und Sputtern behandelt.
+
+ \begin{figure}[h]
+ \begin{pspicture}(0,0)(12,18)
+
+ \rput(6,18){\rnode{start}{\psframebox{{\em NLSOP} Start}}}
+
+ \rput(6,16){\rnode{random1}{\psframebox{\parbox{7.5cm}{
+ Ausw"urfeln der Zufallszahlen:\\
+ $R_1$, $R_2$, $R_3$ entsprechend nuklearer Bremskraft\\
+ $R_4 \in [0,1[$
+ }}}}
+ \ncline[]{->}{start}{random1}
+
+ \rput(6,14){\rnode{koord_wahl}{\psframebox{\parbox{7.5cm}{
+ Bestimmung von $\vec{r}(k,l,m)$ durch Abbildung von $R_1$, $R_2$ und $R_3$ auf $k$, $l$ und $m$
+ }}}}
+ \ncline[]{->}{random1}{koord_wahl}
+
+ \rput(6,11){\rnode{berechnung_pca}{\psframebox{\parbox{12cm}{
+ Berechnung von $p_{c \rightarrow a}(\vec{r})$ und $p_{a \rightarrow c}(\vec{r})$:
+ \[
+ \begin{array}{lll}
+ 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} \\
+ p_{a \rightarrow c}(\vec r) & = & (1 - p_{c \rightarrow a}(\vec r)) \Big(1 - \frac{\sum_{direkte \, Nachbarn} \delta (\vec{r'})}{6} \Big)
+ \end{array}
+ \]
+ \[
+ \delta (\vec r) = \left\{
+ \begin{array}{ll}
+ 1 & \textrm{wenn Gebiet bei $\vec r$ amorph} \\
+ 0 & \textrm{sonst} \\
+ \end{array}
+ \right.
+ \]
+ }}}}
+ \ncline[]{->}{koord_wahl}{berechnung_pca}
+
+ \rput(6,8){\rnode{status}{\psframebox{Volumen $\vec{r}(k,l,m)$ amorph?}}}
+ \ncline[]{->}{berechnung_pca}{status}
+
+ \rput(3,6){\rnode{cryst}{\psframebox[linestyle=solid,linecolor=blue]{$R_4 \le p_{c \rightarrow a}$?}}}
+ \rput(9,6){\rnode{amorph}{\psframebox[linestyle=solid,linecolor=red]{$R_4 \le p_{a \rightarrow c}$?}}}
+ \ncline[]{->}{status}{cryst}
+ \lput*{0}{nein}
+
+ \ncline[]{->}{status}{amorph}
+ \lput*{0}{ja}
+
+ \rput(3,4){\rnode{do_amorph}{\psframebox[linestyle=solid,linecolor=red]{Setze Volumen amorph}}}
+ \ncline[]{->}{cryst}{do_amorph}
+ \lput*{0}{ja}
+
+ \rput(9,4){\rnode{do_cryst}{\psframebox[linestyle=solid,linecolor=blue]{Setze Volumen kristallin}}}
+ \ncline[]{->}{amorph}{do_cryst}
+ \lput*{0}{ja}
+
+ \rput(6,3){\rnode{check_h}{\psframebox{Anzahl der Durchl"aufe gleich Anzahl der Treffer pro Ion?}}}
+
+ \rput(6,6){\pnode{h_2}}
+ \ncline[]{amorph}{h_2}
+ \ncline[]{->}{h_2}{check_h}
+ \lput*{0}{nein}
+
+ \rput(6,6){\pnode{h_3}}
+ \ncline[]{cryst}{h_3}
+ \ncline[]{->}{h_3}{check_h}
+ \lput*{0}{nein}
+
+ \rput(13,3){\pnode{h_4}}
+ \rput(13,16){\pnode{h_5}}
+ \ncline[]{check_h}{h_4}
+ \ncline[]{h_4}{h_5}
+ \lput*{0}{nein}
+ \ncline[]{->}{h_5}{random1}
+
+ \ncline[]{->}{do_cryst}{check_h}
+ \ncline[]{->}{do_amorph}{check_h}
+
+ \rput(6,1){\rnode{weiter_1}{\psframebox{$\bigotimes$}}}
+ \ncline[]{->}{check_h}{weiter_1}
+ \lput*{0}{ja}
+
+ \end{pspicture}
+ \caption{{\em NLSOP} Ablaufshema Teil 1: Amorphisierung und Rekristallisation.}
+ \label{img:flowchart1}
+ \end{figure}
+
+ \begin{figure}[h]
+ \begin{pspicture}(0,0)(12,18)
+
+ \rput(6,18){\rnode{weiter_2}{\psframebox{$\bigotimes$}}}
+
+ \rput(6,16){\rnode{random2}{\psframebox[fillstyle=solid,fillcolor=green]{\parbox{7.5cm}{
+ Ausw"urfeln der Zufallszahlen:\\
+ $R_5$, $R_6$, $R_7$ entsprechend Reichweitenverteilung
+ }}}}
+ \ncline[]{->}{weiter_2}{random2}
+
+ \rput(2,14){\rnode{koord_wahl_i}{\psframebox[fillstyle=solid,fillcolor=green]{\parbox{7cm}{
+ Bestimmung von $\vec{r}(k,l,m)$ durch Abbildung von $R_5$, $R_6$ und $R_7$ auf $k$, $l$ und $m$
+ }}}}
+ \ncbar[angleA=180,angleB=180]{->}{random2}{koord_wahl_i}
+
+ \rput(10,14){\rnode{inc_c}{\psframebox[fillstyle=solid,fillcolor=green]{\parbox{7cm}{
+ Erh"ohung des Kohlenstoffs im Volumen $\vec{r}(k,l,m)$
+ }}}}
+ \ncline[]{->}{koord_wahl_i}{inc_c}
+
+ \rput(10,12){\rnode{is_d}{\psframebox[fillstyle=solid,fillcolor=yellow]{Durchlauf vielfaches von $d_v$?}}}
+ \ncline[]{->}{inc_c}{is_d}
+
+ \rput(2,12){\rnode{is_s}{\psframebox[fillstyle=solid,fillcolor=red]{Durchlauf vielfaches von $n$?}}}
+ \ncline[]{->}{is_d}{is_s}
+ \lput*{0}{nein}
+
+ \rput(10,10){\rnode{loop_d}{\psframebox[fillstyle=solid,fillcolor=yellow]{Gehe alle/verbleibende Volumina durch?}}}
+ \ncline[]{->}{is_d}{loop_d}
+ \lput*{0}{ja}
+
+ \rput(10,9){\rnode{d_is_amorph}{\psframebox[fillstyle=solid,fillcolor=yellow]{Volumen $\vec{r}(k,l,m)$ amorph?}}}
+ \ncline[]{->}{loop_d}{d_is_amorph}
+
+ \rput(10,7){\rnode{loop_dn}{\psframebox[fillstyle=solid,fillcolor=yellow]{\parbox{4cm}{
+ Gehe alle/verbleibende\\
+ direkte Nachbarn durch
+ }}}}
+ \ncline[]{->}{d_is_amorph}{loop_dn}
+ \lput*{0}{ja}
+
+ \rput(10,6){\rnode{is_cryst}{\psframebox[fillstyle=solid,fillcolor=yellow]{Nachbarvolumen kristallin?}}}
+ \ncline[]{->}{loop_dn}{is_cryst}
+
+ \rput(11,4){\rnode{transfer}{\psframebox[fillstyle=solid,fillcolor=yellow]{\parbox{3.5cm}{
+ "Ubertrage den Anteil $d_r$ des Kohlenstoffs
+ }}}}
+ \ncline[]{->}{is_cryst}{transfer}
+ \lput*{0}{ja}
+
+ \rput(10,3){\rnode{check_dn}{\psframebox[fillstyle=solid,fillcolor=yellow]{Alle Nachbarn durch?}}}
+ \ncline[]{->}{transfer}{check_dn}
+ \rput(8.5,5){\pnode{h1}}
+ \ncline[]{is_cryst}{h1}
+ \rput(8.5,3.2){\pnode{h2}}
+ \ncline[]{->}{h1}{h2}
+ \lput*{0}{nein}
+ \rput(13,3){\pnode{h3}}
+ \ncline[]{check_dn}{h3}
+ \rput(13,7){\pnode{h4}}
+ \ncline[]{h3}{h4}
+ \lput*{0}{nein}
+ \ncline[]{->}{h4}{loop_dn}
+
+ \rput(10,1){\rnode{check_d}{\psframebox[fillstyle=solid,fillcolor=yellow]{Alle Volumina durch?}}}
+ \ncline[]{->}{check_dn}{check_d}
+ \lput*{0}{ja}
+ \rput(13.5,1){\pnode{h5}}
+ \ncline[]{check_d}{h5}
+ \rput(13.5,10){\pnode{h6}}
+ \ncline[]{h5}{h6}
+ \lput*{0}{nein}
+ \ncline[]{->}{h6}{loop_d}
+ \rput(6,1){\pnode{h7}}
+ \ncline[]{check_d}{h7}
+ \lput*{0}{ja}
+ \rput(6,11){\pnode{h8}}
+ \ncline[]{h7}{h8}
+ \rput(4.4,11.9){\pnode{h9}}
+ \ncline[]{->}{h8}{h9}
+
+ \rput(2,9){\rnode{s_p}{\psframebox[fillstyle=solid,fillcolor=red]{\parbox{7cm}{
+ Sputterroutine:\\
+ \begin{itemize}
+ \item Kopiere Inhalt von Ebene $i$ nach\\
+ Ebene $i-1$ f"ur $i = Z,Z-1,\ldots ,2$
+ \item Setze Status jedes Volumens in Ebene $Z$ kristallin
+ \item Setze Kohlenstoff jedes Volumens in Ebene $Z$ auf Null
+ \end{itemize}
+ }}}}
+ \ncline[]{->}{is_d}{loop_d}
+ \lput*{0}{ja}
+ \ncline[]{->}{is_s}{s_p}
+
+ \rput(2,5){\rnode{check_n}{\psframebox{\parbox{4cm}{
+ Anzahl Durchl"aufe entsprechend Dosis?
+ }}}}
+ \ncline[]{->}{s_p}{check_n}
+
+ \rput(4,3){\rnode{start}{\psframebox{{\em NLSOP} Start}}}
+ \ncline[]{->}{check_n}{start}
+ \lput*{0}{nein}
+ \rput(0,3){\rnode{stop}{\psframebox{{\em NLSOP} Stop}}}
+ \ncline[]{->}{check_n}{stop}
+ \lput*{0}{ja}
+
+ \end{pspicture}
+ \caption{{\em NLSOP} Ablaufshema Teil 2: Kohlenstoffeinbau (gr"un), Diffusion (gelb) und Sputtervorgang (rot).}
+ \label{img:flowchart2}
+ \end{figure}
+