Die Simulation allgemeiner Bauelementstrukturen erfordert eine
effiziente Verwaltung der Bauelementgeometrien. In MINIMOS-NT wurde eine
zweidimensionale Geometrie- und Gitterverwaltung implementiert. Um
trotzdem eine räumliche Struktur der Geometrie zu erhalten, wird eine
konstante Weite in der dritten Dimension angenommen. Das heißt, die
zweidimensionale Geometrie ist die Grundfläche eines geraden Prismas
mit der Höhe entsprechend der gewählten Weite. Diese Weite ist frei
wählbar. Der Standardwert ist .
Zur Verwaltung der Geometriedaten wird das Profile Interchange Format (PIF) von VISTA verwendet (s. Abschnitt 2.6). PIF unterstützt auch die Unterteilung der Geometrie in Segmente. Das Simulationsgebiet muß durch nichtüberlappende Segmente lückenlos aufgefüllt sein. Benachbarte Segmente berühren einander an Grenzflächen.
Segmente besitzen eine physikalische Bedeutung für die Simulation. Jedem Segment sind eine Materialspezifikation und eine Definition der Dotierstoffkonzentration zugeordnet. Innerhalb eines Segments werden die selben physikalischen Modelle verwendet. Es werden daher alle benötigten Informationen segmentweise verwaltet. Dies betrifft die Gitter für die Diskretisierung ebenso wie die verteilten physikalischen Größen und die physikalischen Modelle.
Abbildung 2.3: Beispiel für eine Doubly Connected Edge List
Struktur. Ein Eintrag der Datenstruktur ist eindeutig einer Linie der
Geometrie zugeordnet. Eine Linie ist die orientierte Verbindung zweier
Punkte. Die hier gezeigte Linie ist die Verbindung von
nach
. Sie weist eine Referenz zur links liegenden Fläche
und zur rechts liegenden Fläche
auf. Jeder Linieneintrag
besitzt weiters am Start- und am Endpunkt eine Referenz zur nächsten
im Gegenuhrzeigersinn angeschlossenen Linie. Für
ist das die
Linie
am Startpunkt
und die Linie
am
Endpunkt
.
An eine Verwaltung der Geometrien werden folgende Anforderungen gestellt [23]:
Um ein effiziente Speicherung der Geometrieinformation zu gewährleisten, wird eine Doubly Connected Edge List Struktur verwendet (s. Abb. 2.3). Linien werden als Punktpaare definiert, wobei eine Orientierung durch Definition eines Start- und Endpunktes gegeben ist. Für jedes Linienende ist eine Referenz auf die nächste im Gegenuhrzeigersinn folgende Linie definiert. Weiters ist für jede Linie ein linke und rechte Fläche angegeben. Mit Hilfe dieser Datenstruktur lassen sich auch komplizierte Geometrien darstellen.
Abbildung 2.4: Aufteilung der Geometrie in Streifen (Slabs) zur
effizienten Bestimmung der Bereichsinformation für einen gegebenen
Punkt. Der Aufwand für diese Bestimmung ist und
für den Speicherbedarf
, wobei N die Anzahl
der Geometriepunkte ist.
Für die effiziente Bereitstellung der Bereichsinformation wird eine
Slab Methode benutzt. Wie Abbildung 2.4 zeigt, wird
die Geometrie dazu in Streifen unterteilt Slabs, welche wiederum
aus trapezförmigen Vierecken aufgebaut sind. Sowohl die Streifen als
auch die Vierecke überlappen sich nicht, sodaß Datenstrukturen zur
Speicherung verwendet werden können, die eine Suche vom Aufwand der
Ordnung erlauben (N ist die Anzahl der Punkte der
Geometrie). Der mittlere Speicherbedarf entspricht der Ordnung
. Für MINIMOS-NT wurde ein quasibalancierter Binärbaum
implementiert.
Erst mit Hilfe dieser grundlegenden Datenstrukturen ist es möglich einen Diskretisierungspunkt eindeutig und effizient einem bestimmten Bereich des Simulationsgebiets zuzuordnen.
Für die Bauelementsimulation kommt zumeist die Finite-Boxen-Methode für die Diskretisierung der Differentialgleichungen zur Anwendung [12][27][29]. Dies liegt zum einen an der Verfügbarkeit der Scharfetter-Gummel Diskretisierung für die Finite-Boxen-Methode, welche bei der Diskretisierung von Transportgleichungen mit einem Diffusions- und Feldstromanteil die Verwendung von weniger Diskretisierungspunkten bei gleichbleibender Genauigkeit der Lösung gegenüber einer einfachen Differenzenmethode erlaubt, zum anderen, daß auch lokal, also für jede Box, der Erhaltungssatz der Ladung
erfüllt ist.
Abbildung 2.5: Die Box des Diskretisierungspunktes
, wie sie für die Finite-Boxen-Methode Verwendung
findet. Die wesentlichen Parameter, die für die Finite-Boxen-Methode
benötigt werden, sind das Boxvolumen
für die Integration von
Konzentrationsgößen und die Nachbarschaftsbeziehungen des
Diskretisierungspunktes
zu den Punkten
zur
Berechnung von Flußgrößen. Jedem Diskretisierungspunktpaar wird
die Fläche
und der Punktabstand
zugeordnet.
Die Finite-Boxen-Methode geht davon aus, daß jedem Diskretisierungspunkt ein eindeutig definierter Bereich des Simulationsgebiets zugeordnet ist. Dieser Bereich ist im Falle der Voronoi-Zerlegung definiert als
wobei den gesamten Simulationsbereich bezeichnet,
ein beliebiger Punkt aus
ist und
die zum
Diskretisierungspunkt
gehörende Box ist. Der Rand der
Box
wird mit
bezeichnet. Die
Vereinigung aller Boxen ist wiederum das Definitionsgebiet
:
ist das Volumen der Box
und
ist die Fläche des
Randes der Box
,
Abbildung 2.6: Delaunay-Dreiecksgitter einer einfachen Geometrie.
Die Zuordnung einer Box zu jedem Diskretisierungspunkt definiert eine
eindeutige paarweise Nachbarschaftsbeziehung der Diskretisierungspunkte
zueinander, sogenannte Kanten. Wie Abbildung 2.5 als
zweidimensionales Beispiel zeigt, wird durch jede Kante eine
Boxfläche und ein Punktabstand
definiert. Die Menge
der Diskretisierungspunkte und der Kanten definiert das Gitter
auf dem die Differentialgleichungen diskretisiert werden
(s. Abb. 2.6).
Die Zuordnung eines Bereichs zu einem Diskretisierungspunkt durch
(2.2) ist für Vierecksgitter immer möglich. Für
Dreiecksgitter muß das Delaunay-Kriterium erfüllt sein. Dieses
Kriterium besagt im wesentlichen, daß innerhalb des Umkreises eines
Dreiecks kein weiterer Diskretisierungspunkt liegen darf (im
dreidimensionalen darf in der Umkugel eines Tetraeders kein weiterer
Diskretisierungspunkt liegen). Eine beliebige Verteilung von
Diskretisierungspunkten kann durch Hinzufügen weiterer Punkte immer
so modifiziert werden, daß dieses Kriterium erfüllt ist
[23]. Die Menge der Boxflächen wird als der Voronoi-Graph
bezeichnet (s. Abb. 2.7 als zweidimensionales Beispiel).
Abbildung 2.7: Voronoi-Graph des Dreiecksgitters von
Abb. 2.6.
Es wird für jedes Segment ein eigenes Gitter definiert. Das bedeutet, daß zusätzliche Information für die Verbindung der Segmentgitter an den Grenzflächen benötigt wird. Diese Information wird durch Grenzflächengitter verwaltet.
Für ein bestimmtes Segmentgitter sind zwei Arten geometrischer Informationen zu unterscheiden: Informationen, die durch einen Diskretisierungspunkt identifiziert werden, also einer Box zugeordnet sind und Informationen, die durch ein Punktpaar identifiziert werden, also einer Boxgrenzfläche zugeordnet sind.
Abbildung 2.9 zeigt ein Programmbeispiel für die Abarbeitung aller referenzierten Diskretisierungspunkte. Das Feld grid->boxcen[] referenziert die zu den gültigen Diskretisierungspunkten gehörenden Werte der Elektronenkonzentration im Feld n[]. Das Feld grid->boxvol[] enthält die Volumina der Diskretisierungsboxen. grid->boxnum ist die Anzahl der gültigen Diskretisierungsboxen.