ANALISI MODALE CON LEDA

 

 Da un punto vista operativo l'analisi modale viene lanciata, esattamente come l'analisi statica, con il comando Analizza . A differenza della analisi statica, l'analisi modale è un'analisi di tipo iterativo, pertanto andrebbe correttamente impostata prima di essere eseguita.

 

 In particolare è di estrema importanza controllare i risultati della analisi sia in termini di deformata modale (Mostra) sia in termini di massa partecipante (Interroga).

 

COME AGGIUNGERE MASSE AL MODELLO

 

 Dalla versione 3.20 è possibile eseguire l'analisi modale ed a spettro di risposta con i moduli integrati LEDA e SPECTRUM. Per fare un'analisi modale è necessario applicare delle masse sul modello, le quali simulano la presenza dei carichi durante il terremoto. In campo dinamico, tanta più massa è applicata sul modello tanto più elevate saranno le sollecitazioni (Guida pratica alla analisi modale).

Pertanto l'aggiunta delle masse deve essere fatta in modo attento, onde evitare sovrastime o sottostime delle azioni.

Le masse possono essere aggiunte direttamente con il comando Aggiungi. Il comando somma i valori specificati alle masse già esistenti sui nodi selezionati al momento dell'esecuzione del comando stesso. Nello specificare i numeri occorre tenere presente che:

 

1)Generalmente le tre masse sono eguali nelle tre direzioni. E' possibile specificare masse diverse nelle varie direzioni per modellare comportamenti peculiari.

 

2)I valori specificati vengono interpretati sulla base delle unità di misura attive. Per le masse traslazionali conta l'unità di forza. La massa introdotta è quella che ha il peso introdotto nell'unità di forza attiva. Ad esempio, se è attivo kN e viene introdotta il numero 10, la massa è quella che dà un peso di 10kN (come accelerazione di gravità il programma assume 9.81 m/sec2).

 

 Nel caso in cui vengano aggiunti momenti di inerzia (o masse rotazionali) oltre all'unità di forza conta l'unità di lunghezza attiva. Si ricorda che la massa rotazionale ha come unità di misura la massa traslazionale per una lunghezza al quadrato. Se viene ad esempio introdotto il numero 100 ed è attiva l'unità “t” e l'unità “mm”, il numero viene interpretato dal programma come 100 t mm2. Se fosse stato attivo “kN” e “cm” il programma avrebbe interpretato lo stesso numero come 100 kN cm2 = 100.000 x 100 / 9810. t mm2.

 

 Per cancellare le masse (tutte e sei, le tre traslazionali più le tre rotazionali) dai nodi si fa così. Si selezionano i nodi su cui si vogliono cancellare le masse e poi si dà il comando Canc sel.

 

 Esistono poi dei comandi che consentono di cancellare solo le masse traslazionali in una certa direzione, ovvero solo le masse traslazionali X (Canc selX), traslazionali Y(Canc selY) e traslazionali Z(Canc selZ).

 

 

 Oltre ad aggiungere masse secondo valori specificati numericamente, è possibile aggiungere masse secondo i carichi già applicati con il comando Caso.

 Questo comando è estremamente potente, perchè consente di generare automaticamente le masse associate a certi casi di carico, moltiplicandole per un opportuno fattore.

 

 Per quello che riguarda la gravità, questa è applicata automaticamente dal programma come densità di massa degli elementi, e non è pertanto necessario introdurla come massa ai nodi. Se, invece,  si vuole avere elementi con densità di massa nulla è necessario spegnere il flag del dialogo Analisi Modale. Se si fa così la massa degli elementi nel file di input per l'analisi modale (.din) viene posta eguale a 0.

 

 

 Il comando Sposta consente di perturbare le masse correggendole in modo tale da generare una certa desiderata eccentricità.

 

Da “Analisi modale ragionata”, di Paolo Rugarli, EPC libri, ROMA, 2005.

 

 Partendo da una certa distribuzione di masse, una pertinente correzione variabile linearmente con la ascissa può essere ottenuta in forma chiusa applicando le seguenti formule.

