ci often and soon
[lectures/latex.git] / nlsop / diplom / simulation.tex
index 3ab02b8..67f709a 100644 (file)
@@ -1,4 +1,5 @@
 \chapter{Simulation}
 \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.
 
   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.
   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{.}
   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.
   \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}
     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.
 
 
   Wie bereits erw"ahnt gibt es zwei verschiedene Versionen des Programms, die verschiedene Tiefenbereiche, im Folgenden Simulationsfenster genannt, simulieren.
 
 
   \section{Ablaufschema}
 
 
   \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{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}
 
     \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}
 
     \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}
 
     \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}
 
     \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}
 
     \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}
 
     \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}
 
     \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[]{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}
 
 
     \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}
     \ncline[]{->}{check_h}{weiter_1}
     \lput*{0}{ja}
+
   \end{pspicture}
   \end{pspicture}
-  \caption{{\em NLSOP} Ablaufshema des Amorphisierungs- und Rekristallisationsschritts}
+  \caption{{\em NLSOP} Ablaufshema Teil 1: Amorphisierung und Rekristallisation.}
   \label{img:flowchart1}
   \end{figure}
 
   \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}
+
+    \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}
 
 
-  %Abbildung \ref{img:flowchart3} beinhaltet den Diffusions- und Sputervorgang.
+    \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}