\chapter{Funktionen der Programme}

{\em NLSOP} besteht aus einer Mehrzahl von Programmen.
Diese sollen im Folgenden vorgestellt werden.
Der vollst"andige Quellcode der {\em NLSOP} Version 2 steht im Internet \footnote{http://www.physik.uni-augsburg.de/\~{}zirkelfr/download/nlsop/nlsop.tar.bz2} zum Download bereit.

  \section{Server}
  \begin{verbatim}
nlsop_server.c
  \end{verbatim}
  Es ist ein {\em Server}-Programm, bei dem sich {\em Client} und {\em Benutzeroberfl"ache} anmelden.
  Dieses verteilt die zu rechnenden Simulationen auf freie {\em Client}-Rechner oder h"alt Simulationsauftr"age in einer Warteschlange.
  Es nimmt fertige Rechenergebnisse entgegen und speichert sie lokal ab.
  Es h"alt Statusinformationen "uber die laufenden Rechnungen und die Warteschlange zur Abfrage bereit.
  Weiterhin nimmt es Simulationsauftr"age entgegen.
  Die Interaktion mit {\em Client} und {\em Benutzeroberfl"ache} erfolgt durch das Netzwerk "uber eine {\em TCP/IP}-Verbindung.

  \section{Client}
  \begin{verbatim}
nlsop_client.c
  \end{verbatim}
  Das {\em Client}-Programm beinhaltet den eigentlichen Simulationscode.
  Es meldet sich beim {\em Server} an und nimmt Rechenaufgaben entgegen.
  Nach einer einstellbaren Anzahl von Durchl"aufen "ubergibt es Zwischenergebnisse beziehungsweise das Endergebnis an den {\em Server}-Prozess.
  Nach Beendigung einer Simulation geht es in den Ruhezustand und wartet auf neue Rechenauftr"age.

  \clearpage

  \section{Benutzeroberfl"ache}
  \begin{verbatim}
nlsop_gui.c
  \end{verbatim}
  Die {\em Benutzeroberfl"ache} dient zur "Ubergabe von Simulationsauftr"agen an den {\em Server}.
  Weiterhin dient es zur Statusabfrage von laufenden Rechnungen, der Warteschlange und der angemeldeten {\em Client}-Rechner.

  \section{Standalone Version}
  \label{section:sav}
  \begin{verbatim}
nlsop.c
  \end{verbatim}
  Die {\em Standalone Version} ist ein eigenst"andiges Programm, das unter anderem auch den Simulationscode beinhaltet.
  Zus"atzlich stellt sie eine Benutzeroberfl"ache zur Verf"ugung, die die Untersuchung des fertig simulierten Ergebnisses erm"oglicht.
  Man kann Querschnittsaufnahmen des Targets, die zum Vergleich mit TEM-Aufnahmen benutzt werden k"onnen, sowie Druckspannungen und den Kohlenstoffgehalt visualisieren und als Bitmap abspeichern.
  Au"serdem kann man Kohlenstoffprofile erzeugen und die Tiefe des Beginns der amorphen Ausscheidungen beziehungsweise der vorderen und hinteren Grenzfl"ache einer vorhandenen durchgehenden Schicht bestimmen.

  \section{APIs}

  Einige Funktionalit"at wurde in externen Programmierschnittstellen ausgelagert.
  Diese sind im Folgenden vorgestellt.
  \begin{itemize}
    \item \begin{verbatim} network.c, network.h \end{verbatim} \\
          Hilfsmittel zur Verbindung der Programmteile "uber das Netzwerk.
    \item \begin{verbatim} input.c, input.h \end{verbatim} \\
          Funktionen f"ur die Benutzereingabe.
    \item \begin{verbatim} list.c, list.h \end{verbatim} \\
          Hilfsmittel zur Benutzung von verlinkten Listen.
    \item \begin{verbatim} display.c, display.h \end{verbatim} \\
          Funktionen zur Visualisierung auf Konsolenebene.
    \item \begin{verbatim} event.c, event.h \end{verbatim} \\
          Hilfsmittel zum Eventmanagement.
    \item \begin{verbatim} bmp.c, bmp.h \end{verbatim} \\
          Funktionen f"ur die Erstellung und Bearbeitung von Bitmap Dateien.
    \item \begin{verbatim} fourier.c, fourier.h \end{verbatim}
          Funktionen f"ur die diskrete Fouriertransformation.
    \item \begin{verbatim} dfbapi.c, dfbapi.h \end{verbatim}
          Helfer f"ur die Visualisierung der Endergebnisse.
    \item \begin{verbatim} random.c, randomi.h \end{verbatim}
          Funktionen zur Erzeugung spezieller Wahrscheinlichkeitsverteilungen.
  \end{itemize}

  \section{Andere Hilfsmittel}
  \label{section:hilfsmittel}
  
  Im Folgenden sind weiter Programme vorgestellt, deren Funktionalit"at aus diversen Gr"unden nicht in die Hauptprogramme eingeflossen ist.

  \begin{itemize}
    \item \begin{verbatim} nlsop_make_cryst.c \end{verbatim} \\
          Estellt ein Duplikat eines gespeicherten Ergebnisses wobei alle Zust"ande der Volumen auf \dq Kristallin\dq{} gesetzt werden.
    \item \begin{verbatim} nlsop_create_cbox.c \end{verbatim} \\
          Erzeugt ein kristallines Target mit einem plateauf"ormigen Verlauf des Kohlenstoffprofils, das in einer Tiefe von $500 \, nm$ dem Abfall des Kohlenstoffprofils der $180 \, keV$-Implantation entspricht.
    \item \begin{verbatim} parse_trim_collision.c \end{verbatim} \\
          Werkzeug zur Auswertung der Datei in der {\em TRIM} detaillierte Daten der Kollisionsereignisse protokolliert.
    \item \begin{verbatim} dft.c, dft.h \end{verbatim} \\
          Erstellt die zweidimensionale Fouriertransformation einer Bitmap.
    \item \begin{verbatim} linescan.c \end{verbatim} \\
          Erstellt den Linescan "uber eine fouriertransformierte Bitmap.
    \item \begin{verbatim} random_parse.sh \end{verbatim} \\
          Simples Shell-Script zur Auswertung und "Uberpr"ufung der Zufallszahlen.
  \end{itemize}

\chapter{Publikationsliste}

  \section{Eigene Publikationen}

  \begin{enumerate}

    \item F. Zirkelbach, M. H"aberlen, J. K. N. Lindner, B. Stritzker.\\
          {\em Modelling of a selforganization process leading to periodic arrays of nanometric amorphous precipitates by ion irradiation.}\\
	  Comp. Mater. Sci. 33 (2005) 310.

    \item F. Zirkelbach, M. H"aberlen, J. K. N. Lindner, B. Stritzker.\\
          {\em Monte-Carlo-Simulation study of the selforganization of nanometric amorphous precipitates in regular arrays during ion irradiation.}\\
	  Accepted for publication in IBMM 2004 proceedings issue of NIMB.

  \end{enumerate}

  \section{Konferenzbeitr"age}

  \begin{enumerate}

    \item F. Zirkelbach, M. H"aberlen, J. K. N. Lindner und B. Stritzker.\\
          {\em Monte-Carlo-Simulation der Selbstorganisation amorpher nanometrischer $SiC_x$"=Ausscheidungen in Silizium w"ahrend $C^+$-Ionen-Implantation}\\
	  AKF-Fr"uhjahrstagung der DPG, Regensburg, 2/2004, DS 1.4

    \item F. Zirkelbach, M. H"aberlen, J. K. N. Lindner und B. Stritzker.\\
          {\em Kinetik des Selbstorganisationsvorganges bei der Bildung von $SiC_x$"=Ausscheidungs-Arrays in $C^+$-Ionen-implantiertem Silizium.}\\
	  69. Jahrestagung der DPG, Berlin, 2/2005, DS 8.6

  \end{enumerate}

