32
 014calmt.doc 1 ANALISI MATRICIALE DELLE STRUTTURE Procedura di analisi matriciale di un sistema discreto  Nel seguito viene sviluppata la procedura per l'analisi matriciale per un sistema elastico costituito da elementi elastici concentrati a comportamento lineare; ciascuno degli elementi è quindi caratterizzabile dalla classica relazione forza = rigidezza * allungamento. Per la formulazione del problema viene utilizzato l'approccio agli spostamenti: le ipotesi che si assumono garantiscono cioè la congruenza della soluzione all'interno della struttura e la sua compatibilità con i vincoli, mentre sarà necessario imporre adeguatamente le condizioni di equilibrio tra forze interne ed esterne agenti sul sistema. Il metodo si basa sull'evidente esistenza di un numero finito di elementi elastici, connessi tra loro in un numero finito di punti e caratterizzati da le leggi costitutive lineari. Il problema è quindi intrinsecamente discreto e l'algoritmo di soluzione non richiede soltanto la conoscenza delle matrici che descrivono tali leggi. Il metodo può essere riassunto nelle seguenti fasi: Individuazione degli elementi caratteristici del sistema discreto (spostamenti dei punti di collegamento dei diversi elementi) Scrittura delle leggi costitutive per ogni singolo elemento (relazioni di equilibrio tra forze interne, conseguenti alla deformazione dell'elemento, e forze esterne) Scrittura delle equazioni di equilibrio per ogni punto, ottenuto imponendo l’eguaglianza tra carichi esterni applicati e forze interne elastiche, dovute alla deformazione delle porzioni di struttura ad esso collegate. Le condizioni di equilibrio costituiscono un sistema di equazioni algebriche lineari Imposizione delle condizioni al contorno Soluzione del sistema Recupero di sforzi o azioni interne in ogni elemento Per meglio comprendere gli elementi della formulazione ricorriamo ad un esempio. Senza ridurre la generalità degli sviluppi successivi, consideriamo il sistema a rigidezze concentrate rappresentato in figura Il sistema è composto da cinque molle, che con notazione più generale chiameremo elementi, collegati tra loro in punti, che bettezziamo con il termine di nodi, ai quali possono essere applicate le forze esterne; lo spostamento di questi punti dovrà soddisfare le condizioni al controno del problema, spostamento nullo per il nodo 1. Il problema è definito in un riferimento mo nodimensionale, per cui forze e sp ostamenti saranno  positivi se concordi con l'asse. Definizione delle incognite Avendo optato per un approccio agli spostamenti, assumeremo come incognite del problema l'insieme degli spostamenti nodali organizzati, per compattezza della scrittura, in un vettore. Nella figura nodi ed elementi sono numerati in maniera continua a partire da 1; tale scelta è però dettata da sole considerazioni di ordine  pratico: l'identificat ivo di un nodo e di un elemento coincide con la sua posizione nelrispettivo elenco; tale scelta può essererimossa, come si vedrà in seguito. L'insieme delle incognite del problema è dato dall'unione dei gradi di libertà di ciascun nodo del modello e  può essere organizzato in forma di v ettore come:

012calcolomatriciale

  • Upload
    salmi72

  • View
    30

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 1/32

 

014calmt.doc

1

ANALISI MATRICIALE DELLE STRUTTURE

Procedura di analisi matriciale di un sistema discreto

  Nel seguito viene sviluppata la procedura per l'analisi matriciale per un sistema elastico costituito daelementi elastici concentrati a comportamento lineare; ciascuno degli elementi è quindi caratterizzabile dallaclassica relazione

forza = rigidezza * allungamento.

