next up previous
Next: Setzen der Priorität: Up: 3 Numerische Lösung nichtlinearer Previous: 3.4.4 Gesamttransformation

3.5 Assemblierung des linearen Gleichungssystems

 

Die Assemblierung der Systemmatrix und des Rechte-Seite-Vektors für die einzelnen Iterationsschritte ist eine zentrale Aufgabe des Bauelementsimulators. Einerseits soll sie möglichst flexibel sein um allgemeinen Bauelementstrukturen gerecht zu werden, die unterschiedlicher Differentialgleichungssysteme zur Beschreibung bedürfen und entsprechend bei der Assemblierung zu berücksichtigen sind. Andererseits ist die Assemblierung sehr zeitkritisch, da sie bei jeden Iterationsschritt alle Einträge der Systemmatrix berechnet.

Die Assemblierung des Gleichungssystems gliedert sich in zwei Teile. Im ersten Teil wird das Gleichungssystem symbolisch assembliert. Zweck der symbolischen Assemblierung ist es, die zu berechnenden Variablen und die zu lösenden Gleichungen zu ermitteln. Das ermöglicht es, auch nur Teile des Gleichungssystems zu assemblieren und zu lösen, was auch die Anwendung blockiterativer Verfahren erlaubt. Solche Verfahren lösen nicht das gesamte Gleichungssystem, sondern gruppieren die Gleichungen und lösen in einem iterativen Prozeß die Gleichungsgruppen abwechselnd. Ein solches Verfahren hat sich für das hydrodynamische Modell bewährt (s. Abschnitt 3.2).

Nachdem damit die Struktur des Gleichungssystems bekannt ist, kann der notwendige Speicherplatz reserviert werden. Im zweiten Teil werden nun die einzelnen Werte berechnet und in die Datenstrukturen eingetragen. Der zweite Teil ist also die Wertassemblierung des linearen Gleichungssystems.

Außerdem können Gleichungen, welche die Kondition des Gleichungssystems verschlechtern, für eine Vorelimination vorgesehen werden. Solche Gleichungen werden etwa durch Rand- und Grenzflächenbedingungen definiert. Während der Vorelimination wird die einer solchen Gleichung zugeordnete Variable mittels Gaußscher Elimination aus dem Gleichungssystem entfernt bevor dieses vom Gleichungslöser bearbeitet wird.

An Diskretisierungspunkten, wo mehr als zwei Segmente zusammenstoßen, werden ohne zusätzliche Maßnahme mehrere Grenzflächenmodelle ausgeführt, was zu fehlerhaften Ergebnissen führt. Um das zu vermeiden, kann jedes Modell mit einer Priorität versehen werden. Nur das Modell mit der höchsten Priorität wird für einen speziellen Diskretisierungspunkt ausgeführt. Die Festlegung der Mindestpriorität, die notwendig ist um Einträge für eine bestimmte Variable vorzunehmen, erfolgt ebenfalls im symbolischen Teil der Assemblierung.

Die folgenden Funktionen stehen ausschließlich für die symbolische Assemblierung zur Verfügung:


next up previous
Next: Setzen der Priorität: Up: 3 Numerische Lösung nichtlinearer Previous: 3.4.4 Gesamttransformation

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