next up previous
Next: 4.3.1.1 Generierung der Steifigkeitsmatrix. Up: 4.3 Gebietszerlegungen und numerische Previous: 4.3 Gebietszerlegungen und numerische

   
4.3.1 Nichtüberlappende Elemente

Sei das Rechengebiet $\Omega$ in z.B. 4 Teilgebiete zerlegt und mittels lineareren Dreieckselementen diskretisiert. In Bild 4.5 wird dies veranschaulicht.
  
Abbildung 4.5: Nichtüberlappende Elemente.
\begin{figure}
\unitlength0.075\textwidth
\newsavebox{\subdomain}
\savebox{...
...w$\space ''I''}}
%
\end{picture} \\ [2ex]
\end{center}
\protect\end{figure}


Wir unterscheiden 3 Arten von Knoten mittel der Indizes :

''I''
Knoten im Teilgebietsinneren [ $N_I := \sum_{i=1}^{P} N_{I,i}$],
''E''
Knoten auf dem Inneren von Teilgebietskanten (edges, interfaces) [ $N_E := \sum_{j=1}^{n_e} N_{E,j}$],
''V''
Crosspoints (vertices, interfaces), dh. Knoten, welche zu Beginn oder Ende einer Teilgebietskanten gehören [$N_V$].
Die beiden letzteren werden oft als Koppelknoten mit dem Index ''C'' [ $N_C=N_V+N_E$] zusammengefaßt. Die Gesamtzahl der Knoten ergibt sich zu $N\:=\,N_V+N_E+N_I = \sum_{i=1}^P N_i$ .

Zur Vereinfachung der Darstellung werden zuerst die Crosspoints, dann die Kantenknoten und danach die inneren Knoten numeriert. Innerhalb der Kantenknoten sind besitzen die Knoten einer Kante eine fortlaufende Numerierung, desgleichen die inneren Knoten eines Teilgebietes. Somit besitzen alle Vektoren und Matrizen eine Blockstruktur der Art

\begin{displaymath}\underline{v}^T \;=\; ( \underline{v}_V,\underline{v}_{E,1},\...
...
\underline{v}_{I,1},\ldots,\underline{v}_{I,P} )^T \enspace. \end{displaymath}

Entsprechend der Zuordnung der Knoten zu den $P$ Teilgebieten $\overline{\Omega} \makebox[0pt]{}_i$ $\,(i=1,2,\ldots,P)\,$werden die Einträge der Matrizen und Vektoren auf die entsprechenden Prozesse  $\ensuremath{\mathbb{P} } _i$ verteilt. Koinzidenzmatrizen $A_i$ ( $\scriptstyle i=\overline{1,P} \makebox[0pt]{}$) repräsentieren symbolisch diese Knotenzuordnung.
Die $N \times N_i$ Matrix $A_i$ ist eine Boolesche Matrix welche einen globalen Vektor  $\underline{v}$ auf den lokalen Vektor  $\underline{v}_i$ abbildet.
Es gilt :


- Einträge für innere Knoten erscheinen genau einmal pro Zeile und Spalte in den $A_i$.
- Einträge der Koppelknoten treten so oft in den $A_i$ auf, wie es Teilgebiete gibt, zu denen sie gehören.


Nunmehr kann man 2 Vektortypen definieren, den akkumulierten (Typ I) und den verteilten (Typ-II) Vektor :

Typ I : $\underline{{\ensuremath{\color{red} \mathfrak{u} } }}\;\mbox{und}\;\underline{{\ensuremath{\color{red} \mathfrak{w} } }}$ werden in Prozessor  $\ensuremath{\mathbb{P} } _i\;$ ( $\;\hat{=}\;\overline{\Omega} \makebox[0pt]{}_i\;$) als $ \;\underline{{\ensuremath{\color{red} \mathfrak{u} } }}_i=A_i\underline{{\ensuremath{\color{red} \mathfrak{u} } }}\; $ und $ \;\underline{{\ensuremath{\color{red} \mathfrak{w} } }}_i=A_i\underline{{\ensuremath{\color{red} \mathfrak{w} } }}\; $ gespeichert, dh. jeder Prozessor  $\ensuremath{\mathbb{P} } _i$ besitzt den vollen Wert seiner Knoten.
Typ II : $\underline{{\ensuremath{\color{green} {\sf r}} }},\underline{{\ensuremath{\color{green} {\sf f}} }}\;$ wird in $\ensuremath{\mathbb{P} } _i$ als $\;\underline{{\ensuremath{\color{green} {\sf r}} }}_i,\underline{{\ensuremath{\color{green} {\sf f}} }}_i\;$ gespeichert, so daß $\,\underline{{\ensuremath{\color{green} {\sf r}} }} = \sum\limits_{i=1}^p\, A_i^T\underline{{\ensuremath{\color{green} {\sf r}} }}_i\,$ gilt, dh. die Knoten auf den Interfaces ( $\underline{{\ensuremath{\color{green} {\sf r}} }}_{C,i}$) besitzen nur einen Teil des wahren Wertes.
Die Matrix $K$ wird im verteilten Sinne, analog zum Typ-II Vektor, abgespeichert und daher als Typ-II Matrix klassifiziert.

 \begin{displaymath}
{\ensuremath{\color{green} {\sf K}} } = \sum\limits_{i=1}^p\, A_i^T {\ensuremath{\color{green} {\sf K}} }_iA_i \enspace ,
\end{displaymath} (4.1)