Sia x la posizione del centro delle masse prima delle correzione ed (x+e) la posizione del centro delle masse che si vuole ottenere dopo la correzione, dove “e” è l’eccentricità accidentale desiderata. Sia inoltre “i” un indice che varia da nodo a nodo e che tiene in conto solo i nodi selezionati e con massa non nulla per un totale di “n” nodi. Immaginiamo che la massa mi di ciascun nodo subisca una correzione Δmi e che la correzione Δmi sia funzione lineare di x, secondo la legge

Δmi = axi + b

dove “a” e “b” sono due costanti. In tal caso, imponendo che la massa totale M non cambi e che la posizione del nuovo centro delle masse sia in (x+e), otteniamo le due equazioni seguenti:

 

 

Queste formule entrano però in crisi quando la correzione è negativa e superiore alla massa originaria, quando cioè

mi+Δmi<0

condizione che si raggiunge se la eccentricità “e” supera un certo valore di soglia, dipendente dal problema in esame.

 

 

COME IMPOSTARE UN'ANALISI MODALE

 

Per eseguire una analisi modale è innanzi tutto necessario aggiungere le masse sul modello.

Ciò fatto occorre specificare:

 

1) Il numero dei modi che si chiede di trovare (default = 6);

 

2) L'ordine del sottospazio (default = 3 x numero dei modi richiesto);

 

3) La tolleranza (default = 1.e-8);

 

4) Il massimo numero di iterazioni (default = 20)

 

5) Se dare o non dare densità di massa agli elementi per l'analisi modale.

 

6) L'eventuale shift

 

 Per tutti i valori numerici il programma fornisce un ragionevole default. L'utente può dover cambiare tali default quando la sua analisi richiede un numero di modi diverso, non riesce a convergere o converge lentamente. A tal fine si osservi che (Guida pratica alla analisi modale):

 

-        più è elevato il numero dei modi più tempo e spazio occorre per risolvere l'analisi. In genere si chiedono fino a poche decine di modi, non di più (fanno eccezione casi particolari). Nella grande maggioranza dei casi 6-10 modi sono sufficienti. Il numero dei modi richiesto non può essere superiore al numero di masse applicate ai vari gradi di libertà. Il numero dei modi non può essere superiore all'ordine del sottospazio.

 

-        più elevato è l'ordine del sottospazio più elevata è la convergenza, che dipende dal rapporto tra la prima e l'ultima frequenza del sottospazio. Se vi sono molti modi con pulsazione identica o simile può essere necessario aumentare l'ordine del sottospazio. Aumentare l'ordine del sottospazio comporta anche un aumento dello spazio richiesto in RAM. L'ordine del sottospazio non può essere inferiore al numero dei modi richiesto.

 

-        la tolleranza consigliata è 1.e-8 per avere buoni risultati sugli autovettori di ordine superiore. Tolleranze minori possono portare a risultati meno precisi sulle componenti meno significative degli autovettori superiori. Al crescere della tolleranza il tempo di calcolo diminuisce. La tolleranza è definita come il massimo valore, al variare dei modi richiesti, del seguente numero, essendo i l'indice di iterazione:

 

TOL= (Ωi+1 - Ω i ) / Ω i

 

-il massimo numero di iterazioni al termine delle quali il programma accetta per buono il risultato ottenuto è per default 20. Spesso si può convergere più semplicemente aumentando l'ordine del sottospazio piuttosto che aumentando il numero di iterazioni. Un elevato numero di iterazioni per convergere è indice di cattiva convergenza: meglio aumentare l'ordine del sottospazio.

 

-dare o non dare la massa agli elementi dipende esclusivamente da considerazioni di modellazione. Essenziale è comunque darla, se c'è, e non darla due volte. Se il flag GRAVITA' è acceso la massa degli elementi sarà aggiunta alle masse applicate ai nodi in sede di soluzione. Se il flag è spento si terrà conto solo delle masse applicate ai nodi.

