Durch das Linearisieren der Halbleitergleichungen entsteht ein großes, dünn besetztes lineares Gleichungssystem, das von einem dazu geeigneten Gleichungslöser mit einer gewissen Mindestgenauigkeit gelöst werden muß. Bei direkten Gleichungslösern wie bei iterativen spielen dabei die Genauigkeit der maschinendarstellbaren Zahlen und die Kondition des Gleichungssystems eine wesentliche Rolle.
Die Kondition einer Matrix ist unter anderem ein Maß dafür, um welches Verhältnis im schlimmsten Fall die Genauigkeit des Lösungsvektors der Gleichung
unter jener des Rechte-Seite-Vektors liegt, falls man mittels Gaußscher Elimination im Rahmen beschränkter Genauigkeit der Zahlendarstellung das Gleichungssystem löst.
,,Gut konditionierte`` Matrizen sind solche mit kleiner Konditionszahl, ,,schlecht konditionierte`` besitzen eine große Konditionszahl. Je größer die Konditionszahl, umso näher liegt die Matrix bei einer (zumindest numerischen) Singularität; singuläre Matrizen haben die Konditionszahl .
Je nach dem untersuchten Problem gibt es verschiedene Definitionen der Konditionszahl einer Matrix . Eine einfache und allgemein übliche [76][75] ist das Produkt
wobei die Matrix-Norm über folgende Vorschrift definiert ist:
Für iterative Gleichungslöser ist jedoch die spektrale Konditionszahl [25][34] aussagekräftiger,
also das Verhältnis des größten Eigenwerts der Matrix zum kleinsten.
Iterative Gleichungslöser sind besonders empfindlich gegenüber schlecht konditionierten Matrizen. Schlechte Kondition bewirkt, daß der Gleichungslöser entweder sehr viele Iterationen benötigt, oder überhaupt nicht konvergiert, oder konvergiert, ohne daß die Lösung sinnvoll ist. Je besser die Kondition der Matrix ist, umso weniger Iterationen wird der Gleichungslöser für das Problem benötigen, bzw. umso wahrscheinlicher ist es, daß ein Gleichungssystem mit dieser Matrix überhaupt iterativ gelöst werden kann.
Ein wesentliches Ziel des Gleichungsaufbaus muß es also sein, die Kondition der Systemmatrix so gut als möglich zu erhalten. Speziell bei der Verkopplung verschiedenartiger Gleichungen in einem System und bei der Implementierung von Randbedingungen hat es sich gezeigt, daß oft eine einfache Umstellung oder eine kleine Änderung in der Skalierung eine radikale Konditionsverbesserung bringt.
Über die Kondition der einzelnen Gleichungstypen der Halbleitergleichungen wie auch über die Kondition des verkoppelten Systems liegen theoretische Untersuchungen vor [34][4], diese erfolgen jedoch meist unter stark einschränkenden Bedingungen. Für hydrodynamische Gleichungen und für Systeme, bei denen nicht nur die Gleichungen, sondern auch die Modelle für einzelne Koeffizienten (z.B. Beweglichkeit) starke Nichtlinearitäten aufweisen, ist eine Konditionsabschätzung allerdings schwierig und von Einzelfall zu Einzelfall verschieden. Selbst die experimentelle Konditionsbestimmung ist ein Problem, da zur Berechnung der Konditionszahl einer Matrix wohl Methoden existieren, diese jedoch wesentlich aufwendiger sind als das Lösen der Gleichungen selbst.
In der Praxis untersucht man daher als Indikator für die Kondition der Systemmatrix das Verhalten des (eines) iterativen Gleichungslösers, insbesondere dessen Iterationszahl und die Geschwindigkeit, mit der er sich der Lösung nähert [34][59][60]. Dabei ist jedoch zu beachten, daß diese beobachtbaren Größen von vielen Einflußparametern, zum Beispiel dem Rang des linearen Gleichungssystems, abhängen und daher nur bedingt vergleichbar sind.
Als günstige Vorgangsweise hat es sich erwiesen, beim Eintrag von neuen Matrixelementen die Größenordnung, die diese Elemente im Vergleich zu ihrer ,,Umgebung`` in der Matrix haben, zu berücksichtigen. Meist hat ein Matrixeintrag, der sehr groß im Vergleich zu den anderen Einträgen der entsprechenden Zeile/Spalte ist, schlechte Auswirkungen auf die Kondition der Matrix. Das gilt natürlich nur für die Nebendiagonalen; ein großer Eintrag in der Diagonale wirkt sich stabilisierend aus und verbessert daher die Kondition.
Diese generelle Richtlinie, kleine Nebendiagonalelemente anzustreben, ersetzt zwar nicht die genaue Untersuchung von Einzelfällen und liefert nur lokale Aussagen (für einige zusammenhängende Punkte), hat sich jedoch in zahlreichen numerischen Experimenten bewährt.
Erzielt wird eine solche Verkleinerung der Nebendiagonalen in dieser Arbeit, indem man die Gleichungen (die Zeilen der Matrix) und die Variablen (entsprechend den Spalten der Matrix) geeignet skaliert und indem man manchmal eine Linearkombination zweier Zeilen bildet, um große Nebendiagonalelemente auszulöschen. Diese Methode wird im Kapitel 8 als ,,Zeilentransformation`` vorgestellt und bei Randbedingungen generell verwendet. Eine Untersuchung darüber, welche Voreliminationen, die über die Diagonalisierung nach führenden Termen in [4] hinausgehen, im Inneren der Gebiete sinnvoll wären, war im Rahmen dieser Arbeit zu aufwendig und nicht notwendig. Nach rein numerischen Kriterien wird diese Aufgabe ohnehin vom Präkonditionierer durchgeführt.
Hier soll am Beispiel zweier sich nähernder Gitterpunkte die Beeinflussung der Kondition durch einen dominanten Flußterm dargelegt werden. Der Grenzfall, daß die Punkte zusammenfallen, entspricht der Situation am Heteroübergang oder Ohmschen Kontakt, falls man für das dies- und das jenseitige Potential verschiedene Variablen verwendet.
Gegeben sei eine einfache eindimensionale Diskretisierung einer Poisson-Gleichung ohne Quellterme nach Bild B.1. Der Fluß zwischen zwei Knoten sei dem Abstand indirekt proportional. Wenn und DIRICHLET-Randwerte sind, die hier bereits aus dem Gleichungssystem entfernt sein sollen, so erhält man für und die Gleichungen
beziehungsweise
Falls und gilt, kann man die Eigenwerte der Matrix näherungsweise zu
bestimmen; das Verhältnis der Eigenwerte nimmt somit mit dem Reziprokwert von zu, falls sehr klein wird.
Indem man, wie in Kapitel 8 beschrieben, die Einträge der Gleichung von zur Gleichung von weiterleitet, was einer Addition der zweiten Gleichung zur ersten entspricht, und die Gleichung von abschwächt (hier mit dem Faktor ), drückt man den Fluß zwischen den Boxen von und implizit in der Gleichung für aus, während er aus der Gleichung für überhaupt verschwindet. Das erkennt man daran, daß sich die Terme in der ersten Zeile der folgenden Matrix gegenseitig kompensieren:
Nach Vereinfachung ergeben sich für kleine die Eigenwerte dieses Systems zu
Die spektrale Kondition ist sehr gut geworden, da die Ursache der schlechten Kondition entfernt wurde.
Man kann daraus ersehen, daß man für den Grenzfall unbedingt eine implizite Darstellung des Flusses über die Boxgrenze erzielen muß, wie das in Kapitel 6 erläutert ist.