Per la formulazione del problema viene utilizzato l'approccio agli spostamenti: le ipotesi che si assumonogarantiscono cioè la congruenza della soluzione all'interno della struttura e la sua compatibilità con i vincoli,mentre sarà necessario imporre adeguatamente le condizioni di equilibrio tra forze interne ed esterne agentisul sistema. Il metodo si basa sull'evidente esistenza di un numero finito di elementi elastici, connessi traloro in un numero finito di punti e caratterizzati da le leggi costitutive lineari. Il problema è quindiintrinsecamente discreto e l'algoritmo di soluzione non richiede soltanto la conoscenza delle matrici chedescrivono tali leggi.Il metodo può essere riassunto nelle seguenti fasi:• Individuazione degli elementi caratteristici del sistema discreto (spostamenti dei punti di collegamento

dei diversi elementi)• Scrittura delle leggi costitutive per ogni singolo elemento (relazioni di equilibrio tra forze interne,

conseguenti alla deformazione dell'elemento, e forze esterne)• Scrittura delle equazioni di equilibrio per ogni punto, ottenuto imponendo l’eguaglianza tra carichi

esterni applicati e forze interne elastiche, dovute alla deformazione delle porzioni di struttura ad essocollegate. Le condizioni di equilibrio costituiscono un sistema di equazioni algebriche lineari

• Imposizione delle condizioni al contorno• Soluzione del sistema• Recupero di sforzi o azioni interne in ogni elemento

Per meglio comprendere gli elementi della formulazione ricorriamo ad un esempio. Senza ridurre lageneralità degli sviluppi successivi, consideriamo il sistema a rigidezze concentrate rappresentato in figura

Il sistema è composto da cinque molle, che con notazione più generale chiameremo elementi, collegati traloro in punti, che bettezziamo con il termine di nodi, ai quali possono essere applicate le forze esterne; lospostamento di questi punti dovrà soddisfare le condizioni al controno del problema, spostamento nullo per il nodo 1. Il problema è definito in un riferimento monodimensionale, per cui forze e spostamenti saranno

 positivi se concordi con l'asse.

Definizione delle incognite

Avendo optato per un approccio agli spostamenti, assumeremo come incognite del problema l'insieme deglispostamenti nodali organizzati, per compattezza della scrittura, in un vettore. Nella figura nodi ed elementisono numerati in maniera continua a partire da 1; tale scelta è però dettata da sole considerazioni di ordine

 pratico: l'identificativo di un nodo e di un elemento coincide con la sua posizione nelrispettivo elenco; talescelta può essererimossa, come si vedrà in seguito.

L'insieme delle incognite del problema è dato dall'unione dei gradi di libertà di ciascun nodo del modello e può essere organizzato in forma di vettore come:

Page 2: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 2/32

 

014calmt.doc

2

{ } 1 2 3

 N  A a a a a =  

dove la sequenza di unione è data, per semplicità, direttamente dall'ordine di numerazione assunto.Coerentemente avremo il vettore dei carichi nodali, costituito dall'unione, con lo stesso ordine, dellecomponenti di forza associate a ciascun nodo:

{ } 1 2 3

 N Q q q q q =  

 Nel nostro esempio N è pari a 5 e il vettore di spostamenti diventa:

{ } 1 2 3 4 5 = T 

 A a a a a a  

al quale corrisponde un'analoga struttura del vettore dei carichi esterni globale {Q}.

Legame costitutivo

Per un generico elemento di rigidezza concentrata a comportamento è nota la legge costitutiva:

= f k ∆  ove  f è la reazione interna della molla, k  la sua rigidezza e ∆ il suo allungamento. Introduciamo in questarelazione gli spostamenti nodali, definendo cioè l'allungamento di un elemento come differenza deglispostamenti dei nodi ai quali è collegato. Se indichiamo con  I a e  II a gli spostamenti del primo e secondonodo dell'elemento, avremo:

 I II  a a∆ = −  Le forze, uguali ed opposte, che agiscono in corrispondenza dei nodi sono quindi:

( ) II II I   f k a a= −  

( ) I II I   f k a a= − −  Queste due espressioni possono essere sintetizzate in forma matriciale

1 11 1 I I 

 II II  

 f ak  f a− = −

 

o

{ } [ ]{ }e e e f k a=  Poiché i termini della matrice danno origine a forze se moltiplicati per uno spostamento, siamo in presenzadi una matrice di rigideza. Essa è quadrata e di dimensione pari alla somma dei gradi di libertà di ogni nodoconnesso. Le matrici di rigidezza dei diversi elementi hanno quindi tutte la stessa struttura,indipendentemente dalle caratteristiche di rigidezza effettive di un elemento, che verranno specificate divolta in volta dal coefficiente di rigidezza: la legge costitutiva rappresenta una caratteristica intrinsecadell'elemento che esibisce le stesse modalità di comportamento indipendente dal contesto nel quale vieneinserito.

Adottando la convenzione, del tutto arbitraria, di indicare come primo e secondo nodo di un elemento i nodiche in figura 1 compaiono a sinistra e a destra rispettivamente, per ciascun elemento possiamo scrivere unarelazione specifica:

1 11

2 2

1 1

1 1

 f ak 

 f a

− = −

  2 22

3 3

1 1

1 1

 f ak 

 f a

− = −

  2 23

4 4

1 1

1 1

− = −

 f ak 

 f a 

4 44

3 3

1 1

1 1

− = −

ak 

 f a  3 3

55 5

1 1

1 1

− = −

 f ak 

 f a 

Abbiamo associato quindi ad ogni elemento l'elenco dei nodi ai quali è collegato. Così facendo abbiamomesso in evidenza la corrispondenza tra i gradi di libertà dell'elemento, definiti in un elenco locale, e quelli

del sistema nella sua globalità. Vedremo che questo accorgimento agevolerà la scrittura delle equazioni diequilibrio.

Page 3: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 3/32

 

014calmt.doc

3

Impostazione della soluzione

Siamo ora in grado di impostare la soluzione utilizzando uno dei principi noti dalla Scienza delleCostruzioni. Ipotizziamo di essere in grado di trasformare la relazione {q e}=[k e]{ae}, espressa in terminilocali dell'elemento, nella corrispondente forma {Qe}=[ K e]{ A} relativa ai gradi di libertà del problemacompleto, trasformazione che verrà analizzata in dettaglio nel paragrafo successivo.

Vediamo come sia possibile arrivare all'equazione risolutiva seguendo strade alternative.EquilibrioEssendo il sistema discreto e avendo utilizzato l'approccio agli spostamenti, che garantisce la congruenza ainodi mentre diamo per scontata quella all'interno degli elementi, non ci resta che imporre le condizioni diequilibrio ai nodi del modello tra carichi applicati e forze elastiche totali; per il nodo i-esimo occorrescrivere l'equazione i ir=q e queste equazioni che possono essere poste in forma matriciale:{Q}={R}Essendo le forze elastiche totali {Q} date dalla somma di quelle relative a ciascun elemento:

{ }1,

{ }e

i E 

Q Q=

= ∑  

avremo quindi

{ } ( )1, 1, 1,

{ } [ ]{ } [ ] { } [ ]{ }e e e

i E i E i E  

Q Q K A K A K A= = =

= = = =

∑ ∑ ∑  

[ ]{ } { } K A R=  

Principio dei Lavori VirtualiIl principio dei lavori virtuali stabilisce che la configurazione di equilibrio è caratterizzata dalla equivalenzadel lavoro virtuale di deformazione con il lavoro virtuale delle forze esterne. Se le {Q} sono lo forzeelastiche conseguenti alla configurazione di spostamenti {A}, a sua volta determinata dall'azione dei carichiesterni {R}, il PLV si scrive come

{ } { } { } { } 0T T 

 L A Q A Rδ = δ − δ =  

avendo scelto come sistema di spostamenti virtuale la stessa configurazione incognita; per l'arbitrarietà dellavoro virtuale l'equazione risolutiva si presenta in termini di equilibrio tra carichi applicati {R} e forzeelastiche {Q}:{Q}={R}

Questo risultato è identico a quello del caso precedente e l'introduzione dell'espressione dei carichi interni porta allo stesso sistema risolutivo.

Minimo dell'energia Potenziale TotaleTra tutte le configurazioni la sola equilibrata e congruente è quella che minimizza l'energia potenziale totale.Essa può essere espressa come:

{ } { } { } { }12

T T  A Q A RΠ = − +  

Riuscendo ad esprimere le forze elastiche {Q} con una funzione lineare della configurazione {A} del tipo{ } { }[ ]Q K A= , si ottiene

{ } { } { } { }12 [ ]

T T  A K A A RΠ = − +  

e la condizione di stazionarietà, minimizzazione rispetto ai parametri di configurazione {A}, porta a:

{ } { } { } { }[ ] 0 [ ] K Q R K Q Ra

∂Π= − + = =

∂ 

In tutti i casi il problema viene quindi ricondotto allo stesso sistema di equazioni algebriche lineari,facilmente risolvibile con tecniche numeriche.

Matrici di estrazioneI legami costitutivi sono però espressi in funzione di un sottoinsieme dei gradi di libertà del problema, { a

e}.Per poter risolvere il problema, indipendentemente dal principio sfruttato, è necessario scrivere il legame tra

Page 4: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 4/32

 

014calmt.doc

4

questi e il vettore degli spostamenti generale, in modo da esprimere le relazioni costitutive elastiche nellesole incognite indipendenti, raccolte nel vettore {A}, e delle corrispondenti forze {Q}; per ogni elementi ciserve quindi una relazione del tipo:

e e{Q } =[ K ]{A}ottenuta a partire da quella disponibile

e e e{ q } =[ k ]{ a }E' possibile ottenere questo risultato definendo il vettore di gradi di libertà locali come il risultatodell'applicazione al vettore globale di spostamenti di un operatore di estrazione applicato secondo le regoledel calcolo matriciale; otteniamo quindi una trasformazione:

{ } { }e ea = H A  

L'operatore [He] ha il compito di estrarre dal vettore globale i gradi di libertà dell'elemento e-esimo. Esso ècostituito da una matrice rettangolare, di dimensioni ngdl elemento × ngdl generali, quasi interamentecomposta da zeri: vi è infatti un solo coefficiente unitario per ciascuna riga, posto in corrispondenza dellacolonna di indice pari a quella dell'incognita che deve essere estratta e copiata nella stessa riga del vettoreelemento. Nel nostro esempio, facendo riferimento ai legami costitutivi e ai vettori di spostamento locale, le

matrici di estrazione dei diversi elementi risultano essere:

Elem. N. 1 2 3 4 5

Vettorenodale

1

2

a

a  2

3

a

a  2

4

a

a  4

3

a

a  3

5

a

Matrice diestrazione

1 0 0 0 0

0 1 0 0 0

 

0 1 0 0 0

0 0 1 0 0

 

0 1 0 0 0

0 0 0 1 0

 

0 0 0 1 0

0 0 1 0 0

 

0 0 1 0 0

0 0 0 0 1

 Poichè l'applicazione dell'operatore di estrazione si configura come una trasformazione, i carichi e il legamecostitutivo, e quindi la matrice di rigidezza, devono essere coerentemente modificati per definire i legame

completamente e coerentemente trasformato (vedere il capitolo sulle trasformazioni):

{ } { }Te e eq = H Q  

Te e e eK = H k H  

Queste operazioni portano ad una matrice, [K e], di ordine pari a quella globale nella quale i soli termini nonnulli sono quelli della matrice dell'elemento, [k e], trasferiti nelle posizioni corrispondenti ai gradi di libertàdell'elemento nella numerazione globale.

 Nell'esempio si avrebbe:

Elemento N.1 Elemento N.2 Elemento N.3 Elemento N.4 Elemento N.5

1

1 1 0 0 0

1 1 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

− −

 

2

0 0 0 0 0

0 1 1 0 0

0 1 1 0 0

0 0 0 0 0

0 0 0 0 0

− −

k  

3

0 0 0 0 0

0 1 0 1 0

0 0 0 0 0

0 1 0 1 0

0 0 0 0 0

k  4

0 0 0 0 0

0 0 0 0 0

0 0 1 1 0

0 0 1 1 0

0 0 0 0 0

k  

5

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 1 1

0 0 0 1 1

− −

Si può notare come i coefficienti di ogni matrice siano in posizioni corrispondenti a quelle che i relativigradi di libertà hanno nel vettore completo.

Scrittura del sistema risolutivo

I legami costitutivi sono ora formalmente espressi da una relazione tra gradi di libertà e forze elastiche tuttiespressi nel riferimento generale e nello spazio completo delle soluzione.

Page 5: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 5/32

 

014calmt.doc

5

Viene richiesto il calcolo delle forze interne agenti ai nodi che altro non è so non la somma dei vettoricalcolati per ogni elemento; si ottiene quindi:

{ } { } { }( ) { } [ ]{ }1 1 1

 NE NE NE  e e e

e e e

Q Q K A K A K A= = =

= = = =

∑ ∑ ∑  

dall'uguaglianza con il vettore delle forze esterne che agiscono ai nodi dello schema, {R}, si ottiene il

sistema risolutivo:{ } [ ]{ } R K A=  

Abbiamo introdotto quindi la definizione della matrice di rigidezza globale come somma delle matricielemento esplose:

[ ]1 1= =

= = ∑ ∑ NE NE   T 

e e e e

e e

 K K H k H   

 Nel nostro esempio la somma delle tre matrici porta al sistema:

1 1 1 1

1 1 2 3 2 3 2 2

2 2 4 5 4 5 3 3

3 4 3 4 4 4

5 5 5 5

− − + + − − =− + + − − − − + −

k k a r  

k k k k k k a r  

k k k k k k a r  k k k k a r  

k k a r  

 

Abbiamo quindi ottenuto un sistema algebrico lineare avente come matrice dei coefficienti [ K ], vettore ditermini noti {r } e per incognite il vettore degli spostamenti nodali {a}; esso ci permette di ottenere unasoluzione che, configurazione di spostamenti congruente internamente e con i vincoli esterni, è l'unica asoddisfare anche l'equilibrio.L'assunzione dell'approccio agli spostamenti come base della formulazione, unitamente al fatto che icollegamenti tra i diversi elementi sono di tipo discreto, risolve implicitamente il problema dellacongruenza: essendo le componenti di spostamento comuni a tutti gli elementi concorrenti ad un generico

nodo avremo automaticamente continuità della funzione spostamento in corrispondenza di detto nodo.Per quanto riguarda l'equilibrio in corrispondenza dei nodi abbiamo che a questi sono applicate forzeesterne, cioè derivanti dall'applicazione di carichi, e forze interne, derivanti cioè dal legame elasticocaratteristico degli elementi che vi concorrono. Perché l'equilibrio sia rispettato ogni componente di forzaesterna di ciascun nodo dovrà essere equilibrata dalla somma delle forze interne prodotte dagli elementi inseguito all'applicazione di spostamenti nodali, ed è questo il significato dell'equazione risolutiva.Arrivati a questo punto dello sviluppo si capisce come la costruzione del sistema risolutivo mediante la

  procedura di assemblaggio della matrice di coefficienti non costituisca semplicemente una operazionenumerica ma abbia il significato fisico di scrittura delle equazioni algebriche di equilibrio del sistemadiscreto.

Condizioni al contorno

Sino ad ora non è stato detto nulla circa le condizioni al controno che, nel caso specifico, prevedono che lospostamento del punto 1 siano nullo:

1 0a =  

La maniera più semplice, anche se non la più completa, è quella di rimuovere i gradi di libertà vincolati dalsistema. Così facendo si ottiene il sistema:

1 2 3 2 3 2 2

2 2 4 5 4 5 3 3

3 4 3 4 4 4

5 5 5 5

+ + − − − + + − − = − − +

k k k k k a r  

k k k k k k a r  

k k k k a r  

k k a r  

 

Page 6: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 6/32

 

014calmt.doc

6

E' però opportuno individuare procedure generali, pratiche e flessibili per l'imposizione dei vincoli che, per esempio, tengano conto della possibilità di analizzare condizioni di vincolo differenti, vincoli fissi ecedimenti imposti. Possibili procedure sono descritte in un successivo paragrafo.

Soluzione del sistema

La soluzione del sistema può essere condotta con le note tecniche del calcolo numerico: si possonoutilizzare metodi diretti o iterativi. Un metodo diretto porta al risultato in un numero finito di operazioni. Unmetodo iterativo si interrompe quando un criterio di errore viene soddisfatto, se il metodo è efficiente sononecessarie meno operazioni di quante ne sono necessarie con un metodo diretto, ma il loro numero non è

 prevedibile.

La tecnica più semplice per la soluzione numerica di un sistema lineare è costituita dal Metodo diSostituzione di Gauss: una prima fase provvede alla trasformazione del sistema in forma triangolaresuperiore, mediante una eliminazione progressiva delle incognite; nella seconda fase, grazie allanuova struttura della matrice, il sistema può essere risolto per sostituzione all'indietro a partiredall'ultima equazione, che contiene una sola incognita.

L'algoritmo del primo passo, stabilita una incognita e individuato il corrispondente terminediagonale, determina il progressivo azzeramento dei termini sottodiagonali della matrice, realizzataattraverso una opportuna combinazione delle righe, di fatto eliminando dalle equazioni successivel'incognita presa in considerazione. La stessa combinazione viene applicata al termine noto, per semplificare la programmazione a volte si orla la matrice con i vettori di termini noti e si combinanole righe della matrice rettangolare così ottenuta in un'unica fase. Esaurito l'azzeramento di unacolonna sottodiagonale il procedimento viene reiterato alla sottomatrice, il cui ordine è diminuito diuno, orlata dall'equazione dell'incognita eliminata e dalla colonna di zeri. Per un sistema di ordine ndopo n-1 x n-1 combinazioni, la matrice è ridotta in forma triangolare. Per sostituzioni all'indietro sideterminano le soluzioni.

Per il sistema [K]{a}={Q}, il passo in avanti può essere sintetizzato nelli seguenti espressioni:

(k) (k 1) (k 1) (k 1) (k 1)ij ij ik kj kk  K K K K / K  − − − −= −  

(k) (k 1) (k 1) (k 1) (k 1)i i ik k kk  Q Q K Q / K  − − − −= −  

dove:

k è l'indice dell'incognita in eliminazione (k=1,n-1)

i è l'indice dell'equazione dalla quale viene eliminata l'incognita k-esima (i=k+1,n)

 j è l'indice dell'incognita (colonna) dell'equazione i-esima (j=1,n o j=k,n)

(k) individua il coefficiente della matrice dopo l'eliminazione della k-esima incognita, se nulloindica i coefficienti originali

Il passo indietro può essere invece sintetizzato nelle seguenti espressioni:

n n nna Q / K  =  

n

i i j ij ii j i 1

a Q a K / K  = +

= −

∑ , i=n-1,1

 Procedura

Ciclo su n-1 righe (indice i)

 Normalizzazione della riga i-esima

Ciclo su n-i righe (indice k=i+1,n)

Page 7: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 7/32

 

014calmt.doc

7

Combinazione della riga i-esima con la riga k-esima della matrice  

Combinazione della riga i-esima con la riga k-esima del termine noto

Esempio di programmazione

subroutine gauss _avanti(b,nmax,n,tn,ntn)dimension b(nmax,1),tn(nmax,1)do 10 i=1,n-1f=b(i,i)do 20 ic=i,n

20 b(i,ic)=b(i,ic)/fdo 30 it=1,ntn

30 tn(i,it)=tn(i,it)/fdo 40 ir=i+1,n

f=b(ir,i)do 50 ic=i,n

b(ir,ic)=b(ir,ic)-b(i,ic)*f50 continue

do 60 it=1,ntn

tn(ir,it)=tn(ir,it)-tn(i,it)*f60 continue40 continue10 continue

do 70 it=1,ntn70 tn(n,it)=tn(n,it)/b(n,n)

b(n,n)=1returnend

subroutine gauss _indietro(b,nmax,n,tn,ntn)dimension b(nmax,1),tn(nmax,1)do 10 i=n-1,1,-1do 20 it=1,ntn

do 30 ic=i+1,ntn(i,it)=tn(i,it)-b(i,ic)*tn(ic,it)

30 continue20 continue10 continue

returnend 

 Nella sua forma classica questo metodo non permette di elaborare vettori di termini noti in tempidiversi; quando si abbia a che fare con matrici di ordine molto elevato questo può essere un difettonon trascurabile. In un paragrafo successivo vengono discusse le tecniche di fattorizzazione (o

decomposizione) che permettono di risolvere questo problema, così come la possibilità di sfruttarela simmetria della matrice.

Significato fisico del metodo di Gauss

E' possibile dare una interpretazione fisica della procedura di eliminazione Gaussiana.Consideriamo un sistema costituito da due molle in serie …

1 1 1 1

1 1 2 2 2 2

2 2 3 3

0

0

k k a r  

k k k k a r  

k k a r  

− − + − = −

 

Eliminando l'incognita 2a dalla prima e terza equazione applicando la procedura di eliminazionegaussiana tra la seconda e la prima riga e poi tra la seconda e la terza otteniamo:

Page 8: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 8/32

 

014calmt.doc

8

1 11 2 1 2 1 2 1 2

3 31 2 1 2 1 2 1 2

( ) /( ) ( ) /( )

( ) /( ) ( ) /( )

+ − + = − + +

a r k k k k k k k k  

a r k k k k k k k k   

La struttura di questo legame è dello stesso tipo di quella elementare di una molla e nel coefficientedi rigidezza riconosciamo la rigidezza di una molla equivalente a due molle in serie.

L'eliminazione di una incognita dalle altre equazioni, è infatti tale il significato dell'azzeramento deitermini sotto- sopra-diagonali, porta alla costituzione di un sistema ridotto equivalente a quellooriginale e descritto dai soli gradi di libertà rimasti.

Il modello equivalente alla forma ridotta è costituito dai due soli nodi 1 e 3 e dall'unico elementoche li collega, le caratteristiche del quale sono state recuperate eliminando il grado di libertàintermedio.

Formalmente la soluzione di un sistema lineare viene espressa come:

{ } [ ] { }1

 A K R−

=  

  Nelle applicazioni questa espressione non viene quasi mai utilizzata, in quanto la determinazione dellamatrice inversa è molto onerosa. Il calcolo dell'inversa viene eseguito solo se è necessario conoscere tutti isuoi termini. E anche in questo caso non si applicano le regole per il calcolo di tali coefficienti, ma si

  preferisce sfruttare la definizione di inversa, come matrice che moltiplicata per quella originale da unrisultato unitario:

[ ][ ] [ ]1

 K K I  −

=  

Allora la matrice inversa non è che la soluzione di un sistema che ha per coefficienti la matrice originale ecome termini noti la matrice identità di ordine corrispondente.

Parametri derivati

Possiamo infine supporre che un'analisi preliminare, analogamente a quanto fatto per la matrice di rigidezza,

abbia permesso la determinazione del legame tra gli spostamenti dei nodi di un elemento e dei parametri daessi derivabili, legame sintetizzabile in forma lineare:

σe =[Se] {ae}Una volta risolto il problema è quindi possibile estrarre dal vettore spostamenti generale quello relativo aciascun elemento e risalire a questi parametri:

σe =[Se][He]{A}

Problemi discreti in analogia

Con questa metodologia è possibile risolvere problemi discreti di natura completamente diversa: reteelettrica stazionaria, condutture di fluidi, propagazione del calore attraverso una parete. Elemento comune di

questi casi è l'equazione che descrive la legge costitutiva dell'elemento che assume la stessa espressionericavata per la molla con il coefficiente moltiplicativo che, di volta in volta, cambia significato.

Reti elettriche (regime stazionario)

La relazione di Ohm definisce l’elemento di resistenza come quello capace di determinare ai suoi capi unacaduta di tensione V direttamente proporzionale alla corrente che lo attraversa I e al parametro di resistenzaR: V=RI, o che determina un flusso di corrente I proporzionale attraverso la resistenza R alla differenza di

 potenziale applicata ai suoi estremi: I=1/R V

I

 

Page 9: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 9/32

 

014calmt.doc

9

Avendo una rete di resitenze la sua soluzione è determinata imponendo il soddisfacimento di una delle leggidi Ohm, l’azzeramento della somma delle correnti in corrispondenza di ciscuno dei nodi del circuito ol’azzerarsi della somma delle tensioni su di una maglia del circuito; nel primo caso per ogni nodo devonoessere accumulate le correnti che fluiscono attraverso le resistenze ad esso collegate mentre nel secondodevono essere individuati tanti percorsi chiusi quanti sono le maglie indipendenti della rete e per ognunascritta la somma delle tensioni circolanti.Esprimiamo la legge costitutiva della resistenza in funzione di parametri "esterni", della tensione presente aisuoi capi e della corrente in essi scambiata con la rete. Numeriamo i nodi 1 e 2 e corrispondetemente

  battezziamo sia le tensioni V1 e V2 che le correnti I1 e I2 le correnti entranti nell'elemento; la figuraschematizza quanto assunto.

I 1 I 2

V1 V2

 

Le due correnti I1 e I2 sono uguali in modulo ed opposte in segno: lungo una resistenza infatti si ha cadutadi tensione ma la corrente è costante; possiamo pertanto scrivere due volte la legge di Ohm:

I1 =(V1 -V2)/R 

I2 =(V2 -V1 )/R 

In forma matriciale esse diventanoII

VVR 

1

2

1 1

2

1 11 1

RST

UVW

=−

−LNM

OQPRST

UVW

 

che con ovvie definizioni delle entità matriciali può essere scritta come{I}=[k]{V}

Appare evidente l'analogia tra il legame tensione/corrente e quello spostamento/forza che caratterizzanol'elemento di asta. E in effetti l'analogia è completa se si pongono in relazione le correnti con le forze e letensioni con gli spostamenti.Avendo definito le correnti nodali per ciascun elemento come positive se entranti, l'equazione di equilibriodelle correnti al generico nodo della maglia può essere scritta semplicemente sommando il contributo diciascun elemento ad esso collegato.ed eguagliando il risultato alla corrente introdotta da eventuali generatoridi corrente presenti nei rami del circuito. Questa operazione corrisponde ad imporre l'equilibrio delle forzenodali.La presenza di un riferimento per le tensioni, cioè di una "messa a terra", viene ottenuta imponendo tensionenulla in un punto, quindi ricorrendo ad una procedura di imposizione di un vincolo fisso. Analogamente aquanto visto per le strutture, il sistema che risulta dall'assemblaggio delle matrice resistenza non sarebberisolvibile in quanto la corrente dipende da un differenziale di tensione, così come la forza dipende da unadifferenza di spostamento. Possono quindi essere utilizzate le diverse tecniche esaminate, per esempioeliminando la riga e la colonna corrispondente al nodo di riferimento.

Esempio….

 In questo caso avremo per i 4 elementi di corrente le seguenti relazioni matriciali….che assemblate portano al sistema di equazioni

L'introduzione di un generatore di tensione, per l'analogia sopra indicata, può essere attuata con tecnicheanaloghe a quelle che si possono utilizzare per imporre uno cedimento assegnato ad un grado di libertà dispostamento; partizionando il vettore delle tensioni avremo:

Reti elettriche in corrente alternata (regime stazionario)

È possibile l'estensione della formulazione vista al caso di corrente alternata semplicemente passando allanotazione complessa.

Page 10: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 10/32

 

014calmt.doc

10

L'impedenza complessa di un generico elemento assume la forma:

(Z + iZ ) =1

R 1 2

-1

+ −F H G

I K J 

L

NM

O

QPi C

ω1

 dove:ω è la pulsazioneR la resistenzaC la capacitaL l'autoinduttanzae

Z =1

Z =

1

2 ωω

CL

−1

 Con le seguenti definizioni di variabili complesseV

ZI

= V iV

Z iZI iI

R I

R I

+

= += +

1 2

 l'equazione di Ohm viene scritta in forma analoga a quella del caso di corrente stazionaria: V=Z  I e larelazione inversa I= A V può essere facilmente ricavata introducendo una nuova variabile complessa A i cuicoefficienti di parte reale ed immaginaria risultano rispettivamente definiti come: 

A = Z / (Z + Z )

A = - Z / (Z + Z )

1 1 12

22

2 2 12

22

 coefficienti che possono essere facilmente ricavati se si pone in forma matriciale l'equazione di Ohmcomplessa e la si inverte simbolicamente.

Analogamente a quanto fatto per il resistore ideale, la relazione complessa che definisce il genericoelemento di diventa

I

IA

V

V1

2

1

2

1 11 1

RST

UVW

= −−

LNM

OQPRST

UVW

 

La struttura del procedimento rimane inalterata avendo solo definito come complesse le variabili in gioco;nell'impossibilità di ricorrere a questa categoria di variabili, per esempio perché non disponibili nellinguaggio utilizzato, il sistema può comunque essere riscritto in forma reale, al prezzo di un raddoppiodella sua dimensione e della perdita di simmetria della matrice risolutiva.

Reti idrauliche

In maniera simile alla precedente possiamo sviluppare un modello matriciale per la determinazione dellacondizione di regime di un fluido in una rete idraulica nel caso di laminarita del flusso. Nello sviluppo

 presentato vengono trascurate le forze di inerzia agenti sul fluido: queste devono pertanto essere piccole,abbastanza vero nel caso di fluidi poco pesanti come i gas, o poco influenti come nel caso di reti pianeorizzontali.Il flusso laminare all'interno di una tubazione può essere descritto dalla equazione di Hagen-Poiseuille che

 permette di valutare la perdita di carico come:∆ p = 32 µ l v / d2

dove:∆ p rappresenta la caduta di pressioneµ è la vistosità dinamica del fluido

l è la lunghezza del tubod il diametro del tubov la velocità media del fluido nel tubo

Page 11: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 11/32

 

014calmt.doc

11

Anche in questo caso potrebbe essere applicata l’equazione di equilibrio delle portate ai nodi, equivalenteall’equilibrio delle correnti nella rete elettrica, porvvediamo peroo alla scrittura in forma matriciale dellerelazioni costitutive: se consideriamo il generico tratto di tubazione in figura

Qi Q j

i  j

la quantità di fluido che transita nel tubo viene calcolata come:Qi =C(Pi -P j)Q j =C(P j -Pi)

doveQi e Q j sono le quantità di fluido entranti nel tubo ai nodi i e jPi e P j sono le pressioni ai nodi i e jC è una funzione dei parametri geometrici l,d e della caratteristica viscosa del fluido µ; per sezionicircolari questa funzione assume l'espressione

π

µ

d

l

4

128  infatti

Q A vd d

l p= =

π

µ

2 2

4 32∆

 si ottiene in questo modo la seguente forma matriciale diventano

QQ C

PP

i

 j

i

 j

RST

UVW

=−

−LNM

OQPRST

UVW

1 11 1

 che con ovvie assunzioni diventa

{Q}=[k]{P}

Anche in questo caso risulta evidente l'analogia tra la relazione pressione/portata con quella strutturale tracarichi e spostamenti alle estremita di un'asta: in particolare in questo caso in analogia con le equazioni diequilibrio ai nodi abbiamo la conservazione della massa, cioee che la portata totale in corrispondenza diogni nodo sia nulla.L'imposizione di una portata di ingresso nella rete equivale alla definizione di un termine noto pari alla

  portata entrante ed agente sull'equazione del nodo interessato; la portata in uscita dalla rete vienedeterminata come reazione vincolare in quanto le pressioni corrispondenti sono nulle; ai nodi interni allarete la portata netta entrante, per la conservazione della massa, è nulla.L'imposizione di una pressione in un nodo si tratta con le solite tecniche di vincolo;Poiché la formulazione è basata sull'ipotesi di laminaritá del flusso è opportuno eseguire una verificacalcolando il numero di Reynolds per i diversi elementi.

Per flussi turbolenti la perdita di pressione può essere approssimata con la relazione:

P P gflv

gdi j− = ρ

4

2

2

 

Poiché questa equazione risulta essere non lineare in v si dovrà ricorrere ad una procedura iterativa per lasoluzione del problema.

Conduzione termica in una parete startificata

Esaminiamo il caso di conduzione termica monodimensionale stazionaria attraverso una parete realizzata

con n strati di materiale aventi ciascuno conduttanza termica ki dipendente dallo spessore e dallacaratteristica di conduttivita del materiali; sia questa parete soggetta a temperature esterne assegnate Ta e Tbmentre indichiamo con ka e kb i coefficienti di scambio termico sulle superfici esterne. Assumiamo inoltrel'assenza di generazione interna di calore.

Page 12: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 12/32

 

014calmt.doc

12

 Nelle ipotesi di flusso di calore monodimensionale la temperatura è uniforme nel piano della parete mentrevaria attraverso lo spessore. Indichiamo con Ti la temperatura tra lo strato i-esimo e lo strato (i+1)-esimo.L’equazione di conduzione del calore dovuta a Fourier ci dice che il flusso di calore è proporzionale alladerivata della temperatura attraverso il prodotto dell'area della parete e il coefficiente diconducibilitàtermica:

dt q=Ak 

dx  

dove k è il coefficiente do condicibilità termica del materiale e A è l'area normale al flusso di caloreSe la conducibilità termica è costante su di un tratto di spessore L la legge di Fourier può essere riscritta intermini di differenza di temperatura agli estremi del tratto

t t 

t Ak q=Ak = t  

 L L

∆∆  

Abbiamo quindi ancora una relazione lineare che è analoga a quelle già esaminate.Possiamo quindi definire il solito legame matriciale tra le variabili temperature e flusso termico incorrispondenza delle pareti di uno strato

1 1

2 2

1 1

1 1

t q t  Ak 

q t  L

− =

 

La procedura si applica quindi mettendo in analogia le temperature con gli spostamenti e i flussi termici conle forze. Il problema in oggetto viene quindi risolto assemblando tanti elementi quanti sono gli strati eutilizzando un numero di temperature incognite pari al numero di strati più uno. L'imposizione di unatemperatura nota corrisponde all'imposizione di uno spostamento.

Considerazioni

I diversi modelli presentati sono in completa analogia e vengono definiti mediante i seguenti parametri:

Sistemi elastici discreti Reti elettriche Reti pneumatiche Flusso termicok  1/R   ( )4( ) / 128π µd l    t  Ak 

 L 

Quindi uno stesso programma può risolvere uno qualsiasi di questi problemi, a patto di definireconvenientemente i coefficienti da utilizzare per costruire le matrici.In alcuni di questi parametri sono facilmente individualbili elementi riconducibili ad una descrizionegeometrica del problema: definendo i nodi come entità geometriche opportunamente posizionate nellospazio, la lunghezza dei tubi di una rete idraulica o lo spessore degli strati nel caso del flusso termico

 potrebbero essere infatti ricavati dalle loro coordinate. Per la soluzione di problemi semplici, non è detto chesia conveniente agire in questo modo, in quanto si complicerebbe la programmazione e l'utilizzatore sarebbecostretto a definire le coordinate di tutti i nodi del modello, i codici ad elementi finiti, complessi e sofiticati,sfruttano pesantemente la componente geometrica del problema per definire il comportamento elastico deglielementi.

Esempi

Sistemi discretiCaso a: cedimento imposto di un vincoloCaso b: uguaglianza di spostamenti

Rete elettrica stazionariaCaso a: rete con generatore di correnteCaso b: rete con generatore di tensione

Rete pneumatica

Page 13: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 13/32

 

014calmt.doc

13

Flusso di calore in parete stratificata

Estensione della procedura per l'analisi strutturale matriciale

Valutiamo ora gli elementi necessari per estendere l'approccio al caso dell'analisi strutturale matriciale. Tuttele assunzioni rimangono valide, in particolare: comportamento lineare e approccio agli spostamenti.

Per meglio comprendere gli elementi della formulazione ricorriamo ad un esempio. Senza ridurre lageneralità degli sviluppi successivi, consideriamo una struttura bidimensionale come quella rappresentata infigura (l'estensione al caso tridimensionale è del tutto banale).

1

2

31

2 3

4

5

 Nodi

Elementi

 

Anche in questo caso la struttura è realizzata assemblando un certo numero di elementi che assumeremocollegati tra di loro, o vincolati a terra, con giunti le cui dimensioni sono trascurabili se confrontate conquelle degli elementi; con questa ipotesi il collegamento risulta essere modellabile come puntiforme e

 possiamo definire il sistema elastico come discreto.Essendo i collegamenti discreti e ipotizzando di esprimere i legami costitutivi in funzione di forzeconcentrate e spostamenti dei corrispondenti punti di applicazione il sistema è discreto.

Per semplicità, ma ancora senza ledere la generalità della procedura, possiamo supporre che i collegamentitra i diversi elementi della struttura non siano in grado di trasmettere momenti apprezzabili; potremo alloraidealizzare tali collegamenti come cerniere e le forze agenti ai nodi si riducono ai soli risultanti delle forzead essi applicati; allo stesso modo le componenti di spostamento si riducono alle sole traslazioni.Per definire la posizione della struttura nello spazio facciamo ricorso ad un sistema di riferimento,tipicamente cartesiano ortogonale nel quale individuare gli elementi costitutivi del modello ed in particolarele coordinate dei nodi. In talune applicazioni potrà essere utile ricorrere a più sistemi di riferimento anche ditipo diverso. In letteratura non è del tutto unificata la nomenclatura con cui ci si riferisce a questa terna; ledizioni più ricorrenti sono "generale" e "globale" mentre nei testi anglosassoni si incontrano i termini

 general , global e basic. Detto sistema verrà utilizzato anche per definire le rette di applicazione delle forzeesterne che agiscono sui nodi.Le uniche variazioni sono relative alle fasi di definizione delle incognite e dei legami costitutivi.

Definizione delle incognite

Il campo di spostamento è in questo caso bidimensionale e ciascun nodo è caratterizzato da due incognite dispostamento, u e v, e da due componenti di forza che agiscono secondo tali direzioni, U e V ; nell'ambitodella procedura precedentemente esaminata, per tenere conto di questa situazione, è sufficiente consideraregli spostamenti nodali non come scalari ma come vettori di dimensione opportuna. Nel nostro caso:

 Nodo i-esimo:

=i

i

iv

ua }{ Spostamenti

=i

i

iV 

U q }{ Forze

Ulteriori generalizzazioni sono banali: nel caso bidimensionale con trasmissione anche di momenti basterà

espandere i vettori di spostamento e forza nodali, rispettivamente con il termine di rotazione e di momento:

Page 14: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 14/32

 

014calmt.doc

14

=

i

i

i

i

v

u

a }{ Spostamenti nodo i-esimo ,

=

i

i

i

i

 R

q }{ Forze agenti nodo i-esimo

 

L'estensione al caso di telai di aste tridimensionali prevede che questi vettori sono costituiti dalle trecomponenti dello spostamento

=

i

i

i

i

w

v

u

a }{ Spostamenti nodo i-esimo ,

=

i

i

i

i

q }{ Forze agenti nodo i-esimo

 

Infine l'estensione nel caso tridimensionale completo, con tre gradi di libertà di spostamento e tre dirotazione per nodo, i vettori nodali diventano:

[ ]T 

iiiiiii t  sr wvua =}{ Spostamenti nodo i-esimo ,

[ ]T 

iiiiiii T S  RW V U q =}{ Forze agenti nodo i-esimo.

 Nel nostro esempio, impilando tutte le componenti di spostamento nodale, il vettore spostamento globale ècostituito da 10 componenti di spostamento e può essere organizzato nel modo seguente:

[ ]

1

2

1 1 2 2 3 3 4 4 5 53

4

5

a

a

{A} a

a

a

T u v u v u v u v u v

=

=  

al quale corrisponde un'analoga struttura del vettore dei carichi esterni globale.

Legame costitutivo

Definiamo per ogni elemento i vettori spostamento {ae}:

Elemento N.1 Elemento N.2 Elemento N.3

51

1

2

{a }

{a } {a }

{a }

=

 22

3

{a }{a }

{a }

=

  3

35

4

{a }

{a } {a }

{a }

=

 

3 nodi (1,2,5) 2 nodi (2,3) 3 nodi (3,4,5)6 termini 4 termini 6 termini

dove i singoli {ai} sono i vettori di spostamenti nodali del nodo i-esimo. Ad essi sono associati i vettori diforze nodali {qe} di analoga definizione.

L'ordine con il quale vengono impilati i nodi nei vettori spostamento elemento dipende solo dallo schemacon il quale è stata valutata la relazione di rigidezza; non è quindi richiesto che siano in ordine dinumerazione crescente, così come non è necessario che siano numerati in maniera consecutiva. A dire ilvero non è neppure necessario che essi siano numerati: basterebbero infatti dei nomi a identificarli; tuttavial'utilizzo di numeri interi facilita la programmazione e la rende più efficiente.

Inoltre non è necessario che gli elementi siano caratterizzati da uno stesso numero di gradi di libertà, ma ciòsemplifica notevolmente l'implementazione della procedura in un codice di calcolo automatico.

La generica relazione di equilibrio è ancora rappresentabile in forma matriciale con un legame formalmenteidentico che semplicemente coinvolge un numero maggiore di gradi di libertà:

{ } { }e e eq = k a

 

Page 15: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 15/32

 

014calmt.doc

15

Le matrici di rigidezza rappresentano l'equilibrio tra i carichi indotti ai nodi di un elemento in seguitoall'applicazione degli spostamenti {ae} e le forze esterne {qe} applicate all'elemento stesso; il genericocoefficiente di indici i,j della matrice [k e] rappresenta la forza che nasce sul grado di libertà i-esimo quandovenga applicato uno spostamento di ampiezza unitaria al grado di libertà j-esimo avendo completamenteimpedito lo spostamento dei rimanenti gradi di libertà. In altre parole, si tratta dei coefficienti di influenzatra il grado di libertà j-esimo e le forze agenti secondo il grado di libertà i-esimo espressi in termini dirigidezze. La matrice [k e] è detta matrice di rigidezza dell'elemento, è quadrata e di dimensione pari allasomma dei gradi di libertà di ogno nodo.

Riepilogo della procedura

Riepiloghiamo il procedimento di analisi matriciale ora esaminato.

Fase Descrizione Azioni1 individuazione delle

incognite del problemaDevono cioè essere individuati i punti della struttura dei qualiassumere gli spostamenti come incognite. Per ciascun punto,in funzione delle caratteristiche del problema strutturale,occorre infine definire quali componenti di spostamento e/orotazione inserire nel set di incognite.

2 determinazione dellecaratteristiche degli elementi

A partire dalla geometria, i dati del materiale e definizionedelle condizioni di carico.Per ogni elemento occorre- determinare la matrice di rigidezza,- costruire il vettore di corrispondenza tra i gradi di libertà

della matrice dell'elemento e le loro posizioni nel sistemacompleto

- se necessario costruire il vettore di termini noti relativiall'elemento

- effettuare le operazioni per il cambiamento del sistema di

riferimento, solo nel caso in cui, per semplicità oconvenienza, la matrice di rigidezza sia stata determinatain un sistema di riferimento particolare non coincidentecon quello generale in cui sono stati definiti i nodi.

3 assemblaggio Vengono scritte le equazioni di equilibrio ai nodi. I contributidei singoli elementi vengono sommati tenendo conto della

 posizione nella matrice completa cui dare contributo4 imposizione delle condizioni

al contorno sugli spostamentiPer esempio con la eliminazione dei gradi di libertà vincolati.

5 soluzione del sistema Può essere utilizzato il metodo di eliminazione di Gauss.In questo modi viene determinato il vettore delle soluzioni a ,uno o più a seconda di quante condizioni di carico sono state

 previste.6 recupero dei risultati derivati Per ciascuna delle soluzioni calcolate al passo precedente

vengono calcolati gli sforzi.

Considerazioni sulla procedura

Caratteristiche del problema

La matrice del sistema risolutivo è simmetrica, per i noti teoremi di reciprocità, per cui sarebbe possibile

determinare e memorizzare soltanto i coefficienti che risiedono nel triangolo superiore, diagonale compresa.Sulla diagonale, a meno di situazioni anomale, avremo sempre coefficienti positivi: non è infatti fisicamenteammissibile un valore nullo o negativo in quanto ciò significherebbe l'incapacità della struttura di opporsi ad

Page 16: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 16/32

 

014calmt.doc

16

un carico nel primo caso e un sintomo di instabilità nel secondo in quanto la struttura anziché opporsi alcarico tenderebbe ad assecondarlo.In seguito al fatto che gli elementi danno contributi di rigidezza ai soli nodi direttamente collegati, lamaggior parte dei nodi del modello normalmente non sono direttamente connessi; questo si traduce nella

 presenza di molti termini extra diagonali nulli. Inoltre i coefficienti diversi da zero sono addensati attornoalla diagonale in una fascia, la cui ampiezza è calcolabile a priori, in funzione delle connessioni definitedagli elementi, detta banda. Sfruttando queste due caratteristiche è possibile ridurre in manieraconsiderevole sia il tempo richiesto per effettuare le operazioni di soluzione del sistema che la memoriarichiesta per contenere la matrice del sistema risolutivo. A questo argomento, data la sua importanza nella

 problematica degli elementi finiti, verrà dedicato un apposito spazio.

Significato dei vincoli

L'imposizione di queste condizioni, al di la del caso specifico, è necessaria per la semplice soluzione del problema algebrico definito dalla relazione [ K ]{a}={r }, infatti la matrice di rigidezza, se non vincolata, èsingolare, cioè non è direttamente risolvibile con le usuali tecniche numeriche: la configurazione deglispostamenti incogniti è apriori del tutto arbitraria, quindi è possibile descrivere anche movimenti rigidi dellastruttura, per i quali il prodotto [ K ]{a} deve risultare nullo, per definizione del movimento rigido. Perchésiamo in presenza di un problema omogeneo con soluzione evidentemente non banale il determinante dellamatrice deve essere nullo, quindi il sistema non può essere risolto numericamente se non si impongonoadeguate condizioni al contorno che rimuovano la labilità della matrice.Questo fatto è la manifestazione di un fenomeno fisico, la labilità di un corpo elastico non sufficientementesupportato, che si traduce nella condizione matematica di indeterminazione del sistema algebrico risolutivo:la matrice di rigidezza definisce il legame tra le forze elastiche e gli spostamenti nodali e l'imposizione dellecondizioni di equilibrio ci permette di ottenere l'unica configurazione di spostamenti congruenti (tali sonoavendo adottato un approccio agli spostamenti) che risulta essere anche equilibrata. Poiché un qualsiasispostamento rigido avviene senza deformazione, quindi con un contributo nullo alle equazioni di equilibrioai nodi, la sua presenza non altera lo stato di equilibrio ma rende indeterminata la configurazione dispostamento corrispondente.

  Nel caso si dovesse non già una struttura vincolata ma libera e soggetta ad un sistema di carichiautoequilibrato occorrerebbe comunque applicare un sistema di vincoli isostatico che elimini le labilitànumeriche dalla matrice e verificare che le reazioni vincolari siano identicamente nulle.Il problema dell'imposizione delle condizioni al contorno riveste una notevole importanza e ad esso verràdedicato un apposito capitolo.

Implementazione della costruzione della matrice di rigidezza globale

E' però evidente che la strada ora indicata non sia conveniente né pratica in quanto il peso della gestionedelle matrici di incidenza e del doppio prodotto non è proponibile, neppure in presenza di sistemi a memoriavirtuale e di computer potenti. Infatti:• all'aumentare delle dimensioni aumenta quadraticamente il numero di termini nulli da memorizzare

mentre rimane costante quello dei coefficienti che non lo sono• l'esecuzione delle operazioni di accumulo di tutti i termini nulli di queste matrici comporta uno spreco ditempo del tutto inutile

Pe evitare questi problemi è però sufficiente introdurre un meccanismo di indirizzamento che permetta di passare dai gradi di libertà dell'elemento ai corrispondenti nel riferimento generale nell'implementazione delciclo di sommatoria. Si associa ad ogni elemento, in luogo della matrice di estrazione [He], un vettore diincidenza [Ie] che fornisce direttamente la posizione nel vettore globale di ogni incognita. Preventivamenteoccorre quindi provvedere alla numerazione delle incognite globali e a riconoscere la corrispondenza traqueste e quelle elemento.

 Nel nostro esempio possiamo definire la sequenza di numerazione delle incognite semplicemente contandoleseguendo la numerazione dei nodi:

{ } 1 1 2 2 3 3 4 4 5 51 2 3 4 7 85 6 9 10

A [ ]T u v u v u v u v u v=  

Si noti che questa è una scelta del tutto arbitraria: i risultati non cambierebbero se si utilizzasse un diversocriterio. Poiché per i tre elementi i vettori delle incognite sono:

Page 17: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 17/32

 

014calmt.doc

17

{ } { } { }

1 3

1 2 31 3

2 2 2 41 2 32 4

2 3 3 45 5

5 3 5

5 5

a aa

a a a a aa

a a

u u

v u v

u v u

v u v

u v uv v

= = = = = =

 

dalla corrispondenza tra i diversi termini si ricavano i rispettivi vettori di incidenza:

1 321 2 3

2 43

5 5

1 5

2 3 6

3 4 7

4 5 8

9 6 9

10 10

= = = = = =

i ii

i i i i ii

i i

 

Si noti come le informazioni contenute in questi elementi siano le stesse codificate nelle matrici [He] 

corrispondenti, ma in forma più compatta: nel caso di [H1] i termini non nulli sono (1,1), (2,2) e (3,5) chehanno rispettivamente il significato di (posizione nel vettore elemento, posizione nel vettore globale), nelvettore {I1} abbiamo che la posizione nel vettore elemento viene direttamente definita dalla posizione nelvettore di incidenza (c'è corrispondenza tra i due), mentre il valore dell'elemento individua la posizione nelvettore globale.L'implementazione della sommatoria viene effettuata non più sommando matrici di eguale ordine termine atermine, ma accumulando direttamente nelle corrispondenti posizioni nella matrice globale i termini dellamatrice elemento. Ovviamente la matrice globale dovrà essere preventivamente azzerata.In questo modo, per guidare le operazioni, si utilizzano soltanto gli indici elemento, come indici diretti(variano infatti da 1 al numero di gradi di libertà dell'elemento sia per le righe che le colonne) all'interno

della matrice elemento, e come indici indiretti in quella globale, attraverso il corrispondente termine delvettore di incidenza: il coefficiente di indici i,j della matrice elemento viene sommato alla posizioniincidenza(i), incidenza(j) della matrice globale. La stessa tecnica di indirizzamento viene applicata siaall'indice di riga che quello di colonna; ciò equivale al prodotto destro e sinistro per la matrice [He] ed ha ilsignificato di valutare le posizioni globali dell'equazione, incidenza(i), e dell'incognita incidenza(j) deltermine di rigidezza di indici (i,j) .Questo processo, esaminato nel caso strutturale per una matrice di rigidezza, è del tutto generale e prende ilnome di ASSEMBLAGGIO di una matrice; esso viene utilizzato per ottenere altre matrici del modello,come quelle di massa o di smorzamento, o vettori, ricorrendo in questo caso ad un solo puntatore, come

 potrebbe essere per i carichi derivanti da una pretensione o dall'applicazione di distribuzioni di temperatura.

In termini operativi e definendo le seguenti entità:

ngdlpn Numero di gradi di libertà per ogni nodo(uguale per tutti i nodi)

  N.Nodi Numero complessivo di nodi del modello  N.Nodi.Elem Numero di nodi del generico elemento  NGDLE Numero di gradi di libertà dell'elemento (N.Nodi.Elem x ndglpn)MG Matrice globale (ordine (N.Nodi x ndglpn)x(N.Nodi x ndglpn))VG Vettore globale (ordine (N.Nodi x ndglpn) x 1)ME Matrice elemento

(ordine (N.Nodi.Elem x ndglpn)x(N.Nodi.Elem x ndglpn))VE Vettore elemento (ordine (N.Nodi.Elem x ndglpn)x1)INC Vettore di incidenza dei gradi di libertà

(ordine (N.Nodi.Elem x ndglpn)x1)La procedura, previo azzeramento della matrice generale, può essere così sintetizzata:

Page 18: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 18/32

 

014calmt.doc

18

Ciclo sulle righe di ME (riga=1,NGDLE)VG(Inc(riga))=VG(Inc(riga))+VE(riga)Ciclo sulle colonne di ME (colonna=1,NGDLE)

MG(Inc(riga),Inc(colonna))=MG(Inc(riga),Inc(colonna))+ME(riga,colonna) 

che in FORTRAN risulta essere programmata nel modo seguente:

DO IRIGA=1,NGDLEVG(INC(IRIGA))=VG(INC(IRIGA))+VE(IRIGA)DO LRIGA=1,NMG(INC(IRIGA),INC(LRIGA))=

* MG(INC(IRIGA),INC(LRIGA))+ME(IRIGA,LRIGA)ENDDO

ENDDO

mentre in C è:

for(iriga=0;iriga<ngdle;iriga++){

vg(inc(iriga)) += ve(iriga);for(lriga=0;lriga<ngdle;lriga++){mg(inc(iriga),inc(lriga)) += me(iriga,lriga);

}} 

In MATLAB, o analoghi linguaggi, la disponibilità di operatori matriciali semplifica enormemente la programmazione:

MG(INC,INC)=MG(INC,INC)+MEVG(INC)=VG(INC)+VE

La scrittura compatta non deve trarre in inganno: il numero di operazioni che vengono eseguite rimane lostesso ed è solo la presenza di una sofisticata gestione della memoria che permette di scrivere in forma

 pressochè simbolica le operazioni. In realtà la struttura del codice realmente eseguito è lo stesso visto per FORTRAN e c, con il sovraccarico di lavoro legato alla necessità di individuare glioperatori coinvolti erecuperare dalle strutture dati le informazioni relative.

Queste istruzioni devono essere svolte per ogni elemento, quindi le linee di programma devono essereinserite in un ciclo più esterno sugli elementi che prepari le informazioni per lo specifico elemento che deveessere assemblato.

 Normalmente, nei programmi di questo genere, ogni nodo è caratterizzato da un numero di gradi di libertà,che può variare secondo la problematica specifica, e che nel caso più generale è dato dalle 3 componenti di

traslazione e 3 di rotazione; avremo allora che la matrice di rigidezza di un elemento è di dimensione pari alnumero di nodi moltiplicato per il numero di gradi di libertà per nodo; il vettore di incidenza dell'elementoavrà dimensioni corrispondenti ed il suo contenuto, come accennato, sarà tale da fare riferimento alle

 posizioni dei singoli gradi di libertà nel vettore di spostamenti complessivo. Lo schema più semplice per lacreazione del vettore di incidenza è basato sul fatto che tutti i nodi sono caratterizzati dallo stesso numero digradi di libertà: se NGL è la variabile che esprime questo numero avremo che gli NGL gradi di libertàassociati al nodo I-esimo sono esprimibili come

JGDL=(I-1)*NGL+J

In questo caso in particolare non è necessario ricorrere ad una numerazione preventiva di tutte le equazioni,cosa che risulta obbligatoria se invece si desidera ammettere un numero di gradi di libertà variabile da nodoa nodo.

Numerazione nodi e elementi

Page 19: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 19/32

 

014calmt.doc

19

 Nell'esempio i nodi e gli elementi sono stati numerati in modo consecutivo. Si tratta di una procedura deltutto arbitraria. Questo schema che ha il pregio/difetto di confondere il "nome" di un nodo, e di un elemento,con la sua posizione all'interno della lista di definizione. In realtà non è affatto necessario seguirlo, per esempio si possono elencare i nodi in maniera casuale, avendo però utilizzato tutti i numeri da 1 al numerodi nodi, o, in maniera ancora più generale, utilizzare numeri non solo ordinati in forma casuale ma anchearbitrari come valore, quindi, anche se riordinati, non consecutivi. Un elenco ordinato, per esempio inmaniera crescente, rende però estremamente più efficiente la fase di ricerca di un nodo nell'elenco: se la listanon è ordinata, la ricerca deve necessariamente essere lineare, se invece lo è una ricerca binaria riducedrasticamente i tempi di individuazione.

Iperstaticità del problema

Un'ultima considerazione riguarda il fatto che l'approccio agli spostamenti è intrinsecamente insensibile allivello di iperstaticità del problema: la procedura descritta rimane assolutamente inalterata e nelo schema discrittura del sistema risolutivo l'unica variante risiede nel numero di elementi che devono essere assemblati.Infatti se nel nostro caso fossero presenti altri elementi, la struttura del sistema risolutivo ne risulterebbemodificata: le incognite rimarrebbero le stesse, cambiando soltanto i coefficienti della matrice a seguitodell'assemblaggio di altri elementi.

Caratteristiche della soluzione

La soluzione di un problema elastico deve essere congruente in termini di spostamenti e deformazioni oltreche equilibrata in termini di forze interne ed esterne. Assumiamo che i legami precedentemente identificati,nei termini di relazioni forze/spostamenti e sforzi/spostamenti, siano in grado di garantire queste condizioniall'interno di ogni elemento. Questa ipotesi sarà senz'altro soddisfatta nel caso di risultati di provesperimentali, altrimenti si avrebbe avuto un cedimento nella struttura sottoposta a test; lo sarà pure nel casodi matrici determinate numericamente se la metodologia utilizzata provvede a specificare questi vincoli,come avviene per elementi di asta o trave. Per potere risolvere il problema, rimane ancora da imporre chequeste due condizioni siano soddisfatte in corrispondenza dei nodi del modello, cosa che avviene mediante

Effetti della numerazione dei nodi

E' interessante però vedere coma la distribuzione dei termini non nulli viene a dipendere dall'ordine con ilquale sono stati messi in sequenza i nodi del modello o, in una parola, dalla numerazione dei nodi e quindidelle equazioni. Esaminiamo quale sarebbe stata la popolazione della matrice con una numerazionedifferente, per esempio quella riportata in figura:

1

2

31

2 4

5

3

 Nodi

Elementi

 

Il vettore delle incognite nodali mantiene la stessa struttura, anche se i punti fisici corrispondenti ai nodi 2,3e 4 sono diversi. Le matrici di rigidezza hanno ovviamente la stessa struttura, diversi risultano invece ivettori di incidenza nodale:

Elemento N.(1) Elemento N.(2) Elemento N.(3)

Page 20: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 20/32

 

014calmt.doc

20

1 321 2 3

2 44

3 5

1 5

2 3 6

3 4 7

4 7 8

5 8 96 10

= = = = = =

i ii

i i i i ii

i i

 

Per cui la matrice globale assume la seguente topologia:

+

+

+

C C C 

C C  BC  B

C C C  A A A

 B A B A A

 A A A

00

)(0

)(

0)(

00

 

Si può notare che, come ovvio, i termini della matrice sono gli stessi del caso precedente, solo distribuiti inmodo diverso nella matrice globale; quello che è importante rilevare è che il riempimento della matrice haassunto lo schema tipico di una matrice in banda, con tutti i coefficienti ridossati alla diagonale principale.Le caratteristiche che contraddistinguono la posizione dei coefficienti ci portano a definire diversetopologie: oltre alla matrice in banda potremo avere una matrice piena se tutti i termini sono diversi da zero,una matrice con un riempimento irregolare è detta a profilo (dal termine inglese skyline). Il riconoscimentodi una specifica topologia permette di affrontare tecniche di memorizzazione e di elaborazione della matriceche portano ad una soluzione più efficiente del problema.

Le matrici in bandaGestione di una matrice in banda

Le matrici in profiloGestione di una matrice in profilo

Le matrici in fronteGestione di una matrice in fronte

Le matrici completamente sparseGestione di una matrice sparsa

Procedure per l'imposizione di vincoliCome precedentemente accennato è necessario individuare procedure pratiche e flessibili per l'imposizionedei vincoli esterni. Questi possono essere fissi, cioè a spostamento nullo, o cedevoli, quindi a spostamentoimposto non nullo. Di seguito vengono discusse due possibili tecniche per la loro realizzazione.

 Partizione della matrice

La tecnica di partizione della matrice di rigidezza costituisce la procedura formalmente più elegante per l'imposizione dei vincoli: il vettore dei gradi di libertà viene formalmente partizionato nei gradi di libertàliberi (l) e in quelli vincolati (v) così come il vettore dei termini noti e la matrice di rigidezza:

ll lv l l  

vl vv v v

k k a r  

k k a r  

=

 

  Nel problema così posto i termini del vettore dv sono noti, in quanto imposti, mentre sono incognite lereazioni vincolari pv; le equazioni del sistema ( ) possono allora essere separate e riscritte come:

Page 21: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 21/32

 

014calmt.doc

21

ll l l lv v

v lv l vv v

k a r k a

r k a k a

= +

= + 

e mentre dalla soluzione della prima equazione, un sistema lineare con numero di gradi di libertà ridotto aquelli liberi, si ricavano gli spostamenti dei nodi liberi, la seconda fornisce le reazioni vincolari.Questa procedura è formalmente elegante e completa, infatti è possibile gestire anche il caso di cedimenti

vincolari, cioè l'imposizione di condizioni al contorno non omogenee, essendo presente il termine av.La struttura della matrice idonea per la partizione può essere facilmente ottenuta numerando per prime lecomponenti di spostamento libere e per ultimi quelli vincolati. In questo modo si evita di dover riorganizzare la matrice a posteriori. è però difficoltosa l'implementazione quando si operi con uno qualsiasidegli schemi di memorizzazione utilizzato per ridurre la memoria richiesta.

Si possono implementare schemi semplificati, per esempio si potrebbe pensare di eliminare equazioni ecoefficienti relativi alle componenti di spostamento vincolate impaccando la matrice che passerebbe così daordine 12 a ordine 9: questa operazione risulta però poco pratica, soprattutto nel caso di matrici di grandidimensioni in quanto comporta una riorganizzazione della matrice. Meglio sarebbe evitare di assemblare leequazioni vincolate, cosa che, però, preclude la possibilità di analizzare diverse condizioni al contorno e direcuperare le reazioni vincolari. Formalmente queste procedure equivalgono a ridurre il sistema a:

ll l l  k a r =  In entrambi i casi non è gestibile il cedimento vincolare, cioè l'imposizione di condizioni al contorno nonomogenee.Una via praticabile consiste nell'azzeramento di riga e colonna corrispondenti al grado di libertà da vincolaree nel ridefinire il termine diagonale unitario; il calcolo delle reazioni può essere effettuato memorizzando

 preventivamente le sottomatrici kvl e kvv prima dell'azzeramento. I passi della procedura di imposizione deivincoli diventano:

costruzione del sistemall lv l l  

vl vv v v

k k a r  

k k a r  

=

 

memorizzazione delle sottomatrici,vl vvk k   

azzeramento di , elv vl vvk k k  eforzamento dei termini diagonali unitariin vvk  ; sostituzione dei carichi esterni vr   

con il cedimento dei vincoli va  

0

0l l ll 

v v

a r k 

a a I 

=

 

soluzione del sistema ( l a e va ) 10

0l l ll 

v v

a r k 

a a I 

=

 

calcolo delle reazioni vincolari = +v vl l vv vr k a k a  

Questa procedura è pratica e normalmente non comporta un significativo aggravio computazionale: ilnumero di componenti di spostamento vincolate, in una vasta casistica di applicazioni, è piccolo, se nontrascurabile, rispetto al numero di incognite.

 Rigidezze concentrate

Le possibili alternative alla procedura di partizione prevedono la manipolazione dei coefficienti dellamatrice di rigidezza.La prima procedura si basa sulla considerazione che il vincolo fisso è una schematizzazione delcomportamento fisico di un sistema che, nella realtà, è solo molto più rigido della struttura alla quale siapplica, tanto da giustificare il modello. La procedura sopra descritta può allora essere ottenuta aggiungendosulla diagonale di kvv dei coefficienti che altro non sono se non le rigidezze concentrate con le quali si

 possono modellare i vincoli.

Page 22: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 22/32

 

014calmt.doc

22

Dovendo descrivere un vincolo "rigido" queste rigidezze risulteranno essere di ordini di grandezza maggioririspetto ai termini strutturali presenti in kvv e in kvl, quindi il contriibuto originale numericamente tende ascomparire quanto più grandi sono le rigidezze utilizzate.Quindi il sistema si riscrive come

= +

ll lv l l 

v vvl vv

k k  a r 

a r k k diag k  

 

e sei termini di rigidezza aggiunti sono dominanti, vvdiag k k   , in pratica si ottiene:

0

0

+

ll lv ll 

vl vv

k k  k 

k k diag k   diag k  

e la soluzione del problema diventa:

{ } { }

( ) [ ] { } [ ]{ }( )

1

1

=

= +

v v

l ll lv vl 

a diag k r  

a k r k a

 

Dalla prima equazione si può desumere che, perché lo spostamento { }va assuma il valore desiderato (che si

tratti di un vincolo fisso o di un cedimento non fa differenza), occorre applicare ai gradi di libertà cosìvincolati una forza pari al prodotto del cedimento per la rigidezza del vincolo i luogo degli eventuali carichiesterni. Anche questa procedura consente di elaborare nello stesso modo vincoli fissi e a cedimento imposto.Per il calcolo delle reazioni vincolari sarebbe sufficiente memorizzare la diagonale di [ ]vvk   unico elemento

andato perso e utilizzare ancora l'equazione dei gradi di libertà vincolati.Questa procedura presenta il vantaggio di non richiedere particolari capacità di gestione della matrice, senon quella di saper individuare del termine diagonale dei gradi di libertà da vincolare.

Page 23: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 23/32

 

014calmt.doc

23

Tecniche per la soluzione di sistemi lineari (INCOMPLETO)

Tecniche dirette di decomposizioneSupponiamo che la matrice [K] sia scomponibile nel prodotto di due matrici, una triangolare inferiore e unatriangolare superiore a diagonale unitaria:[K]=[L][U]

Il sistema può essere riscritto come[K]{A}=[L][U]{A}={R}definendo un vettore di supporto {Y} è possibile riscrivere il sistema, di ordine n, scomposto in due sistemi,sempre di ordine n:[L]{Y}={R}{Y}=[U]{A}La soluzione di questo doppio sistema è immediata essendo le due matrici triangolari.Sviluppando simbolicamente il prodotto di queste matrici si è in grado di risalire alle formule ricorsive per ilcalcolo dei coefficienti delle matrici di decompisizione:

Le tecniche che si possono utilizzare sono:Fattorizzazione LU, quella ora vista, valida per problemi generici, quindi anche per matrici nonsimmetriche, che è una forma di implementazione del metodo di sostituzione di Gauss, quando si eviti dinormalizzare l'equazione in riduzione e si memorizzino nella triangolare inferiore (la porzione azzerata dellamatrice) il coefficiente della combinazione.

formule

Fattorizzazione di Cholesky per matrici simmetriche definite positive, si attua sempre una scomposizionema le matrici triangolari sono una trasposta dell'altra: [K]=[C]T[C]. Anche in questo caso lo svilupposimbolico del prodotto delle matrici triangolari permette di risalire alle formule ricorsive per il calcolo deicoefficienti della decomposizione:

11 11c k =   1j 1j 11c k / c=  

1/ 2i 12

ii ii lil 1c k c

=

= − ∑   e 

i 1

ik ij iili ljl 1c k c c / c j i 1

=

= − > > ∑  Tecniche iterativeI metodi iterativi sono stati ampiamente usati, per la soluzione di sistemi lineari, durante la fase pionieristicadell'impiego degli elementi finiti. In seguito sono stati abbandonati a causa delle caratteristiche diconvergenza che non consentiva il raggiungimento della soluzione in un numero garantito sufficientementeridotto di passi. Allo stesso tempo il consolidamento delle procedure per il trattamento e la soluzione direttadi sistemi sparsi di grandi dimensioni aveva concorso ad orientare le scelte verso questi ultimi.Le dimensioni dei modelli analizzati sono continuamente aumentate parallelamente con la disponibilita dellerisorse di calcolo (memoria centrale e di massa) e con l'affinamento delle procedure di analisi. Oggi

 problemi dell'ordine delle decine di migliaia di gradi di libertà sono all'ordine del giorno e si vedono sempre  piuu spesso modelli che superano il centinaio di migliaia di gradi di libertà. Con queste dimensioni di

modello, tutti gli schemi di soluzione basati sulla scomposizione della matrice portano ad uno spreco dirisorse legato alla necessità di memorizzare anche un certo numero di termini nulli della matrice dirigidezza.Esempio della struttura ad anello.Questo spreco è risultato essere accettabile per modelli relativamente piccoli, con problemi che seperano i100.000 gdl invece è opportuno adottare tecniche più efficienti.Da questo punto di vista i metodi iterativi si prestano perfettamente al massimo sfruttamento delle risorse dimemoria, in quanto consentono la memorizzazione dei soli termini non nulli della matrice.Perchè si dimostrino efficienti anche nella fase di soluzione è però necessario individuare delle tecniche diaccelerazione della convergenza.

Gauss-SeidelDato il sistema lineare definito comeKu=R si attui una scomposizione della matrice dei coefficienti del tipo

Page 24: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 24/32

 

014calmt.doc

24

K=KL+KD+KLTdove KL e' una matrice che contiene i termini della sola triangolare inferiore di K, mentre KD contiene lasola diagonale di K.Il sistema puoo essere riscritto comeKL u + KD u + KLT u = R Tenendo presente la struttura delle matrici coinvolte, possiamo pensare ad una procedura iterativasemplicemente attribuendo l'indice i+1 ai primi due termini u e i al terzo:KL u (i+1)+ KD u (i+1)+ KLT u (i)= R Infatti il generico termine m della soluzione u al passo (i+1) può essere espresso in funzione dei termini

 precedenti n<m relativi allo stesso passo, perché già calcolati, e di quelli successivi n>m relativi al passo precedente, non ancora disponibili.KD u (i+1)= R-KL u (i+1)- KLT u (i)Questa equazione e' immediatamente risolvibile essendo la matrice KD diagonale.Il processo puo partire da un generico vettore u(0) inizializzato con i valori del termine noto, cosa cheequivale a risparmiare una iterazione partendo da un vettore identicamente nullo, o da una soluzionearbitrartia.Si saraa raggiunta la convergenza alla soluzione esatta quando l'aggiornamento della soluzione, in norma,

risulta essere minore di una soglia definita a priori: es.||u(i+1)-u(i)||/||u(i+1)||<epsSe la matrice dei coefficienti e' definita positiva allora la convergenza e' assicurata.La convergenza risulta essere accelerata se si impiega la seguente forma:u(i+1)=u(i)+beta KD-1(R-KL u (i+1)-KD u(i)- KLT u (i)) con 1.3<=beta<=1.9(Vedi Bathe)

Gradiente coniugatoKu=R minimizza il potenziale totale P=1/2utKu-utR Si usano delle tecniche di proiezoni che permettono di ricercare la direzione di costruzione di una base divettori per la descrizione di u che minimizzi P(Vedi Bathe o altro)

Esempio strutturale: ANALISI DI TELAI (ASTE)

Caso bidimensionale

Applichiamo quanto visto per definire una procedura per l'analisi di telai piani costituiti da elementi di asta,caratterizzati da stato di sforzo costante, collegati tra loro in corrispondenza dei nodi dello schema. Lastruttura del programma resterà la stessa all'aggiunta di elementi finiti di altro genere. Definiamo la generica asta come un elemento orientato in manier arbitraria nel sistema di riferimentogenerale; la lunghezza e l'orientazione del singolo elemento sono calcolati a partire dall'indicazione dei nodi

collegati e dalle coordinate di questi, mentre la rigidezza assiale (EA) rappresenta un dato specifico diciascun elemento.

A Sezione

L Lunghezza

E Modulo di elasticita'

1

2L

x

y

α

 

I coseni direttori della terna di riferimento locale, che identifica la giacitura dell'asta, sono dati dalle seguentirelazioni:c=cos(α); s=sin(α)

Page 25: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 25/32

 

014calmt.doc

25

ove α=atan2(∆y,∆x)

Matrice dell'asta nel sistema di riferimento generale

−−−−

−−

−−

= ss sc sscs

cscccscc

 sscs sscs

cscccscc

 L

 EA

k ][  

Dimostrare la forma della matrice di rigidezza dell'asta.

Verificare che la stessa matrice può essere ottenuta applicando la procedura di trasformazione allamatrice dell'asta in un riferimento assiale:dimostrare che la matrice di rigidezza dell'asta è:

1 1[ ]

1 1

 EAk 

 L

− =

−  

che la matrice di trasformazione ha la seguente forma:0 0

[ ]0 0

c sT 

c s

=

 

e che la matrice per il calcolo dell'azione interna è:

[ ][ ] E 

S c s c s L

= − −  

Per quanto riguarda il recupero dei risultati a livello di elemento siamo interessati al calcolodell'allungamento dell'asta che otteniamo per differenza della proiezione delle componenti di spostamento

dei due nodi dell'elemento (secondo meno primo)∆ L c u s v c u s v= + − +( * * ) ( * * )2 2 1 1  Il carico assiale che agisce sulla generica astaè quindi dato dalla relazione

 N EAL

L=

∆ 

Parallelamente alla formulazione della procedura elaboriamo l'esempio descritto in figura:

21

34

1

5

4

6

2

3

A=100mm2

L

L L=100mm

 

Assumiamo il sistema di riferimento con l'origine nel punto 4, l'asse x orientato come la congiungente i nodi4 e 3 mentre l'asse y è diretto dal punto 4 al punto 1.Le aste abbiano tutte la medesima sezione A e alla struttura sia applicata, in corrispondenza del nodo 2 una

forza di componenti verticale ed orizzontale rispettivamente pari a 3000 e 1000 Kg.

Tabella delle coordinate

Page 26: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 26/32

 

014calmt.doc

26

  Nodo X Y1 0 1002 100 1003 100 04 0 0

Tabella degli elementi

Elem. N 1 N 2 E Area L EA/L α cos α sin α  Inc1 Inc21 1 2 7300 100 100 7300 0 1 0 1,2 3,42 2 3 7300 100 100 7300 -90 0 -1 3,4 5,63 3 4 7300 100 100 7300 -180 -1 0 5,6 7,84 4 1 7300 100 100 7300 90 0 1 7,8 1,25 1 3 7300 100 141 5177 -45 .707 -.707 1,2 5,66 2 4 7300 100 141 5177 45 .707 .707 3,4 7,8

Le prime cinque colonne fanno parte dei dati del problema, le altre sono calcolate a partire da queste e dallatabella delle coordinate nodali.Organizziamo le componenti di spostamento incognite nel vettore di incognite globali:

{u}=[u1, v1, u2, v2, u3, v3, u4, v4]T 

Vettori di piazzamanto e Matrici elementi

Elemento Vettore spostamenti e di incidenza Matrice di rigidezza1

11

2

2

u

v

u

v

 

1

2

3

4

 

1 0 1 0

0 0 0 0

1 0 1 0

0 0 0 0

 EA

 L

− −

 

2 2

2

3

3

u

v

u

v

 

3

4

5

6

 

0 0 0 0

0 1 0 1

0 0 0 0

0 1 0 1

 EA

 L

 

333

4

5

u

v

u

v

 

5

6

7

8

 

1 0 1 0

0 0 0 0

1 0 1 0

0 0 0 0

 EA

 L

− −

 

4 4

4

1

1

u

v

u

v

 

7

8

1

2

 

0 0 0 0

0 1 0 1

0 0 0 0

0 1 0 1

 EA

 L

 

5 1

1

3

3

u

vu

v

 

1

25

6

 5

.5 .5 .5 .5

.5 .5 .5 .5.5 .5 .5 .5

.5 .5 .5 .5

 EA L

− −

− − − −

− −

 

Page 27: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 27/32

 

014calmt.doc

27

6 2

2

4

4

u

v

u

v

 

3

4

7

8

 6

.5 .5 .5 .5

.5 .5 .5 .5

.5 .5 .5 .5

.5 .5 .5 .5

 EA

 L

− − − − − − − −

 

Matrice globale dopo assemblaggio degli elementi N 1,2,3,4

)4()4(

)3()3(

)2()2(

)3()3(

)2()2(

)1()1(

)4()4(

)1()1(

73000000073000

07300073000000

00730007300000

07300073000000

00730007300000

00000730007300

73000000073000

00000730007300

 

Il numero tra parentesi indica l'elemento che ha generato il contributo

Matrice globale dopo assemblaggio degli elemento N. 5

−−−

−−−

−−−

−−−

73000000073000

07300073000000

00988025807300025802580

07300258098800025882580

00730007300000

00000730007300

73000258025800098802580

00258025800730025809880

 

Matrice globale dopo assemblaggio degli elemento N. 6 e vettore termini noti

−−−

−−− −−−

−−−

−−−

−−−

−−−

−−−

0

00

0

3000

1000

0

0

98802580002580258073000

2580988007300258025800000988025807300025802580

07300258098800025802580

25802580730009880258000

25802580002580988007300

73000258025800098802580

00258025800730025809880

 

Si osservi come la somma dei termini di una riga associati alla traslazione secondo una direzione risultaessere nulla: infatti si deve avere che per una distribuzione di spostamenti nodali definita come spostamentorigido lungo un asse non nascono forze elastiche ai nodi, quindi il risultato del prodotto tra la matrice dirigidezza ed il vettore spostamenti deve dare risultato nullo per tutti i gradi di libertà.

Matrice globale dopo la rimozione dei gradi di libertà vincolati

Page 28: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 28/32

 

014calmt.doc

28

−−

−−

−−

0

0

0

3000

1000

98800025802580

09880258073000

02580988000

25807300098802580

25800025809880

 

Soluzione

=

0.2197

0

0.7324

0.1913

0.9237

0.0827-

0

0

4

4

3

3

2

2

1

1

v

u

v

u

v

u

v

u

 

Recupero azioni interne: calcolo dell'allungamento di ogni asta e prodotto per il coefficiente EA/L

Elemento N.1

( )

( ) L

 EA

 L

 EA

vu sinvu L

 EA

 L

 L EA N 

0.08270*01*00*01*0827.0

)0cos(*)0cos(*()0(*)0cos(* 11221

−=−−+−

=+−+=∆

Elemento N.2

( )

( ) L

 EA

 L

 EA

vu sinvu L

 EA

 L

 L EA N 

1913.0)1(*9237.00*)0827.0()1(*7324.00*1913.0

)90cos(*)90cos(*()90(*)90cos(* 22332

=−−−−−+

=−+−−−+−=∆

Elemento N.3

( )

( ) L

 EA

 L

 EA

vu sinvu L

 EA N 

1913.0)0(*7324.0)1(*1913.0)0(*2197.0)1(*0

)180cos(*)180cos(*()180(*)180cos(* 33443

=−−−+−

=−+−−−+−= 

Elemento N.4

( )

( ) L

 EA

 L

 EA

vu sinvu L

 EA N 

2197.0)1(*2197.0)0(*0)1(*0)0(*0

)90cos(*)90cos(*()90(*)90cos(* 44114

−=−−+

=−+−−−+= 

Elemento N.5

( )

( ) L

 EA

 L

 EA

vu sinvu L

 EA N 

2706.0)707.(*0)707(.*03)707.(*7324.0)707(.*191.0707.0

)45cos(*)45cos(*()45(*)45cos(* 11335

5

−=−−−−+

=−+−−−+−= 

Elemento N.6

Page 29: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 29/32

 

014calmt.doc

29

( )

( )

 L

 EA

 L

 EA

vu sinvu L

 EA N 

3106.0

)707(.*9237.0)707(.*)0827.0()707(.*2197.0)707(.*.0707.0

)45cos(*)45cos(*()45(*)45cos(* 22445

5

=−−−+

=+−+=

 

Si riporta una possibile organizzazione di un programma per la soluzione automatica di telai piani.

Lettura dati nodali: identificatori e coordinate e costruzione tabella nodiLettura dati elementi: connessioni, materiale, sezione e costruzione tabella elementi

Lunghezza, Coseni direttori elemento, Vettore di incidenzaCiclo di assemblaggio

Per ogni elementoCalcolo della matrice di rigidezzaAssemblaggio della matrice elemento nella matrice globale

Lettura carichi e costruzione termine notoLettura vincoli e loro applicazione alla matriceSoluzione del problema staticoRecupero deformazioni ed azioni interne

Per ogni elementoCalcolo allungamentoCalcolo azione assiale

Esempio di programmazione in MATLAB:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% box.m risolve con la tecnica degli EF il problema della

% struttura reticolare a busta

%

clear,clg

% v 1

% 1 >O---------O 2

% |\ /|

% | 5\ / |

% 4 | \ |2

% | / \ |

% |/ 6 \|

% 4 >O---------O 3% 3

%

xynodi=[ 0 100; % tabella coordinate nodi

100 100;

100 0;

0 0];

elemen=[ 1 2; % tabella collegamenti aste

2 3;

3 4;

4 1;

2 4;

1 3];

vinc=[1 1; % tabela vincoli: nodo, gdl vincolato

1 2;

Page 30: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 30/32

 

014calmt.doc

30

4 1];

e=[7300 7300 7300 7300 7300 7300]; % tabella modulo elastico

a=[100 100 100 100 100 100]; % tabella area aste

[nel,l]=size(elemen); % recupero dimensioni problema

[nod,l]=size(xynodi);[nvi,l]=size(vinc);

rm=zeros(nod*2);

% disegno struttura indeformata

axis([-20 120 -20 120]);

hold on

for i=1:nel

n1=elemen(i,1);

n2=elemen(i,2);

plot([xynodi(n1,1) xynodi(n2,1)],[xynodi(n1,2) xynodi(n2,2)]);

end

pause

% ciclo sugli elementi

for i=1:nel

n1=elemen(i,1); % estrazione nodi collegati

n2=elemen(i,2);

e1=(n1-1)*2+1; % calcolo prima equazione di ciascun nodo

e2=(n2-1)*2+1; % si assume numerazione nodi sequenziale da 1

ip=[e1 e1+1 e2 e2+1]; % vettore di incidenza sulle equazioni

%

% calcolo della lunghezza e dell'inclinazione dell'elemento

lun=sqrt((xynodi(n1,1)-xynodi(n2,1))^2+

(xynodi(n1,2)- xynodi(n2,2))^2);

ang=atan2((xynodi(n2,2)-xynodi(n1,2)),(xynodi(n2,1)-xynodi(n1,1)));

cs(i,1)=cos(ang); % calcolo coseni direttori dell'elemento

cs(i,2)=sin(ang);

c=cs(i,1);

s=cs(i,2);

% calcolo matrice di rigidezza dell'elemento

m=e(i)*a(i)/lun*[c*c c*s -c*c -c*s;

c*s s*s -c*s -s*s;

-c*c -c*s c*c c*s;

-c*s -s*s c*s s*s];

for n=1:4 % assemblaggio della matrice di rigidezza globale

for k=1:4rm(ip(n),ip(k))=rm(ip(n),ip(k))+m(n,k);

end

end

end

rm %visualizzazione matrice di rigidezza assemblata

pause

v=[0 0 1000 3000 0 0 0 0]; % definizione dei carichi esterni

v % e visualizzazione del termine noto

pause

% applicazione dei vincoli esterni

for i=1:nvi

ieq=(vinc(i,1)-1)*2+vinc(i,2);

Page 31: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 31/32

 

014calmt.doc

31

rm(ieq,:)=0;

rm(:,ieq)=0;

rm(ieq,ieq)=1;

v(ieq)=0;

end

tun=inv(rm)*v'; % soluzione del sistemasol=tun' % stampa soluzione

mm=max(abs(sol)); % messa in scala per visualizzazione

sol=sol*20/mm; % al 20% della dimensione massima della struttura

% visualizzazione della struttura deformata

for i=1:nel

n1=elemen(i,1);

n2=elemen(i,2);

e1=(n1-1)*2+1;

e2=(n2-1)*2+1;

plot([xynodi(n1,1)+sol(e1) ynodi(n2,1)+sol(e2)],

[xynodi(n1,2)+sol(e1+1) xynodi(n2,2)+sol(e2+1)],'r');end

hold off

pause

% calcolo delle azioni interne

for i=1:nel

n1=elemen(i,1);

n2=elemen(i,2);

e1=(n1-1)*2+1;

e2=(n2-1)*2+1;

lun=sqrt((xynodi(n1,1)-xynodi(n2,1))^2+

(xynodi(n1,2)-xynodi(n2,2))^2);

ang=atan2((xynodi(n2,2)-xynodi(n1,2)),(xynodi(n2,1)-xynodi(n1,1)));

ip=[e1 e1+1 e2 e2+1];

for n=1:4 % estrazione degli spostamenti dell'elemento

sl(n)=tun(ip(n));

end

elemento=i

sposel=sl;

sploc(1)=sl(1)*cs(i,1)+sl(2)*cs(i,2); % proiezione degli

% spostamenti nodali

sploc(2)=sl(3)*cs(i,1)+sl(4)*cs(i,2)delta=sploc(2)-sploc(1) % calcolo allungamento

ai=delta*a(i)*e(i)/lun % calcolo azione interna

c=cs(i,1); % ricalcolo coseni direttori

s=cs(i,2); %

m=e(i)*a(i)/lun*[c*c c*s -c*c -c*s; % e matrice di rigidezza

c*s s*s -c*s -s*s;

-c*c -c*s c*c c*s;

-c*s -s*s c*s s*s];

ai=(m*sl')'; %calcolo forze nodali nel rif. basico

ail=ai(3)*cs(i,1)+ai(4)*cs(i,2) % trasformazione delle forze nel% rif elemento

%anorm=ail/(e(i)*a(i)/lun)

if i<6

Page 32: 012calcolomatriciale

5/13/2018 012calcolomatriciale - slidepdf.com

http://slidepdf.com/reader/full/012calcolomatriciale 32/32

 

014calmt.doc

32

pause

end

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Esercizi

Modificare la procedura per affrontare il problema di telai bidimensionali con elementi di trave. Per lamatrice di rigidezza si faccia riferimento alle dispense di Strutture Aeronautiche del Prof.Giavotto.