X-Git-Url: https://hackdaworld.org/gitweb/?p=lectures%2Flatex.git;a=blobdiff_plain;f=nlsop%2Fdiplom%2Fsimulation.tex;h=5aa3c1b365769fedb232837b7e867eb425152e3d;hp=c172d7ac15709b67934f46890ab138d349317e64;hb=4c9db3de5909e7e9aef61601cc33c64518c3ec7e;hpb=b139af50865e37b3d95ad927a6e47de8204ab349 diff --git a/nlsop/diplom/simulation.tex b/nlsop/diplom/simulation.tex index c172d7a..5aa3c1b 100644 --- a/nlsop/diplom/simulation.tex +++ b/nlsop/diplom/simulation.tex @@ -1 +1,556 @@ \chapter{Simulation} +\label{chapter:simulation} + +Im Folgenden soll die Implementation der Monte-Carlo-Simulation nach dem vorangegangenen Modell diskutiert werden. +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. +Die Simulation ist in der Programmiersprache {\em C} \cite{kerningham_ritchie} geschrieben. +Der Simulationscode wurde auf Computern der {\em IA32}-Prozessorarchitektur mit dem {\em GNU C Compiler} auf einem Linux Bestriebssystem "ubersetzt und betrieben. + +Ziel der Simulation ist die Validierung des Modells anhand der experimentellen Ergebnisse, wie sie in Abbildung \ref{img:xtem_img} vorliegen. +Es wurden zwei Versionen der Simulation erstellt, die unterschiedliche Tiefenbereiche abdecken. +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$. +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. +Auf weitere Unterschiede in den zwei Versionen wird in einem gesonderten Abschnitt genauer eingegangen. + +Die Simulation kann grob in drei Abschnitte unterteilt werden. +Im ersten Schritt werden die Kollisionen eines Ions im Target und die daraus resultierende Amorphisierung beziehungsweise Rekristallisation eines Gebietes simuliert. +Nachdem das Ion seine Energie durch St"o"se im Target abgegeben hat kommt es zur Ruhe. +Der Einbau des Kohlenstoffs im Target wird im zweiten Schritt ausgef"uhrt. +Als letztes wird die Diffusion von Kohlenstoff von kristallinen in amorphe Gebiete und der Sputtervorgang realisiert. + +Im Folgenden werden der Simulationsalgorithmus und die dazu ben"otigten Annahmen besprochen. +Ein weiterer Abschnitt besch"aftigt sich mit der Extraktion von, f"ur die Simulation notwendigen, Informationen aus {\em TRIM}-Ergebnissen. +Das Kapitel schlie"st mit dem Test der verwendeten Zufallszahlen. + + \section{Annahmen der Simulation} + + \subsection{Unterteilung des Targets} + \label{subsection:unterteilung} + + Wie in Abbildung \ref{img:sim_gitter} zu sehen ist, wird das Target in W"urfel mit der Seitenl"ange $a = 3 \, nm$ zerlegt. + \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} + Die Anzahl der W"urfel in $x$, $y$ und $z$ Richtung ist frei einstellbar. + Ein solches Volumen kann durch den Ortsvektor $\vec{r}(k,l,m)$, wobei $k$, $l$ und $m$ ganze Zahlen sind, adressiert werden. + 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 gro"s 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"onnen, werden periodische Randbedingungen in der $x,y$-Ebene verwendet. + + In Version 1 der Simulation wurden $x = y = 50$ beziehungsweise $x = y = 64$ und $z = 100$ gesetzt. + In Version 2 sind $x = y = 64$ und $z = 233$. + + Zum besseren Vergleich der Simulationsergebnisse mit den experimentell erhaltenen TEM-Aufnahmen k"onnen Querschnitte (Cross-Sections) der amorph/kristallinen Struktur als Bitmap ausgegeben werden. + Kristalline W"urfel sind schwarz und amorphe W"urfel wei"s dargestellt. + F"ur die $x-z$- beziehungsweise $y-z$-Querschnitte besteht die M"oglichkeit "uber mehrere Querschnitte zu mitteln. + 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. + + \subsection{Amorphisierung und Rekristallisation} + \label{subsection:a_and_r} + + Nach dem in Kapitel \ref{chapter:modell} vorgestellten Modell gibt es drei statistisch unabh"angige zur Amorphisierung beitragende Mechanismen. + 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 spannungsunterst"utzte Amorphisierung zusammen. + Sie wird wie folgt berechnet: + \begin{equation} + 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} + \label{eq:p_ca_local} + \end{equation} + + Der Beitrag der ballistischen Amorphisierung besteht nur aus der Konstanten $p_b$. + Die Wahrscheinlichkeit f"ur die ballistische Amorphisierung in einem Sto"s ist unabh"angig vom Ort und somit eine Konstante. + Sie hat die Einheit $1$. + 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. + Wieso dieser Beitrag in dieser Art sinnvoll ist, wird in Abschnitt \ref{subsection:parse_trim_coll} gekl"art. + + Die Wahrscheinlichkeit f"ur die kohlenstoffinduzierte Amorphisierung wird proportional zur lokalen Kohlenstoffkonzentration $c_C$ angenommen. + $p_c$ ist die dazugeh"orige Proportionalit"atskonstante und hat demnach die Einheit $[p_c] = m^3$. + + 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. + 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'}$. + Dies ist offensichtlich, denn je mehr Kohlenstoff in einem amorphen Volumen vorhanden ist, desto gr"o"ser ist die ausgehende Spannung auf die Umgebung. + Gleichzeitig ist der Beitrag indirekt proportional zum Abstandsquadrat $(\vec r - \vec{r'})^2$, da der Druck quadratisch mit der Entfernung abf"allt. + $p_s$ ist eine Proportionalit"atskonstante und hat somit die Einheit $[p_s] = m^5$. + + Die Rekristallisationswahrscheinlichkeit amorpher Gebiete $p_{a \rightarrow c}$ sollte sich genau entgegensetzt zu $p_{c \rightarrow a}$ verhalten und wird deshalb als + \begin{equation} + p_{a \rightarrow c}(\vec r) = 1 - p_{c \rightarrow a}(\vec r) + \label{eq:p_ac_local} + \end{equation} + angenommen. + Jedoch muss die direkte Nachbarschaft des Volumens ber"ucksichtigt werden. + 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. + Mit einer zunehmenden Anzahl von amorphen Nachbarn sollte die Rekristallisationswahrscheinlichkeit also sukzessive abnehmen und ganz verschwinden, wenn kein einziger kristalliner Nachbar vorhanden ist. + Mit der im Abschnitt \ref{subsection:unterteilung} beschriebenen Unterteilung hat ein Volumen genau sechs Grenzfl"achen, von denen die Rekristallisationsfront ausgehen kann. + Damit kann man \eqref{eq:p_ac_local} neu schreiben und man erh"alt: + \begin{equation} + 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{,} + \label{eq:p_ac_genau} + \end{equation} + mit + \begin{equation} + \delta (\vec r) = \left\{ + \begin{array}{ll} + 1 & \textrm{wenn Gebiet bei $\vec r$ amorph} \\ + 0 & \textrm{sonst} \\ + \end{array} + \right. + \label{eq:dedltafunc} + \end{equation} + + 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. + 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. + Durch Variation der gefundenen Parameter k"onnen dann die unterschiedlichen Einfl"usse der verschiedenen Amorphisierungsmechanismen untersucht und der Selbstorganisationsprozess verstanden werden. + + \subsection{Diffusion} + + Weiterhin sieht das Modell die M"oglichkeit der Diffusion von Kohlenstoff aus kristallinen in umliegende amorphe Volumina vor. + In Zeitintervallen $T_{Diff}$ wird ein Anteil $d_r$ des Kohlenstoffs eines kristallinen Volumens in das benachbarte amorphe Volumen transferiert. + Da von einem konstanten Strahlstrom ausgegangen wird, kann die Zeit $T_{Diff}$ auf eine Anzahl von implantierten Ionen $d_v$ abgebildet werden. + Die Diffusion des Kohlenstoffs von kristallinen in amorphe Gebiete wird also durch die zwei Parameter $d_r$ und $d_v$ gesteuert. + Die Parameter sind ebenfalls frei w"ahlbar. + Aus Gr"unden der Rechenzeit sollte die Diffusionsroutine nicht nach jedem implantierten Ion ausgef"uhrt werden. + Diffusion innerhalb kristalliner Gebiete sowie Diffusion innerhalb amorpher Gebiete wird ausgeschlossen. + Von einer m"oglichen Kohlenstoff"ubers"attigung im Amorphen wird nicht ausgegangen, da der Kohlenstoff in $a-Si$ gut l"oslich ist. + 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. + + \subsection{Sputtern} + + Es wird von einer, "uber der Oberfl"ache gleichm"a"sig verteilten und w"ahrend des Implantationsvorganges konstanten Sputterrate ausgegangen. + 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. + Jedesmal, nachdem das Programm diese Dosis durchlaufen hat, wird die Sputterroutine aufgerufen, welche die oberste Targetebene abtr"agt. + + \section{Statistik von Sto"sprozessen} + + F"ur die Simulation ben"otigt man die Statistik der Sto"sprozesse des Kohlenstoffs im Siliziumtarget unter den gegebenen Implantationsbedingungen. + 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. + {\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. + Durch die Abbildung von Zufallszahlen auf die so erhaltenen Verteilungen k"onnen die eigentlichen physikalischen Abl"aufe sehr schnell und einfach behandelt werden. + Im Folgenden wird auf die Ermittlung einiger f"ur {\em NLSOP} wichtiger Statistiken eingegangen. + + \subsection{Implantationsprofil und nukleare Bremskraft} + + \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} + \printimg{!h}{width=12cm}{trim_impl.eps}{Durch {\em SRIM 2003.26} berechnetes Implantationsprofil f"ur $180 \, keV$ $C^+ \rightarrow Si$.}{img:trim_impl} + + 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. + Die gestrichelte Linie markiert das Ionenprofilmaximum bei $500 \, nm$. + Sputtereffekte und Abweichungen aufgrund der kontinuierlich ver"anderten Targetzusammensetzung w"ahrend der Hochdosisimplantation werden von {\em TRIM} allerdings nicht ber"ucksichtigt. + Die Profile werden von {\em TRIM} selbst in separate Dateien geschrieben. + Tauscht man die Kommata (Trennung von Ganzzahl und Kommastelle) durch Punkte aus, so kann {\em NLSOP} diese Dateien auslesen und die Profile extrahieren. + + 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. + Dieses Profil verwendet {\em NLSOP} zum Einbau des Kohlenstoffs. + Das Implantationsmaximum liegt hier bei ungef"ahr $530 \, nm$. + Auff"allig ist eine Verschiebung des Maximums um $30 \, nm$ zu dem Maximum aus Abbildung \ref{img:bk_impl_p}. + Dies ist auf einen Unterschied in der Berechnung der elektronischen Bremskraft in den zwei {\em TRIM}-Versionen zur"uckzuf"uhren. + + \clearpage + + \subsection{Durchschnittliche Anzahl der St"o"se der Ionen und Energieabgabe} + \label{subsection:parse_trim_coll} + + Weiterhin bietet {\em TRIM} die M"oglichkeit eine Datei Namens {\em COLLISION.TXT} anzulegen, in der s"amtliche Sto"skaskaden protokolliert sind. + Zu jedem Sto"s sind Koordinaten und Energie"ubertrag angegeben. + Mit dem Programm {\em parse\_trim\_collision} (Anhang \ref{section:hilfsmittel}) kann diese Datei ausgewertet werden. + Die daraus gewonnenen Erkenntnisse sollen im Folgenden diskutiert werden. + F"ur diese Statistik wurden die Sto"skaskaden von $8300$ implantierten Ionen verwendet. + + \printimg{h}{width=12cm}{trim_coll.eps}{Auf das Maximum 1 skalierte tiefenabh"angige Energieabgabe (blau) und Anzahl der Kollisionen (rot).}{img:trim_coll} + 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. + Beide Graphen wurden auf das selbe Maximum skaliert. + Man erkennt, dass diese nahezu identisch sind. + Die durchschnittliche Energieabgabe pro Sto"s ist also ungef"ahr konstant und unabh"angig von der Tiefe. + Dies ist der Grund f"ur die Wahl eines konstanten Beitrags der ballistischen Amorphisierung in Abschnitt \ref{subsection:a_and_r}. + Jeder Sto"s "ubertr"agt durchschnittlich einen konstanten Energiebetrag im Falle einer Kollision und tr"agt somit einen konstanten Anteil zur Amorphisierungswahrscheinlichkeit bei. + + Desweiteren ist nun die Wahrscheinlichkeit f"ur eine Kollision in einer bestimmten Tiefe bekannt. + Sie ist proportional zur Anzahl der Kollisionen in dieser Tiefe. + 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. + + \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} + Zum Vergleich zeigt Abbildung \ref{img:trim_nel} die von {\em SRIM 2003.26} selbst berechnete nukleare Bremskraft. + Wie zu erwarten entspricht sie ungef"ahr dem Verlauf der in Abbildung \ref{img:trim_coll} gezeigten Energieabgabe. + Daher wird dieses Profil f"ur {\em NLSOP} zur Verteilung der Kollisionen im Target verwendet. + + 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. + Die Zahl der getroffenen W"urfel, also Volumina in denen ein Ion mindestens eine Kollision verursacht, ist sehr viel geringer. + Das Auswertungsprogramm {\em parse\_trim\_collision} z"ahlt durchschnittlich $75$ getroffene Volumina pro implantiertem Ion. + Genauer gesagt z"ahlt das Programm die Anzahl der Ebenen mit $3 \, nm$ H"ohe in denen Kollisionen verursacht werden. + Teilchenbahnen parallel zur Targetoberfl"ache verf"alschen diese Zahl. + Au"serdem werden mehrmalige Durchl"aufe der Ebenen nicht mitgez"ahlt. + 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. + Daher wird eine Trefferzahl von $h=100$ f"ur die Simulation angenommen. + + \section{Simulationsalgorithmus} + + Die Simulation kann in die drei Abschnitte Amorphisierung/Rekristallisation, Fremdatomeinbau und Diffusion/Sputtern gegliedert werden. + Die beschriebenen Prozeduren werden sequentiell abgearbeitet und beliebig oft durchlaufen. + Es wird mit einem komplett kristallinen und kohlenstofffreien Target gestartet. + + 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. + Im Folgenden sei die Anzahl der W"urfel in $x$, $y$ und $z$ Richtung $X$, $Y$ und $Z$. + 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} + + \subsection{Amorphisierung und Rekristallisation} + \label{subsection:a_r_step} + + \begin{figure}[!ht] + \begin{center} + \begin{pspicture}(0,0)(15,18) + + \rput(7,18){\rnode{start}{\psframebox{{\em NLSOP} Start}}} + + \rput(7,16){\rnode{random1}{\psframebox{\parbox{8.5cm}{ + Ausw"urfeln der Zufallszahlen:\\ + $r_1$, $r_2$, $r_3$ entsprechend nuklearer Bremskraft\\ + $r_4 \in [0,1[$ + }}}} + \ncline[]{->}{start}{random1} + + \rput(7,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(7,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(7,8){\rnode{status}{\psframebox{Volumen $\vec{r}(k,l,m)$ amorph?}}} + \ncline[]{->}{berechnung_pca}{status} + + \rput(4,6){\rnode{cryst}{\psframebox[linestyle=solid,linecolor=blue]{$r_4 \le p_{c \rightarrow a}$?}}} + \rput(10,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(4,4){\rnode{do_amorph}{\psframebox[linestyle=solid,linecolor=red]{Setze Volumen amorph}}} + \ncline[]{->}{cryst}{do_amorph} + \lput*{0}{ja} + + \rput(10,4){\rnode{do_cryst}{\psframebox[linestyle=solid,linecolor=blue]{Setze Volumen kristallin}}} + \ncline[]{->}{amorph}{do_cryst} + \lput*{0}{ja} + + \rput(7,3){\rnode{check_h}{\psframebox{Anzahl der Durchl"aufe gleich Anzahl der Treffer pro Ion?}}} + + \rput(7,6){\pnode{h_2}} + \ncline[]{amorph}{h_2} + \ncline[]{->}{h_2}{check_h} + \lput*{0}{nein} + + \rput(7,6){\pnode{h_3}} + \ncline[]{cryst}{h_3} + \ncline[]{->}{h_3}{check_h} + \lput*{0}{nein} + + \rput(14,3){\pnode{h_4}} + \rput(14,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(7,1){\rnode{weiter_1}{\psframebox{$\bigotimes$}}} + \ncline[]{->}{check_h}{weiter_1} + \lput*{0}{ja} + + \end{pspicture} + \caption{{\em NLSOP} Ablaufschema Teil 1: Amorphisierung und Rekristallisation.} + \label{img:flowchart1} + \end{center} + \end{figure} + + Im ersten Schritt sollen die Kollisionen und die daraus resultierende Amorphisierung beziehungsweise Rekristallisation simuliert werden. + Das zugeh"orige Ablaufschema ist in Abbildung \ref{img:flowchart1} gezeigt. + Zun"achst muss das gesto"sene Volumen ausgew"ahlt werden. + Die St"o"se sind bez"uglich der $x$ und $y$ Richtung statistisch isotrop verteilt. + Es werden zwei gleichverteilte Zufallszahlen $r_1 \in [0,X[$ und $r_2 \in [0,Y[$ nach \eqref{eq:gleichverteilte_r} ausgew"urfelt. + Diese werden auf die ganzen Zahlen $k$ und $l$ abgebildet und bestimmen die Lage des getroffenen Volumens in der $x,y$-Ebene. + 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 Ortsvektor $\vec{r}(k,l,m)$ f"ur den Amorphisierungs- oder Rekristallisationsvorgang bestimmt. + Nun kann die Amorphisierungs- beziehungsweise Rekristallisationswahrscheinlichkeit nach \eqref{eq:p_ca_local} beziehungsweise \eqref{eq:p_ac_genau} berechnet werden. + 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.\\ + Wenn $r_4$ kleiner gleich $p_{c \rightarrow a}$ ist, wechselt der Status zu amorph. + Ansonsten bleibt der Status unver"andert. + \item Volumen $\vec{r}(k,l,m)$ ist amorph.\\ + Wenn $r_4$ kleiner gleich $p_{a \rightarrow c}$ ist, wechselt der Status zu kristallin. + Ansonsten bleibt der Status unver"andert. + \end{enumerate} + + Der gesamte Amorphisierungs- und Rekristallisationsschritt wird f"ur die Anzahl der getroffenen Volumina pro implantierten Ion $h$ wiederholt. + + \subsection{Einbau des implantierten Kohlenstoffs ins Target} + + \begin{figure}[h] + \begin{center} + \begin{pspicture}(0,0)(15,6) + + \rput(2,5){\rnode{weiter_2}{\psframebox{$\bigotimes$}}} + + \rput(7,5){\rnode{random2}{\psframebox[fillstyle=solid,fillcolor=green]{\parbox{8.5cm}{ + Ausw"urfeln der Zufallszahlen:\\ + $r_5$, $r_6$, $r_7$ entsprechend Reichweitenverteilung + }}}} + \ncline[]{->}{weiter_2}{random2} + + \rput(7,3){\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$ + }}}} + \ncline[]{->}{random2}{koord_wahl_i} + + \rput(7,1){\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(12,1){\rnode{weiter_3}{\psframebox{$\bigotimes$}}} + \ncline[]{->}{inc_c}{weiter_3} + + \end{pspicture} + \caption{{\em NLSOP} Ablaufschema Teil 2: Einbau des Kohlenstoffs.} + \label{img:flowchart2} + \end{center} + \end{figure} + + Nachdem das Ion die Sto"sprozesse beendet hat, kommt es im Target zur Ruhe. + Die Wahl des Volumens, in das das Ion eingebaut wird, ist analog zur Wahl der Ermittlung des zu sto"senden Volumens. + Lediglich die Implantationstiefe wird durch eine Zufallszahl bestimmt, deren Wahrscheinlichkeitsverteilung dem Konzentrationsprofil entspricht. + Zur Erzeugung der entsprechenden Zufallszahl wird wieder die in \ref{subsubsection:verwerf_meth} beschriebene Verwerfungsmethode benutzt. + In dem ausgew"ahlten W"urfel $\vec{r}(k,l,m)$ wird der Z"ahler f"ur den Kohlenstoff um eins erh"oht. + + \subsection{Diffusion und Sputtern} + + \begin{figure}[h] + \begin{center} + \begin{pspicture}(0,0)(15,14) + + \rput(7,14){\rnode{weiter_4}{\psframebox{$\bigotimes$}}} + + \rput(11,12){\rnode{is_d}{\psframebox[fillstyle=solid,fillcolor=yellow]{Durchlauf Vielfaches von $d_v$?}}} + \ncline[]{->}{weiter_4}{is_d} + + \rput(3,12){\rnode{is_s}{\psframebox[fillstyle=solid,fillcolor=red]{Durchlauf vielfaches von $n$?}}} + \ncline[]{->}{is_d}{is_s} + \lput*{0}{nein} + + \rput(11,10){\rnode{loop_d}{\psframebox[fillstyle=solid,fillcolor=yellow]{Gehe alle/verbleibende Volumina durch}}} + \ncline[]{->}{is_d}{loop_d} + \lput*{0}{ja} + + \rput(11,9){\rnode{d_is_amorph}{\psframebox[fillstyle=solid,fillcolor=yellow]{Volumen $\vec{r}(k,l,m)$ amorph?}}} + \ncline[]{->}{loop_d}{d_is_amorph} + + \rput(11,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(11,6){\rnode{is_cryst}{\psframebox[fillstyle=solid,fillcolor=yellow]{Nachbarvolumen kristallin?}}} + \ncline[]{->}{loop_dn}{is_cryst} + + \rput(12,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(11,3){\rnode{check_dn}{\psframebox[fillstyle=solid,fillcolor=yellow]{Alle Nachbarn durch?}}} + \ncline[]{->}{transfer}{check_dn} + \rput(9.5,5){\pnode{h1}} + \ncline[]{is_cryst}{h1} + \rput(9.5,3.2){\pnode{h2}} + \ncline[]{->}{h1}{h2} + \lput*{0}{nein} + \rput(14,3){\pnode{h3}} + \ncline[]{check_dn}{h3} + \rput(14,7){\pnode{h4}} + \ncline[]{h3}{h4} + \lput*{0}{nein} + \ncline[]{->}{h4}{loop_dn} + + \rput(11,1){\rnode{check_d}{\psframebox[fillstyle=solid,fillcolor=yellow]{Alle Volumina durch?}}} + \ncline[]{->}{check_dn}{check_d} + \lput*{0}{ja} + \rput(14.9,1){\pnode{h5}} + \ncline[]{check_d}{h5} + \rput(14.9,10){\pnode{h6}} + \ncline[]{h5}{h6} + \lput*{0}{nein} + \ncline[]{->}{h6}{loop_d} + \rput(7,1){\pnode{h7}} + \ncline[]{check_d}{h7} + \lput*{0}{ja} + \rput(7,11){\pnode{h8}} + \ncline[]{h7}{h8} + \rput(5.4,11.9){\pnode{h9}} + \ncline[]{->}{h8}{h9} + + \rput(8,9){\pnode{h10}} + \rput(8,3){\pnode{h11}} + \ncline[]{-}{d_is_amorph}{h10} + \ncline[]{-}{h10}{h11} + \lput*{0}{nein} + \ncline[]{->}{h11}{check_d} + + \rput(3,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(3,5){\rnode{check_n}{\psframebox{\parbox{4cm}{ + Anzahl Durchl"aufe entsprechend Dosis? + }}}} + \ncline[]{->}{s_p}{check_n} + + \rput(5,3){\rnode{start}{\psframebox{{\em NLSOP} Start}}} + \ncline[]{->}{check_n}{start} + \lput*{0}{nein} + \rput(1,3){\rnode{stop}{\psframebox{{\em NLSOP} Stop}}} + \ncline[]{->}{check_n}{stop} + \lput*{0}{ja} + + \end{pspicture} + \caption{{\em NLSOP} Ablaufschema Teil 2: Diffusion (gelb) und Sputtervorgang (rot).} + \label{img:flowchart3} + \end{center} + \end{figure} + + Im Folgenden wird auf die Realisierung der Diffusion eingegangen. + Die Simulation geht der Reihe nach alle Volumina durch. + Im Falle eines amorphen Volumens werden aus direkt anliegenden kristallinen Volumina ein 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. + + 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 gro"sen Anteil ihres Kohlenstoffs an einen amorphen Nachbarn abgegeben haben. + Da jedoch das Konzentrationsprofil durch Diffusionsprozesse nicht ver"andert wird \cite{goetz}, 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 gesamte Diffusion innerhalb kristalliner Gebiete in den folgenden Simulationen ausgeschlossen wurde. + Als Relikt bleibt die Option die Diffusion auch vom Kristallinen ins Amorphe in $z$-Richtung auszuschalten. + 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. + + 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. + 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. + Der Inhalt der Ebene $i$ wird 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 sind, um kristalline, kohlenstofffreie Ebenen zu garantieren. + Daher wird das Sputtern nur in Simulationen "uber gro"se Tiefenbereiche ber"ucksichtigt. + + Die Sputterrate kann durch {\em TRIM} beziehungsweise Messungen des Kohlenstoffprofils 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 \cite{basic_phys_proc}. + + \section{Simulierte Tiefenbereiche} + \label{section:sim_tiefenbereich} + + Wie bereits erw"ahnt wurden zwei verschiedene Versionen des Programms entwickelt. Sie simulieren zwei unterschiedlich gro"se Tiefenbereiche, welche im Folgenden Simulationsfenster genannt werden. + + 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. + Dies entspricht einer Tiefe von ungef"ahr $300 \, nm$ und somit einer Anzahl von $Z=100$ W"urfeln in $z$-Richtung. + + 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. + 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. + + Die Zufallszahl $z$, die auf die Tiefenkoordinate $m$ abgebildet wird, muss der Verteilung $p(z)dz = (sz + s_0)dz$ gen"ugen. + Dabei beschreiben $s$ und $s_0$ die linear gen"aherte nukleare Bremskraft. + Die Transformation wird wie in Abschnitt \ref{subsubsection:lin_g_p} beschrieben durchgef"uhrt. + Dasselbe betrifft die Wahl der Tiefenkoordinate f"ur den Einbau des Kohlenstoffatoms. + Anstatt der Wahrscheinlichkeitsverteilung der nuklearen Bremskraft entsprechend, wird eine Verteilung entsprechend dem linear gen"aherten Implantationsprofil verwendet. + Au"serdem 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 au"serhalb des Simulationsfensters liegen 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 Kohlenstoffverteilungskurve $c_C(z)$ bis $300 \, nm$ zur Fl"ache der gesamten Kohlenstoffverteilungskurve ist. + \begin{equation} + n_c < n \frac{\int_0^{300 nm} c_C(z) dz}{\int_0^{\infty} c_C(z) dz} + \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 m"oglich. + 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. + Die Rekristallisationswahrscheinlichkeit ergibt sich hier aus \eqref{eq:p_ac_local}. + 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. + + 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 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. + + Da sowohl der nukleare Energieverlust als auch 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. + 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. + + \section{Test der Zufallszahlen} + + Die Simulation kann auf zwei verschiedene Arten die ben"otigten Zufallszahlen beziehen. + Die erste M"oglichkeit ist das Lesen der Zufallszahlen aus einer speziellen, vom Betriebssystem bereitgestellten Zeichendatei {\em /dev/urandom}. + Das Betriebssystem generiert aus dem Rauschen einiger Treiber, zum Beispiel den Treibern f"ur Tastatur, Maus und Festplatte einen sogenannten \dq Vorrat an Entropie\dq{}. + Eine Zufallszahl wird durch Anwendung des {\em SHA}-Algorithmus \cite{sha} (kurz f"ur {\bf S}ecure {\bf H}ash {\bf A}lgorithm) auf den Inhalt des Entropievorrates erzeugt. + Eine zweite M"oglichkeit ist die Verwendung des Zufallszahlengenerators der Standardbibliothek der Programmiersprache {\em C}. + Dieser generiert die Zufallszahlensequenz nach der im Abschnitt \ref{subsection:rand_gen} vorgestellten linearen Kongruenzmethode. + Das zuletzt genannte Verfahren ist damit unabh"angig vom Betriebssystem. + + F"ur vern"unftige Ergebnisse muss die Qualit"at der Zufallszahlen gesichert sein. + Es gibt viele statistische Tests um eine Zahlenfolge auf ihre Verteilung beziehungsweise Zuf"alligkeit zu "uberpr"ufen. + Die am h"aufigsten verwendeten Testverfahren sind der $\chi^2$-Test und der Kolmogorov-Smirnov-Test \cite{knuth}. + + 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 Scriptprogramm ({\em random\_parse.sh}, Anhang \ref{section:hilfsmittel}) z"ahlt die H"aufigkeit der einzelnen Zufallszahlen in der Zufallszahlensequenz. + + \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} + 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"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. + +