X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=nlsop%2Fdiplom%2Fsimulation.tex;h=837c17f3eaff65d40b35fa6211c31a8acab4759c;hb=fe7ff7f815e3edcce15da97e49480a9303e3c778;hp=d9d01e5bd78d86e9f2accdc50a46ac7571a826d1;hpb=39decef6f91b5b3fdc4b448e3d0b1d655e449e73;p=lectures%2Flatex.git diff --git a/nlsop/diplom/simulation.tex b/nlsop/diplom/simulation.tex index d9d01e5..837c17f 100644 --- a/nlsop/diplom/simulation.tex +++ b/nlsop/diplom/simulation.tex @@ -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. @@ -191,6 +192,7 @@ 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. @@ -254,6 +256,7 @@ 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. @@ -268,10 +271,23 @@ 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. + 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. @@ -310,5 +326,205 @@ \section{Ablaufschema} - Das + 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}