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.