next up previous
Next: 2.6 Datenverwaltung Up: 2 Beschreibung und Verwaltung Previous: 2.4 Modellverwaltung

2.5 Quantitätenverwaltung

 

Eine numerische Lösung der Differentialgleichungssätze macht eine Diskretisierung notwendig. Das heißt, daß für jedes Segment ein Gitter bestehen aus Diskretisierungspunkten und deren Nachbarschaftsbeziehungen spezifiziert werden muß (s. Abb. 2.6). Das Ergebnis ist eine Diskretisierung des Simulationsgebiets. Ortsabhängige Größen, sowohl vorgegebene als auch berechnete, werden als Datenfelder, sogenannten verteilten Attributen, segmentweise mittels PIF verwaltet (s. Abschnitt 2.6) und referenzieren das entsprechende Segmentgitter.

Als Variablen numerischer Berechnungen verwendete verteilte Attribute werden als Quantitäten bezeichnet (s. Abschnitt 4). Zusätzlich zu den Attributdaten verwalten Quantitäten Informationen über Beziehungen zu anderen Quantitäten (für Ladungsträger z.B. die entsprechende Potential-Quantität), MINIMOS-NT-interne Maßeinheiten, sinnvolle Maximal- und Minimalwerte und die Position der Variablen innerhalb des gesamten Variablenvektors. Als Identifizierung einer Quantität dient ein Index, der mittels Funktionsaufruf angefordert werden kann (s. Abb. 2.8).

   figure460
Abbildung 2.8: Eine Potential-Quantität wird angefordert. Existiert diese Quantität noch nicht, so wird sie automatisch neu generiert. Der Index iqpot kann im weiteren zur Anforderung der aktuellen Variablenwerte dieser Quantität verwendet werden (s. Abb. 2.9). Der Prefix abc soll auf die grundlegende Bedeutung der Funktionen zur Verwaltung von Quantitäten hinweisen und dient weiters dazu, Namenskonflikte mit Funktionen anderer Bibliotheken zu vermeiden.

   figure469
Abbildung 2.9: Beispiel für die Anforderung der Variablen einer Elektronenkonzentrations-Quantität und deren Verwendung. Es wird der von den Elektronen bedingte Anteil der Raumladung berechnet.

Dieser Index wird in der Folge dazu benutzt, die aktuellen Variablenwerte zu ermitteln, die für die Auswertung der Kontrollfunktionen benötigt werden (s. Abb. 2.9).

Die Modelle benötigen unterschiedliche Quantitäten zur Berechnung der Komponenten der Kontrollfunktionen. Die Struktur der Modelle sieht einen Initialisierungsteil und einen Ausführungsteil vor (s. Abschnitt 2.4). Im Initialisierungsteil werden mit der Funktion abcGetQuantityIndex() alle Quantitäten registriert, die für das Modell benötigt werden. Im Ausführungsteil stellt die Funktion abcGetQuantityValues() alle aktuellen Variablenwerte für die Berechnung der Kontrollfunktionen zur Verfügung.



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