41c2315e0dd509594a5aed992ca5328e608efca5
[lectures/latex.git] / nlsop / diplom / quellcode.tex
1 \chapter{Funktionen der Programme}
2
3 {\em NLSOP} besteht aus einer Anzahl von Programmen.
4 Diese sollen im Folgenden vorgestellt werden.
5 Der Quellcode ist auf der beigelegten Compact Disc enthalten.
6
7
8   \section{Server}
9   \begin{verbatim}
10   nlsop_server.c
11   \end{verbatim}
12   Ein {\em Server}-Programm, bei dem sich {\em Client} und {\em Benutzeroberfl"ache} anmelden.
13   Dieses verteilt die zu rechnenden Simulationen auf freie {\em Client}-Rechner oder h"alt Simulationsauftr"age in einer Warteschlange.
14   Es nimmt fertige Rechenergebnisse entgegen und speichert sie lokal ab.
15   Es h"alt Statusinformationen "uber die laufenden Rechnungen und die Warteschlange zur Abfrage bereit.
16   Weiterhin nimmt es Simulationsauftr"age entgegen.
17   Die Interaktion mit {\em Client} und {\em Benutzeroberfl"ache} erfolgt durch das Netzwerk "uber eine {\em TCP/IP}-Verbindung.
18
19   \section{Client}
20   \begin{verbatim}
21   nlsop_client.c
22   \end{verbatim}
23   Das {\em Client}-Programm beinhaltet den eigentlichen Simulationscode.
24   Es meldet sich beim {\em Server} an und nimmt Rechenaufgaben entgegen.
25   Nach einer eintellbaren Anzahl von Durchl"aufen "ubergibt es Zwischenergebnisse beziehungsweise das Endergebnisse an den {\em Server}-Prozess.
26   Nach Beendigung einer Simulation geht es zur"uck in den Ruhezustand und wartet auf neue Rechenauftr"age.
27
28   \section{Benutzeroberfl"ache}
29   \begin{verbatim}
30   nlsop_gui.c
31   \end{verbatim}
32   Die {\em Benutzeroberfl"ache} dient zur "Ubergabe von Simulationsauftr"agen an den {\em Server}.
33   Weiterhin dient es zur Statusabfrage von laufenden Rechnungen, der Warteschlange und der angemeldeten {\em Client}-Rechner.
34
35   \section{Standalone Version}
36   \label{section:sav}
37   \begin{verbatim}
38   nlsop.c
39   \end{verbatim}
40   Die {\em Standalone Version} ist ein eigenst"andiges Programm, das unter anderem auch den Simulationscode beinhaltet.
41   Zus"atzlich stellt sie eine Benutzeroberfl"ache zur Verf"ugung, die die Untersuchung des fertig simulierten Ergebnisses erm"oglicht.
42   Man kann Grafiken, die den TEM-Aufnahmen "ahnlich sind, sowie Druckspannungen und den Kohlenstoffgehalt visualisieren und als Bitmap abspeichern.
43   Ausserdem kann man Kohlenstoffprofile erzeugen und die Tiefe der vorderen und hinteren Grenzfl"ache einer vorhandenen durchgehenden Schicht bestimmen.
44
45   \section{APIs}
46
47   Einige Funktionalit"at wurde in externen Programmierschnittstellen ausgelagert.
48   Diese sind im Folgenden vorgestellt.
49   \begin{itemize}
50     \item \begin{verbatim} network.c, network.h \end{verbatim} \\
51           Hilfsmittel zur Verbindung der Programmteile "uber das Netzwerk.
52     \item \begin{verbatim} input.c, input.h \end{verbatim} \\
53           Funktionen f"ur die Benutzereingabe.
54     \item \begin{verbatim} list.c, list.h \end{verbatim} \\
55           Hilfsmittel zur Benutzung von verlinkten Listen.
56     \item \begin{verbatim} display.c, display.h \end{verbatim} \\
57           Funktionen zur Visulisierung auf Konsolenebene.
58     \item \begin{verbatim} event.c, event.h \end{verbatim} \\
59           Hilfsmittel zum Eventmanagement.
60     \item \begin{verbatim} bmp.c, bmp.h \end{verbatim} \\
61           Funktionen f"ur die Erstellung und Bearbeitung von Bitmap Dateien.
62     \item \begin{verbatim} fourier.c, fourier.h \end{verbatim}
63           Funktionen f"ur die diskrete Fouriertransformation.
64     \item \begin{verbatim} dfbapi.c, dfbapi.h \end{verbatim}
65           Helfer f"ur die Visulaisierung der Endergebnisse.
66     \item \begin{verbatim} random.c, randomi.h \end{verbatim}
67           Funktionen zur Erzeugung spezieller Wahrscheinlichkeitsverteilungen.
68   \end{itemize}
69
70   \section{Andere Hilfsmittel}
71   \label{section:hilfsmittel}
72   
73   Im Folgenden sind weiter Programme vorgestellt, deren Funktionalit"at aus diversen Gr"unden nicht in die Hauptprogramme eingeflossen ist.
74
75   \begin{itemize}
76     \item \begin{verbatim} nlsop_make_cryst.c \end{verbatim} \\
77           Estellt ein Duplikat eines gespeicherten Ergebnisses wobei alle Zust"ande der Volumen auf \dq Kristallin\dq{} gesetzt werden.
78     \item \begin{verbatim} nlsop_create_cbox.c \end{verbatim} \\
79           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.
80     \item \begin{verbatim} parse_trim_collision.c \end{verbatim} \\
81           Werkzeug zur Auswertung der Datei in der {\em TRIM} die Kollisionen protokolliert.
82     \item \begin{verbatim} dft.c, dft.h \end{verbatim} \\
83           Erstellt die zweidimensionale Fouriertransformation eines Bitmaps.
84     \item \begin{verbatim} linescan.c \end{verbatim} \\
85           Erstellt den Linescan "uber ein fouriertransformiertes Bitmap.
86     \item \begin{verbatim} random_parse.sh \end{verbatim} \\
87           Simples Shell-Script zur Auswertung und "Uberpr"ufung der Zufallszahlen.
88   \end{itemize}
89
90 \chapter{Publikationsliste}
91
92   \section{Eigene Publikationen}
93
94   \begin{enumerate}
95
96     \item F. Zirkelbach, M. H"aberlen, J. K. N. Lindner, B. Stritzker.\\
97           {\em Modelling of a selforganization process leading to periodic arrays of nanometric amorphous precipitates by ion irradiation.}\\
98           Comp. Mater. Sci. 33 (2005) 310.
99
100     \item F. Zirkelbach, M. H"aberlen, J. K. N. Lindner, B. Stritzker.\\
101           {\em Monte-Carlo-Simulation study of the selforganization of nanometric amorphous precipitates in regular arrays during ion irradiation.}\\
102           Accepted for publication in IBMM 2004 proceedings issue of NIMB.
103
104   \end{enumerate}
105
106   \section{Konferenzbeitr"age}
107
108   \begin{enumerate}
109
110     \item F. Zirkelbach, M. H"aberlen, J. K. N. Lindner und B. Stritzker.\\
111           {\em Monte-Carlo-Simulation der Selbstorganisation amorpher nanometrischer $SiC_x$-Ausscheidungen in Silizium w"ahrend $C^+$-Ionen-Implantation}\\
112           AKF-Fr"uhjahrstagung der DPG, Regensburg, 2/2004, DS 1.4
113
114     \item F. Zirkelbach, M. H"aberlen, J. K. N. Lindner und B. Stritzker.\\
115           {\em Kinetik des Selbstorganisationsvorganges bei der Bildung von $SiC_x$-Ausscheidungs-Arrays in $C^+$-Ionen-implantiertem Silizium.}\\
116           69. Jahrestagung der DPG, Berlin, 2/2005, DS 8.6
117
118   \end{enumerate}
119