foo
[lectures/latex.git] / nlsop / diplom / simulation.tex
index 3ab02b8..74db3e1 100644 (file)
@@ -1,4 +1,5 @@
 \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.
 
     \begin{figure}[h]
     \includegraphics[width=12cm]{trim_nel.eps}
-    \caption{Durch {\em TRIM} berechneter nuklearer Energieverlust f"ur $180 keV$ $C^+ \rightarrow Si$}
+    \caption{Durch {\em TRIM} berechneter nuklearer Energieverlust f"ur $180 keV$ $C^+ \rightarrow Si$.}
     \label{img:trim_nel}
     \end{figure}
     Zum Vergleich zeigt Abbildung \ref{img:trim_nel} die von {\em TRIM} selbst berechnete nukleare Bremskraft.
     Der Unterschied liegt daran, dass letzteres Profil durch eine gr"ossere Anzahl von {\em TRIM}-Simulationsschritten ermittelt wurde.
     Dieses Profil wird f"ur {\em NLSOP} benutzt.
 
+    \begin{figure}[h]
+    \includegraphics[width=12cm]{trim_impl.eps}
+    \caption{Durch {\em TRIM} berechnetes Implantationsprofil f"ur $180 keV$ $C^+ \rightarrow Si$.}
+    \label{img:trim_impl}
+    \end{figure}
+    In Abbildung \ref{img:trim_impl} ist das f"ur diese Simulation verwendete, von {\em TRIM} berechnete Implantationsprofil abgebildet.
+    Es wurde aus der selben Rechnung wie das nukleare Bremskraftprofil gewonnen.
+    Das Implantationsmaximum liegt bei ungef"ahr $530 nm$.
+
     Ein implantiertes Ion und dadurch entstandene Recoils verursachen jedoch mehr als nur eine Kollision mit den Targetatomen bis es zur Ruhe kommt.
     Nach dem Auswertungsprogramm hat ein Ion durchschnittlich eine Anzahl von $1088$ Kollisionen bei den gegebenen Bedingungen zur Folge.
     Die Zahl der getroffenen W"urfel, also Volumina in denen ein Ion mindestens eine Kollision verursacht, ist sehr viel geringer.
   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.
     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 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.
 
   \section{Ablaufschema}
 
-  Das Ablaufshema ist wie der Simulationsalgorithmus aus drei Teilen zusammengesetzt.
-  Abbildung \ref{img:flowchart1} zeigt das Ablaufshema des Amorphisierungs- und Rekristallisationvorgangs.
+  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,10)
-    \rput(6,10){\rnode{nlsop_start}{\psframebox{{\em NLSOP} Start}}}
-
-    \rput(6,9){\rnode{koord_wahl}{\psframebox{Zuf"allige Wahl der Koordinaten $k$, $l$ und $m$}}}
-    \ncline[]{->}{nlsop_start}{koord_wahl}
-
-    \rput(6,8){\rnode{berechnung_pca}{\psframebox{Berechnung von $p_{c \rightarrow a}(\vec{r}(k,l,m))$ und $p_{a \rightarrow c}(\vec{r}(k,l,m))$}}}
+  \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,7){\rnode{status}{\psframebox{Volumen $\vec{r}(k,l,m)$ amorph?}}}
+    \rput(6,8){\rnode{status}{\psframebox{Volumen $\vec{r}(k,l,m)$ amorph?}}}
     \ncline[]{->}{berechnung_pca}{status}
 
-    \rput(3,5){\rnode{cryst}{\psframebox[linestyle=solid,linecolor=blue]{Zufallszahl $\le p_{c \rightarrow a}$?}}}
-    \rput(9,5){\rnode{amorph}{\psframebox[linestyle=solid,linecolor=red]{Zufallszahl $\le p_{a \rightarrow c}$?}}}
+    \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,3){\rnode{do_amorph}{\psframebox[linestyle=solid,linecolor=red]{Setze Volumen amorph}}}
+    \rput(3,4){\rnode{do_amorph}{\psframebox[linestyle=solid,linecolor=red]{Setze Volumen amorph}}}
     \ncline[]{->}{cryst}{do_amorph}
     \lput*{0}{ja}
 
-    \rput(9,3){\rnode{do_cryst}{\psframebox[linestyle=solid,linecolor=blue]{Setze Volumen kristallin}}}
+    \rput(9,4){\rnode{do_cryst}{\psframebox[linestyle=solid,linecolor=blue]{Setze Volumen kristallin}}}
     \ncline[]{->}{amorph}{do_cryst}
     \lput*{0}{ja}
 
-    \rput(6,2){\rnode{check_h}{\psframebox{Anzahl der Durchl"aufe gleich Anzahl der Treffer pro Ion?}}}
+    \rput(6,3){\rnode{check_h}{\psframebox{Anzahl der Durchl"aufe gleich Anzahl der Treffer pro Ion?}}}
 
-    \rput(7,5){\pnode{h_2}}
+    \rput(6,6){\pnode{h_2}}
     \ncline[]{amorph}{h_2}
     \ncline[]{->}{h_2}{check_h}
     \lput*{0}{nein}
 
-    \rput(5,5){\pnode{h_3}}
+    \rput(6,6){\pnode{h_3}}
     \ncline[]{cryst}{h_3}
     \ncline[]{->}{h_3}{check_h}
     \lput*{0}{nein}
 
-    \rput(12,2){\pnode{h_4}}
-    \rput(12,9){\pnode{h_5}}
+    \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}{koord_wahl}
+    \ncline[]{->}{h_5}{random1}
 
     \ncline[]{->}{do_cryst}{check_h}
     \ncline[]{->}{do_amorph}{check_h}
 
-    \rput(12,2){\pnode{h_1}}
-    %\ncline[]{check_h}{h_1}
-
-    \rput(6,0){\rnode{weiter_1}{\psframebox{weiter mit Kohlenstoffeinbau \ldots}}}
+    \rput(6,1){\rnode{weiter_1}{\psframebox{$\bigotimes$}}}
     \ncline[]{->}{check_h}{weiter_1}
     \lput*{0}{ja}
+
   \end{pspicture}
-  \caption{{\em NLSOP} Ablaufshema des Amorphisierungs- und Rekristallisationsschritts}
+  \caption{{\em NLSOP} Ablaufshema Teil 1: Amorphisierung und Rekristallisation.}
   \label{img:flowchart1}
   \end{figure}
 
-  %In Abbildung \ref{img:flowchart2} ist der Einbau des Kohlenstoffions shematisch aufgezeigt.
+  \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}
 
-  %Abbildung \ref{img:flowchart3} beinhaltet den Diffusions- und Sputervorgang.
+    \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}