Bei einer Implementierung können zwei Wege zur Assemblierung der Randbedingungen eingeschlagen
werden: In der vorhin gezeigten Art werden Dirichlet-Knoten gleich bei der Assemblierung
berücksichtigt, und der Spaltenmatrix bildet die rechte Seite des Gleichungssystems.
Der Rang des zu lösenden Gleichungssystems wird von
auf
reduziert.
In der zweiten Art assembliert man die Steifigkeitsmatrix, ohne eine Trennung der Knoten
in Knoten mit Freiheitsgraden und Dirichlet-Knoten durchzuführen. Die
Dirichlet-Knoten werden in die Spaltenmatrix
eingesetzt
und das Produkt
gebildet. Ausmultipliziert werden jedoch
nur jene Spalten, wo eine Multiplikation mit Dirichlet-Knoten erfolgt. Alle ausmultiplizierten
Terme werden von der rechten Seite des Gleichungssystems subtrahiert und
alle Zeilen
von
gestrichen, wenn der Index
einem Dirichlet-Knoten entspricht.
Zuletzt werden die Diagonaleinträge der gestrichenen Zeilen von
auf eins gesetzt,
und auf der rechten Seite wird der Dirichlet-Knotenwert eingetragen. Der Rang des Gleichungssystems
ist
, wobei
Pseudo-Gleichungen auftreten.
In dieser Arbeit wurde der etwas komplizierteren, aber effizienteren ersten Methode der Vorzug gegeben.
Der Assembliervorgang der Elementsmatrizen zu einer Gesamtmatrix
ist
vom Prinzip her für zwei- und dreidimensionale Strukturen gleich. Das folgende
zweidimensionale Beispiel soll den Vorgang veranschaulichen und ist also auch für
räumliche Diskretisierungen gültig. Die Abbildung 3.10 zeigt ein Problem mit drei
Kontakten. Die obere und untere horizontale Berandung sollen leitend sein und zwei Kontakte
bilden. Der dritte Leiter liegt im Inneren des diskretisierten Objekts.
Die äußeren vertikalen Ränder sollen homogene Neumann-Randbedingungen darstellen,
damit kann man sich die Struktur nach links und rechts an den vertikalen Rändern gespiegelt
fortgesetzt denken.
Abbildung 3.10: Diskretisierter Bereich
Die Knoten sind in die Knoten mit Freiheitgraden
und die Dirichlet-Knoten
zu trennen. Die Potentialwerte an den Knoten
sollen
mit
bezeichnet werden. Es sind
je
große Elementsmatrizen, bei der
Wahl von linearen Formfunktionen, in die Gesamtmatrix mit der Größe
zu assemblieren.
Um die Abbildung von den lokalen Elementsknoten, im dargestellten Fall 1,2 und 3, auf die globalen
Knoten
zu verdeutlichen, sollen die Elemente
,
und
repräsentativ für alle
Elemente herangezogen werden (siehe auch Abbildung 3.11).
Die Transformation soll die Eigenschaft haben, alle lokalen Elementsindizes
und
auf die globalen
Matrixindizes
und
abzubilden und außerdem alle Einträge
mit den
Indizes
oder
zu verwerfen.
Die Spaltenindizes größer
bilden Einträge in die rechte Seite des Gleichungssystems
, wobei die Zeilenindizes
größer
unberücksichtigt bleiben.
Hier ist der Vorgang für die rechte Seite des Gleichungssystems mit
getrennt vom Assemblieren von angegeben, es ist jedoch vorteilhaft, nur einmal die
Elementsliste abzuarbeiten und beide Vorgänge in einer Routine zusammenzufassen.
Die von null verschiedenen Einträge im assemblierten Gleichungssystem in Abbildung
3.12 sind durch Symbole gekennzeichnet.
Alle nicht markierten Einträge in
der Matrix und der rechten Seite sind null.
Die Einträge der ausgewählten Elementsmatrizen ,
und
sind durch spezielle
Symbole gekennzeichnet. So können die verschiedenen Elementsanteile in der Gesamtmatrix
identifiziert werden.
Abbildung 3.12: Assemblierungsbeispiel
Die Gleichungszeile entspricht dem Gitterknoten
in Abbildung 3.11. Dieser hat über Dreieckskanten
direkte
Verbindungen
zu anderen Gitterknoten, wobei 3 Knoten (
,
und
) einen Freiheitsgrad besitzen
und zwei Knoten (
und
)
Dirichlet-Knoten sind. Die Zeile
hat demnach mit dem Mittenknoten
Einträge, und
die rechte Seite in Zeile
besteht aus dem Eintrag