Eine notwendige Bedingung für die Existenz einer eindeutige Lösung des nichtlinearen Gleichungssystems
ist, daß die Anzahl der Gleichungen mit der Anzahl der Unbekannten übereinstimmen muß. Welche Gleichung einer bestimmten Variablen zugeordnet wird, ergibt sich zumeist aus der Diskretisierung der Differentialgleichungen. Diese Zuordnung bestimmt die Reihenfolge der Gleichungen im Gleichungssystem entsprechend der Anordnung der Variablen im Lösungsvektor. Die erste Gleichung im Gleichungssystem entspricht der ersten Variablen des Lösungsvektors, usw. Die einer Variablen zugeordnete Funktion wird als Kontrollfunktion bezeichnet und zur Kennzeichnung als mit der Variablen als Index geschrieben,
Die Systemmatrix ist die Ableitung der vektorwertigen Funktion an der Stelle und wird auch die Jacobimatrix genannt. Da eine analytische Funktion ist, kann die Systemmatrix ebenfalls analytisch berechnet werden,
Der Vektor der rechten Seite des Gleichungssystems (3.9) wird der Rechte-Seite-Vektor für die Näherungslösung genannt und kann ebenfalls analytisch bestimmt werden.
Wie die Gleichung (3.17) zeigt, ist eine Zeile des linearen Gleichungssystems durch die entsprechende Kontrollfunktion definiert und eine Spalte der Systemmatrix durch die entsprechende Variable des Lösungsvektors bestimmt, nach der die Funktion abgeleitet wird. Nachdem die Funktion einer Variablen direkt zugeordnet ist, kann die Zeilenposition auch mit der assoziierten Variablen bestimmt werden. Der Eintrag in der Systemmatrix ist dem Variablenpaar zugeordnet und umgekehrt. Er ist die partielle Ableitung der Funktion nach der Variablen an der Stelle der aktuellen Näherungslösung und der entsprechende Eintrag des Rechte-Seite-Vektors ist der negative Wert der Funktion an der Stelle (s. Gl. 3.9).
Gleichartige Kontrollfunktionen, die das Ergebnis der Diskretisierung einer Differentialgleichung sind und sich nur durch ihre Variablen unterscheiden, werden als Modelle bezeichnet. Diese Modelle sind nicht zu verwechseln mit den physikalischen Modellen, wie etwa für Beweglichkeiten oder Generationsraten. Sie stellen vielmehr implementierte Modellfunktionen dar, die für jeden Iterationsschritt ausgeführt werden um die Systemmatrix und den Rechte-Seite-Vektor aufzubauen. Um jedoch den programmtechnischen Begriff einer Funktion vom Begriff der Kontrollfunktion zu unterscheiden, werden die implementierten Modellfunktionen als Modell bezeichnet.
Nachdem jeder Variablen eine Kontrollfunktion zugeordnet ist, kann die Zusammenfassung von Kontrollfunktionen zu Modellen auch als strukturelle Konsequenz der Gruppierung von Variablen zu Quantitäten gesehen werden. Dementsprechend ist einem Modell eindeutig eine Quantität zugeordnet, jedoch kann ein Modell außerdem noch weitere Quantitäten als Parameter benötigen. So verwendet etwa das Modell zur Berechnung der Raumladung die zugeordnete Potentialquantität und zusätzlich die Quantitäten für die Ladungsträgerkonzentrationen. Mit der Potentialquantität werden die Kontrollfunktionen bestimmt.
Ein Modell berechnet die Einträge für eine bestimmte Gruppe von Zeilen im linearen Gleichungssystem. Der grau hinterlegte Bereich der Systemmatrix in der Abbildung 3.3 enthält die Einträge entsprechend der Ableitungen der Kontrollfunktionen des Modells nach den Variablen der zugeordneten Quantität. Einträge in den Spalten außerhalb dieses Bereichs entsprechen Abhängigkeiten des Modells von anderen Quantitäten. Die Diagonaleinträge des grauen Bereichs enthalten die Ableitungen der Kontrollfunktionen nach den ihnen zugeordneten Variablen.
Der Rang der Systemmatrix ist im Falle der Bauelementsimulation meistens groß, jedoch ist sie spärlich besetzt. Es sind also nur relativ wenige Matrixelemente ungleich Null. Eine Speicherung der gesamten Matrix ist daher nicht nötig und es kann ein MCSR-Datenformat [26] verwendet werden. Nachdem die Wahl der Modelle von der Bauelementstruktur, den Materialien und den zu berechnenden Charakteristika abhängt, ist die Struktur des Gleichungssystems nicht a priori bekannt. Für den Aufbau des Gleichungssystems sind daher spezielle Assemblierungsfunktionen notwendig, die es erlauben, die Struktur des Gleichungssystems flexibel zu halten und trotzdem eine effiziente Assemblierung zu gewährleisten. Der Abschnitt 3.5 beschreibt detailiert die Assemblierung des linearen Gleichungssystems und die funktionale Schnittstelle des entsprechenden Programmoduls.