-L'applicazione di uno shift è necessaria per risolvere situazioni nelle quali la struttura gode di uno o più moti rigidi, tipicamente le oscillazioni proprie di un corpo libero. In questi casi specificando uno shift (che ha le dimensioni fisiche di una pulsazione al quadrato), la matrice di rigidezza perde la singolarità ed il problema può venire risolto. Lo shift può essere positivo o negativo. Se è negativo si ha la certezza di non generare termini diagonali negativi sulla matrice di rigidezza. Se lo shift è troppo piccolo esso non è in grado di eliminare la singolarità, e la matrice non sarà invertita. Conviene fare qualche test per determinare il valore di shift ottimo per il problema in esame.

 

COME ESAMINARE I RISULTATI DI UN'ANALISI MODALE

 

I risultati di un'analisi modale si esaminano in due modi: si guardano le forme modali, i periodi e le masse partecipanti da dentro Sargon, si guarda il file di output MODELLO.DOU da fuori Sargon.

 

Il file .DOU contiene le forme modali, i periodi, le frequenze, le rispettive tolleranze, le percentuali di massa partecipante, i fattori di partecipazione.

 

Nel file .DOG è contenuta una statistica su quanto avvenuto nel corso dell'analisi modale.

 

A schermo è possibile vedere la deformata modale di un certo modo usando il comando Mostra, che chiede di specificare a quale modo si è interessati. Il riepilogo dei periodi, della massa partecipante complessiva e della massa partecipante di ogni modo è ottenuto con il comando Interroga.

 

Scelto un certo modo, che deve essere coerente con il numero dei modi disponibili, il programma fa vedere la deformata modale. I valori di percentuale di massa partecipante sono estremamente significativi, perchè dicono quanto un modo sia importante per la struttura in esame. Al crescere della massa partecipante cresce l'importanza del modo in questione (Guida pratica alla analisi modale).

 

 

ANALISI MODALE CON SOLUTORE SPARSE MATRIX

 

A partire dalla versione 9.80 (rilasciata nel Novembre 2011), anche l'analisi modale può essere fatta utilizzando tecniche di sparse matrix. L'effetto è quello di una drastica riduzione dei tempi di calcolo e del numero di operazioni in virgola mobile, ed un notevole incremento della massima dimensione dei modelli praticamente trattabili.

Operativamente è sufficiente apporre un segno di spunta nella casella "sparse matrix" del dialogo che si apre con il comando Analizza.

Il solutore per l'analisi modale con matrici sparse (che è sempre WLEDA.EXE, LEDA), usa la subspace iteration sfruttando la decomposizione K=LDLT operata con il metodo di Cholesky ma su matrici sparse. Tale tecnica è ereditata dal solutore CLEVER, che anche usa, a scelta, tecniche di sparse matrix. Anche il calcolo della matrice K*=TTKT , tipico della analisi modale con subspace iteration viene eseguito tenendo conto della sparsità di K dopo la fattorizzazione.

Al momento il solutore assume (verificando la circostanza preliminarmente mediante calcolo) che sia diponibile RAM a sufficienza per eseguire le operazioni all in core: versioni successive utilizzeranno la possibilità di eseguire uno swap su disco per aumentare ulteriormente il raggio di azione del solutore.

Si fa in ultimo osservare che, come per il caso statico, il solutore modale sparse matrix è sensibile alla richiesta di rinumerare. In particolare, se viene richiesta una rinumerazione alla RCM (reverse Cuthill-Mc Kee), il solutore sparse esegue un riordinamento delle equazioni (mediante una tecnica che non è quella di RCM) al fine di ridurre la occupazione di spazio di L a partire dallo spazio (noto) occupato da K. Infatti se la matrice K è sparsa, non è detto che la matrice L che soddisfa la triangolarizzazione di Cholesky K=LDLT sia sparsa anch'essa. In generale, in funzione della numerazione delle equazioni si potranno avere L più o meno sparse, con pesanti ricadute sul calcolo. In certi casi (con molte equazioni) la RAM può non essere sufficiente. Se non viene richiesta alcuna rinumerazione il riordinamento non viene eseguito e la sparsità di L è quella che è (in generale: bassa). E' dunque altamente consigliabile, nell'uso dei solutori sparse matrix, mantenere la richiesta di rinumerazione alla RCM, per fare in modo che il riordinamento venga eseguito, con ciò riducendo drasticamente la occupazione di spazio di L, ed anche il numero delle operazioni in virgola mobile.