X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=nlsop%2Fdiplom%2Fsimulation.tex;h=b76f208875a8c2930d910e98f25cf830636cf58b;hb=d8210b76cf1ac394184e4037b49f70a0119e1547;hp=b6382df1267072fc4d34cd77c3906f0e649dafa5;hpb=049a5121a2190ad63c33c8c71dabf1c09b082e6c;p=lectures%2Flatex.git diff --git a/nlsop/diplom/simulation.tex b/nlsop/diplom/simulation.tex index b6382df..b76f208 100644 --- a/nlsop/diplom/simulation.tex +++ b/nlsop/diplom/simulation.tex @@ -107,6 +107,10 @@ 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. @@ -192,6 +196,7 @@ 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. @@ -231,13 +236,285 @@ 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 alle Schritte ausgef"uhrt. - Dabei . - Dies macht allerdings nur Sinn wenn das Implantationsprofil und die nukleare Bremskraft f"ur die darauffolgenden Ebenen auf Null abgefallen ist, um kristalline, kohlenstofffreie Ebenen zu garantieren. + 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} + 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. + + 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} +