Il codice

Jasp è interamente scritto in Java, la compilazione è fatta con Excelsior JET.
La parte grafica 3D è realizzata con Java3D con libreria grafica DirectX.

Soluzione numerica

Per ogni elemento di tipo beam (trave o pilastro) si utilizza il seguente sistema di equazioni:

(1)

dove:
A = area della sezione del beam
Iz = Inerzia della sezione del beam rispetto l’asse baricentrale
I2 = Inerzia rispetto l’asse x della sezione del beam
I3 = Inerzia rispetto l’asse y della sezione del beam
L = Lunghezza dell’elemento beam
E = Modulo di elasticità del materiale del beam;
G = Modulo di elasticità trasversale del materiale del beam;

Si può osservare che si trascura la deformazione da taglio.

La (1) può essere scritta in forma compatta:

fb = Kb ub (2)

Il sistema di equazioni (1) è scritto nell’ipotesi che il sistema di riferimento abbia l’origine nel primo nodo del beam e l’asse x coincidente con il beam.

Per ricavare le forze e gli spostamenti nel sistema di riferimento globale si utilizza la matrice delle rotazioni L:

f = L fb
u = L ub

quindi moltiplicano per LT e considerano che LT L coincide con la matrice identità I si ha:

fb = LT f
ub = LT u

sostituendo fb e ub nella (2) di ottiene:

LT f =Kb LT u

moltiplicando per L si ha:

L LT f = L Kb LT u

ovvero

f = L Kb LT u (4)

Pertanto nel sistema di riferimento globale la matrice di rigidezza K risulta essere:

K = L Kb LT

Se il beam ha il primo punto nell’origine ed il secondo punto con coordinate sferiche () e si sceglie un sistema di riferimento locale con:
L’asse x’ coincidente con il beam.
L’asse y’ parallelo al piano xy
L’asse z’ ortogonale a x’ e a y’

la matrice delle rotazioni nello spazio a tre dimensioni è:

Pertanto:

A partire dalle (3) scitte per ogni beam nel sistema di riferimento globale si costruisce la matrice di rigidezza totale A da cui è possibile ricavare le forze applicate in ogni nodo a partire dagli spostamenti.

Cioè:

(3)

dove:
f1 , f2 , .. , fn sono le forze ed i momenti applicati ad ogni nodo.
s1 , s2 , .. , sn sono gli spostamenti e le rotazioni di ogni nodo.

In questo sistema di equazioni sono note le forze ed i momenti dei i nodi non vincolari e gli spostamenti e le rotazioni nulle per i nodi vincolati.

Nel caso in cui le forze siano distribuite lungo i beam le forze da applicare ai nodi sono le reazioni vincolari che si otterrebbero considerando il beam incastato-incastrato.

La (3) può essere scritta nel seguente modo:

dove
f1 , f1 , .. , fk sono i termini noti, cioè le forze ed i momenti applicati ai nodi non vincolati,
s1 , s1 , .. , sk sono gli spostamenti e le rotazioni incognite dei nodi non vincolati.

In definitiva si ottiene il sistema:

che viene risolto numericamente con il metodo di Choleski.

Analisi dinamica

I modi di vibrare della struttura sono calcolati mediante soluzione dell’equazione matriciale:

[K-λM]ψ = 0          (4)

Dove:
ψ = autovettore
λ = autovalore
M = matrice delle masse
K = matrice delle rigidezze

Gli spostamenti dell’i-esimo modo hanno la forma:

ui(t) = ψi pi sin(ωi t + φi)

con:
ω2= λ
φ = fase
p = ampiezza (scalare)
t = tempo (variabile indipendente)

La (4.2) è risolta con il metodo di interazione nel sottospazio abbinato al metodo di Jacobi generalizzato[2].
Per la costruzione della matrice M le masse sono considerate concentrate nei nodi e sono trascurate le masse rotazionali.

Calcolo sollecitazioni modali [3]

Per ogni autovalore λi esistono infiniti autovettori ψi proporzionali tra loro.

Nel seguito ci si riferisce alla forma ψi ortonormalizzata ad 1 con M, ovvero che verifica la:

ψiT M ψi = 1

La matrice diagonale M può essere scritta come:

M = Mx + My + Mz

dove: Mx [ My, Mz ] è la matrice delle sole masse traslazionali lungo x [lungo y, lungo z]

Si definisce il vettore

mx = Mxμ

dove μ è vettore con tutti elementi 1 e lunghezza pari alla dimensione della matrice M

Si definisce fattore di partecipazione modale lo scalare:

Lix = ψiT mx          (5)

Si può definire lo scalare:

pix = Sx(Ti, ξ) Lix / λi          (6)

dove:
Ti = 2*π/ ωi = periodo del modo i
La funzione Sx(T, ξ) è lo spettro di progetto in accelerazione del sisma x. (§ 3.2.3.2 NTC08)

Il vettore degli spostamenti massimi dovuti all’eccitazione del modo i da parte del sisma x è calcolato con:

uix max = pix ψi         (7)

Nei tabulati di Jasp, per il modo i-esimo, sono riportate:
•  le sollecitazioni calcolate a partire da spostamenti pari a ψi (espresso in metri)
•  la tabella dei coefficienti pix denominati “coefficienti di amplificazione modali”.

La quota di massa partecipante del modo i al sisma x è lo scalare:

six = Lix2 / (μT mx)          (8)

dove: μT mx è la somma delle masse sismiche per il sisma x.

Per la combinazione degli effetti riguardanti i singoli modi si utilizza la combinazione quadratica completa come indicato nelle espressioni (7.3.3) e (7.3.4) delle NTC08.

Gli effetti dell'eccentricità accidentale del centro di massa sono calcolati mediante l'analisi statica come indicato nel § 7.3.3.1 delle NTC08.


[2]: Bathe-Wilson, "Numerical Methods in Finite Element Analysis", 1976, §12.3 – Prentice-Hall
[3]: Paolo Rugarli, "Analisi modale ragionata", 2005, §9.1, - EPC Libri