finished simulation chapter (need corrections)
[lectures/latex.git] / nlsop / diplom / simulation.tex
index d254019..b76f208 100644 (file)
   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 Kohelnstofferh"ohung stattfindet.
+  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.
 
   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 geschaut werden, dass f"ur gleichverteilte Zufallszahlen keine lokalen Anh"aufungen von Zahlen existieren.
+
+  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.
 
-  Zun"achst soll der 
-  Abbildung \ref{img:uniform_distrib} zeigt die H"aufigkeit
+  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}
+