wobei  ${\ensuremath{\color{green} {\sf K}} }_i$ die zum Teilgebiet  $\overline{\Omega} \makebox[0pt]{}_i$ gehörige Steifigkeitsmatrix darstellt. Denkt man sich  $\overline{\Omega} \makebox[0pt]{}_i$ als finites Element, so stellt die verteilte Matrixspeicherung genau die Darstellung einer Steifigkeitsmatrix vor der FE-Akkumulation dar.
Die spezielle globale Knotennumerierung induziert folgende Blockdarstellung der Gleichung  ${\ensuremath{\color{green} {\sf K}} }\cdot\underline{{\ensuremath{\color{red} \mathfrak{u} } }} = \underline{{\ensuremath{\color{green} {\sf f}} }}$ :  \begin{equation}
\begin{pmatrix}{\ensuremath{\color{green} {\sf K}} }_{V} & {\e...
...{\ensuremath{\color{green} {\sf f}} }}_I \end{pmatrix} \enspace .
\end{equation}
Dabei ist ${\ensuremath{\color{green} {\sf K}} }_I$ eine Blockdiagonalmatrix mit den Einträgen   ${\ensuremath{\color{green} {\sf K}} }_{I,i}$, desgleichen sind ${\ensuremath{\color{green} {\sf K}} }_{IC}$, ${\ensuremath{\color{green} {\sf K}} }_{CI}$, ${\ensuremath{\color{green} {\sf K}} }_{IV}$, ${\ensuremath{\color{green} {\sf K}} }_{VI}$ Blockmatrizen.

Falls eine globale Akkumulation der Matrix  ${\ensuremath{\color{green} {\sf K}} }$ ausgeführt wird, bezeichnen wir das Ergebnis mit der Typ-I Matrix  ${\ensuremath{\color{red} \mathfrak{M} } }$ und schreiben

 \begin{displaymath}
{\ensuremath{\color{red} \mathfrak{M} } }_i \;:=\; A_i {\ensuremath{\color{red} \mathfrak{M} } } A_i^T \enspace .
\end{displaymath} (4.2)

Obwohl  ${\ensuremath{\color{green} {\sf K}} }\equiv{\ensuremath{\color{red} \mathfrak{M} } }$ gilt, müssen wir beide wegen der unterschiedlichen Darstellung (und lokalen Abspeicherung) unterscheiden !

Die Diagonalmatrix

 \begin{displaymath}
\boxed{ R \;=\; \sum\limits_{i=1}^p\, A_i^T A_i }\end{displaymath} (4.3)

enthält für jeden Knoten die Anzahl der Teilgebiete (Wertigkeit), zu denen er gehört (z.B. in Bild 4.5 $R^{[k]}:=4$, $R^{[n]}=R^{[m]}=R^{[p]}=2$, $R^{[q]}=1$).

Vereinbarung : Im restlichen Abschnitt werden die hoch- und tiefgestellten Indizes wie folgt verwendet : ${\ensuremath{\color{green} {\sf v}} }_{C,i}^{[n]}$ bezeichnet die $n$-te Komponente (lokale oder globale Numerierung) eines Vektors  $\underline{{\ensuremath{\color{green} {\sf r}} }}$ abgespeichert im Prozeß  $\ensuremath{\mathbb{P} } _i$. Der Index bezeichnet einen zum Interface gehörigen Teilvektor. Eine analoge Notation wird für die Matrizen verwandt.

 
next up previous
Next: 4.3.1.1 Generierung der Steifigkeitsmatrix. Up: 4.3 Gebietszerlegungen und numerische Previous: 4.3 Gebietszerlegungen und numerische
Gundolf Haase
1998-12-22