Come noto, vi sono sostanzialmente due metodi per svolgere un'analisi dinamica su una struttura: il primo, di uso più frequente, si basa sull'analisi condotta nel dominio delle frequenze; il secondo, più "naturale", si basa sull'integrazione diretta delle equazioni del moto. Sottolineato che, qualora la struttura abbia un comportamento elastico lineare, i due metodi sono del tutto equivalenti, è immediato rilevare come l'integrazione diretta delle equazioni del moto costituisca un metodo più generale risultando utile sia nel caso di non linearità geometrico-meccaniche della struttura, sia nel caso di carichi variabili nello spazio (carichi mobili su vie di corsa, ecc..) sia variabili nel tempo (azioni pulsanti, impatti, ecc.).
Il metodo implementato prevede la cosidetta "sovrapposizione modale" (l'algoritmo di integrazione al passo impiegato è quello di Newmark) e pertanto può essere impiegato solo su strutture in regime di linearità geometrica e materiale.
La forzante agente è una funzione scalare variabile nel tempo che può essere fatta agire sia direttamente sul vettore forza applicata in un punto del modello per modularne la sua intensità che come accelerazione applicata ad un versore (in questo caso occorrerà impartire al programma l'ordine di moltiplicare il versore per la massa che compete ad esso per ottenere la forzante in quel punto).
Questo diverso approccio può risultare utile se:
Poichè ogni step di integrazione corrisponde ad una combinazione di carico per la struttura, è facile vedere come, anche per lo studio di brevi periodi in time history si tenda ad una esplosione delle combinazioni di carico cui assogettare le membrature per la verifica (esempio: struttura 1000 gradi di libertà, periodo fondamentale 0.5 sec, periodo minimo 0.1 sec, passo di integrazione 0.01 sec, durata dello studio in time history 10 sec: si da luogo a 1000 g.d.l. x 10 sec x 1/0.01 sec = 1.000.000 locazioni solo per memorizzare gli spostamenti).
È bene considerazione che:
Indicando con:
Le equazioni del moto di una generica struttura sono del tipo:
M X" + C X' + K X = F(t) eq. (1)
Tralasciando il caso di strutture a comportamento non lineare, M C K sono costanti nel tempo e pertanto, benchè sia possibile risolvere la (1) integrando direttamente le equazioni del moto, risulta utile operare il classico cambiamento di base offerto dall'analisi spettrale. Dall'analisi delle vibrazioni libere non smorzate:
M X" + K X = 0 eq. (2)
si possono ricavare gli autovalori ω 2 e autovettori Φ del sistema. In particolare imponendo che:
Posto:
X(t)= Φ Y(t) eq. (3) Rotazione del sistema di riferimento. Y sono le componenti di spostamento modale.
Il sistema (2) può risciversi:
Y" + [ω 2] Y = 0
E tornando, dopo qualche passaggio, alle equazioni del moto (1), queste ultime possono riscriversi come:
M Φ Y" + C Φ Y' + K Φ Y = F(t)
avendo sostituito la (3)
Φ T M Φ Y" + Φ T C Φ Y' + Φ T K Φ Y = Φ T F(t)
premoltiplicando per Φ T
I Y" + Φ T C Φ Y' +[ ω 2] Y = Φ T F(t)
tenendo conto delle (a) e (b)
ed in definitiva
Y" + 2 [ζ] [ ω ] Y' + [ ω 2] Y = P(t) eq. (4)
essendo al solito:
Questa equazione non è altro che un cambiamento di base del vettore dei carichi dal sistema globale a quello "modale".
La risposta all'instante t viene poi ottenuta per semplice somma delle risposte di ogni singolo modo. Dalla (3) si ha infatti che sfruttando l'ortogonalità dei modi di vibrare:
X(t)= Σ Φ T Y(t)
Il sistema (4) offre vari vantaggi il più notevole dei quali è il disaccoppiamento delle equazioni del moto ciò che consente di integrare le equazioni di ogni singolo oscillatore (equazione) in (4) indipendentemente dagli altri.
Un secondo beneficio si ottiene generalmente dalla tipologia della struttura che consente di approssimare tramite la (4) il comportamento dinamico facendo uso di un numero ridotto di oscillatori a fronte della (1) che richiede sempre l'integrazione di tutte le equazioni del moto.
In generale la risposta è quindi del tipo:
X(t)= Σ n Bn Y(t) eq. (5)
avendo indicato con Bn dei coefficienti che dipendono dal carico.
Nel caso di vibrazioni random ogni forzante generalizzata Pn(t) può essere considerata anch'essa come un processo stocastico separato. Facendo uso dell'analisi in dominio di frequenza se le forzanti sono stazionarie anche le risposte (spostamenti, azioni interne) lo sono ed è utile ottenerne la funzione di autocorrelazione ovvero:
R(τ)=E[x(t) x(t+τ)]
E sostituendo la (5)
R(τ)=E[ Σ m Σ n Bm Bn Ym(t) Yn(t+τ)] eq. (6)
Risolvendo nel dominio del tempo (integrale di Duhamel):
Yn( τ )=Int( -infinto, t ) Pn( τ ) hn (t- τ ) d τ
NOTA: "Int(x,y) f(z)" sta per integrale per z da x a y di f(z)
dove la hn è la funzione di trasferimento in frequenza:
hn(t)=1/( ω n(1- ζ n 2)1/2 exp(- ζ n ω nt)sin( ω n(1- ζ n 2)1/2 t)
Sostituendo nella (6)
R( τ )=E[ Σ m Σ n Int( -infinto, t ) Int( -infinto, t+ τ )Bm Bn Pm( Θ 1) Pn( Θ 2) hm(t- Θ 1) hn(t+ τ - Θ 2) d Θ 1 d Θ 2)] eq. (7)
essendo Θ 1 Θ 2 e τ variabili ausilarie nel tempo. Posto ora:
u1=t- Θ 1 u2=t- Θ 2
Si ottiene:
RY( τ )= Σ m Σ n RYnYm( τ )
RYnYm( τ )=Int(0,infinto) Int(0,infinto) Bm Bn RPmPn ( τ -u2+u1) hm(u1) hn(u2) du1 du2) eq. (8)
Dove:
Nella pratica ingegneristica corrente si ha a che fare con strutture aventi smorzamenti critici ζ piccoli e modi di vibrare scorrelati (ben separati in frequenza). In questo caso pertanto la funzione di autocorrelazione può ragionevolmente stimarsi con la formulazione:
RY( τ )= Σ m RYnYm( τ )
dove RYnYm( τ ) è la funzione di autocorrelazione del processo Ym( τ ).
Al tendere di τ a zero l'equazione precedente può riscriversi in termini di deviazioni standard nel seguente modo:
σ n=( σ 1 2+ σ 2 2+.....+ σ n 2) 1/2
che sottolinea come i valori estremi assunti dalla risposta di un processo stazionario X(t) e Ym(t) (m=1,2....n) siano proporzionali alle rispettive deviazioni standard σ X e σ Ym. Su questo poggia l'assunzione fatta da molte normative del metodo SRSS (square root of sum of square) che fornisce il valore atteso di una variabile S (spostamento, azione interna) come radice quadrata della somma dei quadrati delle singole componenti. La mancanza di uno dei due presupposti di base, disaccoppiamento dei modi e bassi valori di smorzamento, fanno si che tale metodo non risulti più valido e vada sotituito con il più generale CQC (complete quadratic combination).
In quanto segue viene esposto in sintesi il procedimento da seguire per operare un calcolo nel dominio del tempo ed osservarne i risultati, facendo riferimento alle procedure principali.
Il metodo per essere impiegato richiede di avere a disposizione n modi di vibrare del modello. Questa fase viene risolta impostando nel Pre-Processore un'analisi dinamica modale (con o senza impalcati rigidi, a seconda dei casi, in direzione qualsiasi, ad esempio 0 gradi) ed eseguendo il calcolo con il CodeCal. Si apre nel Post-Processore il modello da studiare nel dominio del tempo e si procede con l'inizializzazione della procedura attivando il comando Inizializza (Post-Processore - Dinamica).
Si passa, quindi, alla definizione delle storie di carico andando ad impiegare i dati registrati in file oppure definendoli direttamente in input per mezzo del comando Setup (Post-Processore - Dinamica).
Si procede con il calcolo delle soluzioni con il comando Calcola time history (Post-Processore - Dinamica) ed al termine si può scegliere di visualizzare, nel dominio del tempo, tutti i risultati ottenuti.
Per visualizzare l'animazione delle deformazioni si impiega il comando Deformate (Post-Processore - Dinamica) mentre per conoscere i dati sugli spostamenti nodali o le sollecitazioni nelle sezioni di connessione ai nodi di un elemento si impiega il comando Analisi dei risultati (Post-Processore - Dinamica).
Ogni Time History definita può essere archiviata in un proprio file con il comando Salva in modo da poter essere riaperta successivamente con il comando Apri (Post-Processore - Dinamica).
Fig. 1 Diagramma di flusso delle procedure a corredo del calcolo in Time History.
Per eseguire le verifiche degli elementi impiegando l'analsi time history eseguita occorre convertirla in una condizione di carico da gestire in apposita combinazione di carico. Allo scopo si impiega il comando Nuovo da time history (Post-Processore - File).