]> hackdaworld.org Git - lectures/latex.git/commitdiff
added Makefile + changes to appendix and sim chapter
authorhackbard <hackbard@sage.physik.uni-augsburg.de>
Thu, 3 Apr 2008 16:51:37 +0000 (18:51 +0200)
committerhackbard <hackbard@sage.physik.uni-augsburg.de>
Thu, 3 Apr 2008 16:51:37 +0000 (18:51 +0200)
posic/thesis/Makefile [new file with mode: 0644]
posic/thesis/d_tersoff.tex
posic/thesis/simulation.tex

diff --git a/posic/thesis/Makefile b/posic/thesis/Makefile
new file mode 100644 (file)
index 0000000..eabf68b
--- /dev/null
@@ -0,0 +1,24 @@
+# Makefile
+LATEX = latex
+DVIPS = dvips -tlandscape
+DVIPDF= dvipdf
+PS2PDF = ps2pdf
+PDFLATEX = pdflatex
+
+SRC = thesis.tex
+PDF = $(SRC:%.tex=%.pdf)
+
+all: $(PDF)
+
+%.dvi: %.tex
+       $(PDFLATEX) $< $@
+       $(PDFLATEX) $< $@
+
+%.ps: %.dvi
+       $(DVIPS) $<
+
+%.pdf: %.dvi
+       $(DVIPDF) $<
+       
+clean:
+       rm -f *.log *.aux
index dbc798a03652ff775ab082c9b0e7fcd9ff626349..cb2e96beda6da4e4dcb435167a907aa95d599b11 100644 (file)
@@ -1,4 +1,4 @@
-\chapter{Derivative of the three body Tersoff potential}
+\chapter{Force evaluation for the three body Tersoff potential}
 \label{app:d_tersoff}
 
   \section{Form of the Tersoff potential and its derivative}
@@ -100,9 +100,174 @@ In the following all the necessary derivatives to calculate $\nabla_{{\bf r}_i}
 \begin{eqnarray}
 \nabla_{{\bf r}_i} V_{jk} & = & f_C(r_{jk}) f_A(r_{jk}) \nabla_{{\bf r}_i} b_{jk} \\
 \nabla_{{\bf r}_i} b_{jk} & = & - \frac{\chi_{jk}}{2} (1+\beta^{n_j} \zeta_{jk}^{n_j})^{-\frac{1}{2n_j}-1} \beta^{n_j} \zeta_{jk}^{n_j-1} \nabla_{{\bf r}_i} \zeta_{jk} \\
-\nabla_{{\bf r}_i} \zeta_{jk} & = & \sum_{l \neq j,k} \big( g(\theta_{jkl}) \nabla_{{\bf r}_i} f_C(r_{jl}) + f_C(r_{jl}) \nabla_{{\bf r}_i} g(\theta_{jkp}) \big) \nonumber \\
+\nabla_{{\bf r}_i} \zeta_{jk} & = & \sum_{l \neq j,k} \big( g(\theta_{jkl}) \nabla_{{\bf r}_i} f_C(r_{jl}) + f_C(r_{jl}) \nabla_{{\bf r}_i} g(\theta_{jkl}) \big) \nonumber \\
  & = & f_C(r_{ji}) \nabla_{{\bf r}_i} g(\theta_{jki}) + g(\theta_{jki}) \nabla_{{\bf r}_i} f_C(r_{ji}) \\
 \nabla_{{\bf r}_i} g(\theta_{jki}) & = & - \frac{2(h_j-\cos\theta_{jki})c_j^2}{\big[d_j^2 + (h_j - \cos\theta_{jki})^2\big]^2} \nabla_{{\bf r}_i} (\cos\theta_{jki}) \\
 \nabla_{{\bf r}_i} \cos \theta_{jki} & = & \nabla_{{\bf r}_i} \Big( \frac{{\bf r}_{jk} {\bf r}_{ji}}{r_{jk} r_{ji}} \Big) \nonumber \\
  & = & \frac{1}{r_{jk} r_{ji}} {\bf r}_{jk} - \frac{\cos\theta_{jki}}{r_{ji}^2} {\bf r}_{ji}
 \end{eqnarray}
