L'operazione di assemblaggio della matrice di rigidezza globale è resa picomplessa dalla memorizzazione compatta di . L'elemento globale
va, infatti, sempre cercato nel vettore SYSMAT a partire dalla posizione
IA
attraverso lo scorrimento delle componenti di JA. Per
facilitare tale operazione, si può definire una matrice tridimensionale di
puntatori denominata TRIJA (Figura 3).
La matrice tridimensionale TRIJA è un insieme di matrici
generate per ciascun elemento triangolare. L'elemento TRIJA
individua l'indice
della componente del vettore SYSMAT relativo
alla matrice globale
a cui va aggiunto il contributo locale
, cioè il termine in posizione
della matrice locale
generata sull'elemento
.
Determiniamo, ad esempio, la componente della matrice TRIJA relativa all'elemento 2 della patch riportata in Figura 2. Data la successione dei nodi 4,3,2, il contributo locale alla matrice di rigidezza possiede la seguente struttura:
4 | 3 | 2 | |
4 |
![]() |
![]() |
![]() |
3 |
![]() |
![]() |
![]() |
2 |
![]() |
![]() |
![]() |
La corrispondente matrice TRIJA avrà coefficienti non nulli
solo nei termini per cui, detti
e
gli indici globali dei nodi,
vale
. Ad esempio, l'elemento
corrisponde ad
, cioè all'elemento diagonale della matrice globale
. La
posizione
in SYSMAT di tale elemento è individuata da
IA
, vale a dire 9 nel caso in esame. Agli elementi
,
e
corrispondono indici
e pertanto gli elementi ad essi collegati in TRIJA sono nulli. L'elemento
contribuisce, invece, al termine globale
, la cui
posizione
in SYSMAT è determinata partendo da IA(3) e
scorrendo JA fintantoché si trova l'indice 4. Nel caso in esame,
quindi, l'elemento corrispondente in TRIJA è 8. Proseguendo in questo
modo per gli altri contributi locali, si trova TRIJA
:
9 | 0 | 0 |
8 | 7 | 0 |
6 | 5 | 4 |
La procedura appena descritta può essere implementata mediante il
seguente algoritmo:
001 Per
002 trasferimento nodi dell'elemento in I2(3)
003 Per
004 I2
005 Per
006 I2
007 TRIJA
008 Se
009 IA
010 Se JA
011 TRIJA
012 Altrimenti
013
014 vai all'istruzione 010
015 Fine Se
016 Fine Se
017 Fine Per
018 Fine Per
019 Fine Per
Determinata la matrice dei puntatori TRIJA, l'operazione di
assemblaggio dei contributi locali sulla matrice globale diventa pressoché
immediata.