Bei Simulationsprogrammen mit eingeschränkter Aufgabenstellung und
einfacher Datenstruktur ist die Zusammenstellung der Gleichungen durch
die einfache Organisationsstruktur der entstehenden Matrix meist kein
spezifisches Problem. In einem Programm, das mit Hilfe von
Finiten Differenzen auf einem Rechtecksgitter die
Differentialgleichungen diskretisiert, sind die Poisson-Gleichung und
die Kontinuitätsgleichungen alle von derselben Struktur. Das heißt
nicht, daß sie auch numerisch gleich zu behandeln wären; in den
numerischen Eigenschaften der auftretenden Koeffizientenmatrizen
unterscheiden sie sich deutlich. Aber die Struktur der auftretenden
Matrizen ist aufgrund des Rechtecksgitters und der einfachen Behandlung
der Randbedingungen immer pentadiagonal für zweidimensionale und
heptadiagonal für dreidimensionale Probleme. Falls nur eine
Elektronen- und Löchersorte behandelt wird, so ist sogar die Matrix
des verkoppelten Systems von einer genau bekannten Struktur
(pentadiagonal oder heptadiagonal mit Blockmatrizen als
Matrixelementen).
Bei einem universellen Bauelementsimulator, der auf so unterschiedliche Aufgabenstellungen wie Behandlung mehrerer Trägersorten, Schichtstrukturen, beliebig komplexe Geometrien und verkoppelte Simulation vorbereitet sein soll, ist die Zusammenstellung der Gleichungen ein komplexes Problem, das eine aufwendige Verwaltung von Größen und Gleichungen erfordert. Für jedes Segment und jede Segmentsgrenze gibt es eigene Größen, die entweder auf Gittern oder als homogene Größen für das ganze Segment definiert werden. Der Gleichungsassembler, das ist jener Programmteil, der den Aufbau des Gleichungssystems durchführt, muß in der Lage sein, diese Größen zu verwalten und mit sogenannten Modellfunktionen, die die physikalischen Modelle enthalten, für diese Größen Gleichungen aufzustellen.
Die Zusammenstellung des Gleichungssatzes und der Aufbau der Gleichungen wird im neuen Simulator von einem eigenen Programmodul durchgeführt. Die dabei entstehenden spärlich besetzten, aber unstrukturierten Matrizen werden mit Hilfe eines eigenen Gleichungslösermoduls gelöst. Diese beiden Programmodule sind nicht im Simulator, sondern als Teil der VISTA-Umgebung implementiert, um auch die Verwendung in anderen Neuentwicklungen zu ermöglichen.