+
+  \section{Implementation issues}
+
+As seen in the last sections the derivatives of $V_{ij}$, $V_{ji}$ and $V_{jk}$
+with respect to ${\bf r}_i$ are necessary to compute the forces for atom $i$.
+According to this, for every triple $(ijk)$ the derivatives of the three
+potential contributions, denoted by $V_{ijk}$, $V_{jik}$ and $V_{jki}$
+have to be computed.
+In simulation, however, it is not practical to evaluate all three potential
+derivatives for each $(ijk)$ triple.
+The $V_{jik}$ and $V_{jki}$ potential and its derivatives will be calculated
+in subsequent loops anyways.
+To avoid multiple computation of the same potential derivatives
+the force contributions for atom $j$ and $k$ due to the $V_{ijk}$ contribution
+have to be considered by calculating the derivatives of $V_{ijk}$
+with respect to ${\bf r}_j$ and ${\bf r}_k$
+inside the loop of the $(ijk)$ triple
+in addition to the derivative with respect to ${\bf r}_i$.
+This poses a more convenient method to obtain the forces
+keeping in mind that all the necessary force contributions for atom $i$
+are calculated and added in subsequent loops.
+
+The following symmetry considerations help to obtain the 
+
+  \subsection{Derivative of $V_{ij}$ with respect to ${\bf r}_j$}
+
+\begin{eqnarray}
+ \nabla_{{\bf r}_j} V_{ij} & = &
+ \nabla_{{\bf r}_j} f_C(r_{ij}) \big[ f_R(r_{ij}) +
+ b_{ij} f_A(r_{ij}) \big] + \nonumber \\
+ & & + f_C(r_{ij}) \big[ \nabla_{{\bf r}_j} f_R(r_{ij}) +
+ b_{ij} \nabla_{{\bf r}_j} f_A(r_{ij}) +
+ f_A(r_{ij}) \nabla_{{\bf r}_j} b_{ij} \big]
+\end{eqnarray}
+Using the equality $\nabla_{{\bf r}_i} r_{ij}=-\nabla_{{\bf r}_j} r_{ij}$
+the following relations are valid:
+\begin{eqnarray}
+ \nabla_{{\bf r}_j} f_R(r_{ij}) &=& - \nabla_{{\bf r}_i} f_R(r_{ij}) \\
+ \nabla_{{\bf r}_j} f_A(r_{ij}) &=& - \nabla_{{\bf r}_i} f_A(r_{ij}) \\
+ \nabla_{{\bf r}_j} f_C(r_{ij}) &=& - \nabla_{{\bf r}_i} f_C(r_{ij})
+\end{eqnarray}
+The pair contributions .... easy.
+Now having a look at $b_{ij}$.
+\begin{eqnarray}
+ \nabla_{{\bf r}_j}\cos\theta_{ijk} &=&
+ \nabla_{{\bf r}_j}\Big(\frac{{\bf r}_{ij}{\bf }r_{ik}}{r_{ij}r_{ik}}\Big)
+ \nonumber \\
+ &=& \frac{1}{r_{ij}r_{ik}}{\bf r}_{ik} -
+     \frac{\cos\theta_{ijk}}{r_{ij}^2}{\bf r}_{ij}
+\end{eqnarray}
+
+  \subsection{Derivative of $V_{ij}$ with respect to ${\bf r}_k$}
+
+The derivative of $V_{ij}$ with respect to ${\bf r}_k$ just consists of the
+single term
+\begin{eqnarray}
+ \nabla_{{\bf r}_k} V_{ij} & = &
+ f_C(r_{ij})f_A(r_{ij})\nabla_{{\bf r}_{k}}b_{ij}
+\end{eqnarray}
+since the derivatives of the functions only depending on atom $i$ and $j$
+vanish.
+\begin{eqnarray}
+ \nabla_{{\bf r}_k} f_R(r_{ij}) &=& 0 \\
+ \nabla_{{\bf r}_k} f_A(r_{ij}) &=& 0 \\
+ \nabla_{{\bf r}_k} f_C(r_{ij}) &=& 0
+\end{eqnarray}
+Now look at $b_{ij}$, not only angle important here!
+\begin{eqnarray}
+ \nabla_{{\bf r}_k}\zeta_{ij} &=&
+ g(\theta_{ijk})\nabla_{{\bf r}_k}f_C(r_{ik}) +
+ f_C(r_{ik})\nabla_{{\bf r}_k}g(\theta_{ijk}) \\
+ \nabla_{{\bf r}_k}f_C(r_{ik}) &=& - \nabla_{{\bf r}_i}f_C(r_{ik}) \\
+ \nabla_{{\bf r}_k}\cos\theta_{ijk} &=&
+ \nabla_{{\bf r}_k}\Big(\frac{{\bf r}_{ij}{\bf }r_{ik}}{r_{ij}r_{ik}}\Big)
+ \nonumber \\
+ &=&\frac{1}{r_{ij}r_{ik}}{\bf r}_{ij} -
+ \frac{\cos\theta_{ijk}}{r_{ik}^2}{\bf r}_{ik}
+\end{eqnarray}
+
+  \subsection{Code realization}
+
+The implementation of the force evaluation shown in the following
+is applied to the potential designed by Erhard and Albe.
+There are slight differences comparted to the original potential by Tersoff:
+\begin{itemize}
+ \item Difference in sign of the attractive part.
+ \item $c$, $d$ and $h$ values depend on atom $k$ in addition to atom $i$.
+ \item Difference in sign of the $\cos\theta_{ijk}$ term.
+ \item There are no parameters $\beta$ and $\chi$.
+ \item The exponent of the $b$ term is constantly $-\frac{1}{2}$.
+\end{itemize}
+These differences actually slightly ease code realization.
+
+\begin{figure}
+\renewcommand\labelitemi{}
+\renewcommand\labelitemii{}
+\renewcommand\labelitemiii{}
+LOOP i \{
+\begin{itemize}
+ \item // nop (only used in orig. Tersoff)
+ \item LOOP j \{
+       \begin{itemize}
+        \item // nop (only used in orig. Tersoff)
+       \end{itemize}
+ \item \}
+ \item LOOP j \{
+       \begin{itemize}
+        \item $\zeta_{ij}=0$
+        \item set $S_{ij}$ (cutoff)
+        \item calculate: $r_{ij}$, $r_{ij}^2$
+        \item IF $r_{ij} > S_{ij}$ THEN CONTINUE
+       \item
+       \item LOOP k \{
+             \begin{itemize}
+               \item set $ik$-depending values
+               \item calculate: $r_{ik}$, $r_{ik}^2$
+              \item IF $r_{ik} > S_{ik}$ THEN CONTINUE
+              \item calculate: $\theta_{ijk}$, $\cos(\theta_{ijk})$,
+                               $dg(\theta_{ijk})$, $g(\theta)$,
+                               $f_C(r_{ik})$, $df_C(r_{ik})$
+              \item $\zeta_{ij}=\zeta_{ij}+f_C(r_{ik})g(\theta)$
+             \end{itemize}
+        \item \}
+       \item
+       \item calculate: $f_C(r_{ij})$, $df_C(r_{ij})$, $f_A(r_{ij})$,
+                        $df_A(r_{ij})$, $f_R(r_{ij})$, $df_R(r_{ij})$,
+                        $b_{ij}$, $db_{ij}$
+       \item calculate:
+$
+F=-\frac{1}{2}\big(
+\nabla_{{\bf r}_i} f_C(r_{ij}) \big[ f_R(r_{ij}) - b_{ij} f_A(r_{ij}) \big] +
+f_C(r_{ij}) \big[ \nabla_{{\bf r}_i} f_R(r_{ij}) -
+                  b_{ij} \nabla_{{\bf r}_i} f_A(r_{ij}) \big]\big)
+$
+       \item $F_{Atom\, i} = F_{Atom\, i} + F$
+       \item $F_{Atom\, j} = F_{Atom\, j} - F$
+       \item $E=E+\frac{1}{2}f_C(r_{ij})[f_R(r_{ij})-b_{ij}f_A(r_{ij})]$
+       \item $d\zeta_{ij}=\frac{1}{2}f_A(r_{ij})f_C(r_{ij})db_{ij}$
+       \item
+       \item LOOP k \{
+             \begin{itemize}
+               \item calculate: $\nabla_{{\bf r}_i}\cos\theta_{ijk}$,
+                               $\nabla_{{\bf r}_j}\cos\theta_{ijk}$,
+                               $\nabla_{{\bf r}_k}\cos\theta_{ijk}$
+               \item $
+F_{Atom\, i}+= d\zeta_{ij}\big(
+g(\theta_{ijk})\nabla_{{\bf r}_i}f_C(r_{ik}) +
+f_C(r_{ik})dg(\theta_{ijk})\nabla_{{\bf r}_i}\cos\theta_{ijk}\big)$
+               \item $
+F_{Atom\, j}+= d\zeta_{ij}
+f_C(r_{ik})dg(\theta_{ijk})\nabla_{{\bf r}_j}\cos\theta_{ijk}$
+               \item $
+F_{Atom\, k}+= d\zeta_{ij}\big(
+g(\theta_{ijk})\nabla_{{\bf r}_k}f_C(r_{ik}) +
+f_C(r_{ik})dg(\theta_{ijk})\nabla_{{\bf r}_k}\cos\theta_{ijk}\big)$
+             \end{itemize}
+        \item \}
+       \end{itemize}
+ \item \}
+\end{itemize}
+\}
+\caption{Implementation of the force evaluation for Tersoff like bond-order
+         potentials using pseudocode.}
+\end{figure}
+
index 2662a5493f1ce89260531c27fec831cb1f3c3325..c28b982358b092cff9f5ced95d9758568ca182b4 100644 (file)
@@ -1,6 +1,6 @@
 \chapter{Simulation}
 
-\newpage
+\section{Cohesive energies}
 
 \begin{figure}[!h]
   \begin{center}
     \label{img:ec_vs_lc}
   \end{center}
 \end{figure}
+
+
+\section{Silicon self-interstitials}
+
+\begin{itemize}
+  \item Tetrahedral:
+        \begin{itemize}
+          \item Cohesive energy: $3.405 \, eV$
+       \end{itemize}
+  \item Hexagonal:
+        \begin{itemize}
+          \item Cohesive energy: $4.480 \, eV$
+       \end{itemize}
+  \item 110 dumbbell:
+        \begin{itemize}
+          \item Cohesive energy: $4.392 \, eV$
+       \end{itemize}
+\end{itemize}