next up previous
Next: 2.4 Modellverwaltung Up: 2 Beschreibung und Verwaltung Previous: 2.2 Initialisierung

2.3 Geometrie- und Gitterverwaltung

 

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 tex2html_wrap_inline8160 .

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.

   figure346
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 tex2html_wrap_inline8022 ist die Verbindung von tex2html_wrap_inline8024 nach tex2html_wrap_inline8026 . Sie weist eine Referenz zur links liegenden Fläche tex2html_wrap_inline8028 und zur rechts liegenden Fläche tex2html_wrap_inline8030 auf. Jeder Linieneintrag besitzt weiters am Start- und am Endpunkt eine Referenz zur nächsten im Gegenuhrzeigersinn angeschlossenen Linie. Für tex2html_wrap_inline8022 ist das die Linie tex2html_wrap_inline8034 am Startpunkt tex2html_wrap_inline8024 und die Linie tex2html_wrap_inline8038 am Endpunkt  tex2html_wrap_inline8026 .

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.

   figure358
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 tex2html_wrap_inline8182 und für den Speicherbedarf tex2html_wrap_inline8184 , 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 tex2html_wrap_inline8182 erlauben (N ist die Anzahl der Punkte der Geometrie). Der mittlere Speicherbedarf entspricht der Ordnung tex2html_wrap_inline8184 . 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

equation376

erfüllt ist.

   figure384
Abbildung 2.5: Die Box tex2html_wrap_inline8048 des Diskretisierungspunktes tex2html_wrap_inline8050 , 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 tex2html_wrap_inline8052 für die Integration von Konzentrationsgößen und die Nachbarschaftsbeziehungen des Diskretisierungspunktes tex2html_wrap_inline8050 zu den Punkten tex2html_wrap_inline8056 zur Berechnung von Flußgrößen. Jedem Diskretisierungspunktpaar wird die Fläche tex2html_wrap_inline8058 und der Punktabstand tex2html_wrap_inline8060 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

  equation392

wobei tex2html_wrap_inline8220 den gesamten Simulationsbereich bezeichnet, tex2html_wrap_inline8222 ein beliebiger Punkt aus tex2html_wrap_inline8220 ist und tex2html_wrap_inline8048 die zum Diskretisierungspunkt tex2html_wrap_inline8228 gehörende Box ist. Der Rand der Box tex2html_wrap_inline8048 wird mit tex2html_wrap_inline8232 bezeichnet. Die Vereinigung aller Boxen ist wiederum das Definitionsgebiet  tex2html_wrap_inline8220 :

equation404

tex2html_wrap_inline8052 ist das Volumen der Box tex2html_wrap_inline8048 und tex2html_wrap_inline8240 ist die Fläche des Randes der Box tex2html_wrap_inline8048 ,

eqnarray406

   figure411
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 tex2html_wrap_inline8058 und ein Punktabstand tex2html_wrap_inline8060 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).

   figure422
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.

Punktinformationen:
 
Punktpaarinformationen:
 
Die Datenstruktur für jedes Segmentgitter enthält weiters ein Feld in dem die Referenzen der zugehörigen Diskretisierungspunkte eingetragen sind. Für nicht geometriekonforme Gitter geben diese Referenzen die Diskretisierungspunkte an, die innerhalb des Segments liegen.

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.


next up previous
Next: 2.4 Modellverwaltung Up: 2 Beschreibung und Verwaltung Previous: 2.2 Initialisierung

IUE WWW server
Mon Jul 1 14:21:36 MET DST 1996