Beruflich Dokumente
Kultur Dokumente
FACOLT DI INGEGNERIA
DIST
Dipartimento di Ingegneria delle Strutture
Tesi di Laurea
Relatore
Candidato
Danilo De Fusco
matr. 520/352
dedica
Ai miei genitori
Pasquale e Giuseppina.
Ringraziamenti
Indice
Introduzione
Capitolo 1 : Il modello di trave
VII
1
1.1 Premessa
1.4 Applicazioni
17
1.4.1
18
1.4.2
24
30
2.1 Premessa
30
34
35
35
2.5 Applicazioni
42
2.5.1
47
3.1 Premessa
47
47
57
57
58
3.6 Applicazioni
60
3.6.1
60
3.6.2 Applicazione 2: trave continua con vincolo interno doppiopendolox risolta con
il metodo agli elementi finiti
68
3.6.3
78
Indice
93
4.1 Premessa
93
94
97
98
100
105
109
4.8 Applicazioni
115
4.8.1
115
133
5.1 Premessa
133
134
136
137
137
138
143
5.8 Matrici
146
147
148
148
149
151
152
153
5.16 Derivate
154
5.17 Integrali
155
156
5.19 Grafici 2D
156
5.20 Grafici 3D
159
161
165
6.1 Premessa
165
166
Indice
VI
167
6.3.1
167
6.3.2
169
6.3.3
171
172
175
176
6.6.1
Assegnare i vincoli.
176
6.6.2
178
6.6.3
179
6.6.4
181
182
183
186
187
192
6.11.1
Reazioni vincolari.
192
6.11.2
Deformata.
193
6.11.3
Diagrammi.
195
6.11.4
Animazione.
198
199
206
6.13.1
206
6.13.2
Esempio 2: telaio
210
Conclusioni
214
Obiettivo preposto.
214
Sviluppi possibili.
215
Bibliografia
Riferimenti bibliografici
216
216
Introduzione
Introduzione
VIII
uninterfaccia grafica che renda agevole linserimento dei dati necessari alla
realizzazione del modello strutturale da risolvere (preprocessor);
Finiti) perch tra tutti quello che meglio si presta ad essere automatizzato. Questo metodo
elabora un elemento alla volta generando una matrice di rigidezza per ognuno di essi,
quindi, con una semplice procedura si pu ripetere lanalisi per ogni elemento. Alla fine si
procede allassemblaggio delle varie matrici di rigidezza, attraverso degli operatori di
connessione, fino a costruire la matrice di rigidezza globale della struttura non vincolata.
Applicando a questa matrice loperatore di contrazione che tiene conto dei vincoli esterni
si ottiene la vera matrice di rigidezza della struttura vincolata che ci consente di risolvere
lintera struttura.
1.1 Premessa
Gran parte delle costruzioni connesse alle principali applicazioni dellArchitettura e
dellIngegneria sono modellabili come un insieme di travi ed di fondamentale importanza
la determinazione degli spostamenti e delle deformazioni che nascono nel complesso
strutturale, s da poterne attestare, oltre alla resistenza, anche la funzionalit.
Le costruzioni infatti, pur avendo la capacit di resistere alle sollecitazioni per le
quali sono state progettate, a causa di valori eccessivi di qualche spostamento o
deformazione potrebbero risultare non funzionali, o addirittura andare fuori uso.
La ricerca degli spostamenti e delle deformazioni delle strutture composte da travi
elastiche non un problema facilmente risolvibile in condizioni del tutto generali, diventa
invece accessibile sotto lipotesi semplificatrice di linearizzazione delle equazioni, in
ambito elastostatico, e cio in presenza di trascurabili velocit e accelerazioni della
risposta. Il modello linearizzato qui introdotto prevede lassunzione delle seguenti ipotesi:
Materiale linearmente elastico
Piccoli spostamenti e piccole deformazioni
Vincoli lisci e bilateri
Carichi conservativi.
=
arctg v ' =
v '
(1.1)
Figura 1.2: Relazione tra spostamento trasversale e rotazione nel modello di Eulero-Bernoulli
= v ''
a = w'
(1.2)
4
EI v IV = q y
EA w '' = qz
(1.3)
(1.4)
e spostamento
( z) , ( z)
(1.5)
(=
z)
4) Carichi esterni
d
dw
= ' ( z ) , (=
z ) = w '( z )
dz
dz
(1.6)
5
qy ( z) ,
qz ( z )
(1.7)
cio carichi distribuiti verticali (positivi verso il basso) e carichi distribuiti assiali.
Naturalmente vanno aggiunti gli enti concentrati forza attivi e reattivi: forze assiali o
trasversali concentrate e coppie concentrate. Si evidenzia che in questo modello non
rientrano le coppie distribuite se non in un modo artefatto.
5) Caratteristiche della sollecitazione interna:
M ( z) , T ( z) , N ( z)
(1.8)
(1.9)
7) Legame costitutivo
M K=
N K
=
,
(1.10)
Dove
=
K EI
=
, K EA rappresentano, la rigidezza flessionale e assiale della trave.
v( z ) , w( z )
( z) , ( z)
M ( z) , N ( z)
in numero di 6.
M = K ( z )
(1.11)
N = K w
K ( z ) )
(=
N = ( K w ) = qo
(1.12)
( K ( z ) ) + q
=
0
0
( K w) + qz =
(1.13)
K ( z ) + q y =
0
K w + qz =
0
cio
K v IV = q y
K w '' = qz
(1.14)
che sono le equazioni differenziali del problema elastico nel modello di trave di EuleroBernoulli nel caso di rigidezze costanti.
Il modello di Eulero-Bernoulli, pi approssimato e analiticamente pi semplice del
modello di Timoshenko, per gli usuali problemi dellingegneria civile risulta
sufficientemente accurato ed quindi preferito al modello di Timoshenko per la sua
maggiore semplicit di formulazione e duso.
La rotazione della sezione espressa dalla funzione ( z ) che diversa dalla rotazione
della retta tangente alla deformata dellasse della trave. Introducendo lulteriore quantit
= + v
(1.15)
>0
T>0
>0
dz
dz
Figura 1.3: (a) Convenzione dello scorrimento g come cinematica del continuo
= 0 f
( > 0 in
questo caso) ; (b) Convenzione dello scorrimento g come teoria della trave g > 0 (se antiorario langlo di
scorrimento; > 0 in questo caso).
Figura 1.4: =
0 f
10
(1.16)
dv = dv + dv = dz + dz
(1.17)
dv dv + dv
=
= + = + v '
dz
dz
(1.18)
e quindi:
da cui:
A questo punto si pronti a entrare nelle relazioni espresse nei punti 17.
11
1) Modello di spostamento:
v( z ) , ( z ) , w( z )
(1.19)
( z) , ( z) , ( z)
(1.20)
dz
(1.21)
Si nota che nel caso del modello di Timoshenko in altre parole nel modello di trave
rappresentato dalle relazioni (1.19), (1.20), (1.21) non c il problema della
congruenza interna. Infatti assegnando gli spostamenti (1.19) si trovano univocamente
le deformazioni (1.20) e viceversa assegnando le (1.21) si trovano univocamente le
funzioni spostamento (1.19) a meno di costanti di integrazione da determinare con le
condizioni al contorno (mentre nel continuo 3D di Cauchy questo secondo passo non
possibile a meno che il campo di deformazione assegnato non rispetti le condizioni
implicite di congruenza costituite da 6 equazioni nelle derivate seconde delle
componenti della deformazioni).
12
4) Carichi esterni:
q ( z ) , m( z ) , qo ( z )
(1.22)
cio carichi distribuiti verticali (positivi verso il basso), coppie distribuite sulla trave
agenti nel piano della trave, carico distribuito assiale. Naturalmente vanno aggiunti gli
enti concentrati forza attivi e reattivi: forze assiali o trasversali concentrate e coppie
concentrate.
5) Caratteristiche della sollecitazione interna:
M ( z) , T ( z) , N ( z)
(1.23)
(1.24)
7) Legame costitutivo
=
M K=
K=
K
, T
, N
dove =
K EI , =
K GA
=
T
(1.25)
GA
K EA rappresentano, nellordine, la rigidezza
, =
t
flessionale, tagliante e assiale della trave. Si nota che per la rigidezza tagliante compare il
fattore di taglio t della sezione in quanto le tensioni tangenziali non hanno una
distribuzione costante nella sezione.
v( z ) , ( z ) , w( z )
( z) , ( z) , ( z)
M ( z) , T ( z) , N ( z)
in numero di 9.
13
M = K ( z )
=
T K ( + v )
(1.26)
N = K w
Le (1.26) nel caso delle strutture isostatiche, in cui si possono individuare le
caratteristiche della sollecitazione senza portarsi dietro delle incognite iperstatiche,
rappresentano le equazioni differenziali della linea elastica del modello di Timoshenko. E
si nota come il problema assiale disaccoppiato da quello tagliante e flettente, mentre la
rotazione della sezione e della tangente alla linea elastica sono accoppiati.
Nel caso di strutture iperstatiche sono presenti le incognite iperstatiche e quindi le le
(1.26) stesse non sono utili per la determinazione del campo di spostamento generalizzato
(1.19).
Per dedurre le equazioni differenziali complete del modello di Timoshenko basta
considerare le (1.26) e le (1.24). Precisamente si derivano le (1.26) e si sostituiscono nelle
(1.24):
M =
( K ( z ) )=
T m
q
T =
( K ( + v ) ) =
N = ( K w ) = qo
(1.27)
14
M =
( K ( z ) )=
T m
q
T =
( K ( + v ) ) =
(1.28)
N = ( K w ) = qo
K ( z ) + =
m K ( + v )
0
K ( + v ) + q =
(1.29)
0
K w + qo =
che sono le equazioni differenziali del problema elastico nel modello di trave di
Timoshenko nel caso di rigidezze costanti.
Una nota finale riguarda lingobbimento da deformazione da taglio. Sebbene la
media dellingobbimento sia nulla, come riportato nella sezione deformata alla
Timoshenko (sezione deformata piana), occorre riflettere sul fatto che tale condizione
risulta incongruente. Infatti le tensioni tangenziali sui due punti di estremo della sezione
sono nulle, per cui lo scorrimento deve essere nullo, mentre massimo sulla corda
baricentrica (ipotizzando che ivi la larghezza della trave sia stazionaria):
15
Figura 1.7: (a) Scorrimento medio; (b) Diagramma delle tensioni tangenziali; (c) Scorrimento reale.
A
[e quindi non=
pi v 0=
e v 0 della trave di Eulero-Bernoulli].
2) In un appoggio di estremo (ad esempio sezione A) nullo labbassamento e il
momento flettente:
v=0
M =0 =0
16
4) In un appoggio intermedio con continuit della sezione della trave (ad esempio
sezione B) si ha:
vs ( B ) = 0
vd ( B ) = 0
s ( B ) = d ( B )
M s ( B ) = M d ( B ) ( EI )s = ( EI )d p r esez.a rig co. t.s s ( B ) = d ( B )
B
5) In un punto interno in cui applicata una forza concentrata verticale (ad esempio
sezione B):
vs ( B ) =
vd ( B )
s ( B ) =
d ( B )
M s ( B ) = M d ( B ) ( EI )s = ( EI )d p r esez.a rig co. t.s s ( B ) = d ( B )
Ts ( B ) Td ( B ) =
F ( GAt )s ( GAt )d =
F
[ GAt ( + v )] s [ GAt ( + v )] d =
F
per sez.a rig.cost. ( + v )s ( + v )d =
F / GAt
F
B
17
6) In un punto interno in cui applicata una coppia concentrata (ad esempio sezione
B):
vs ( B ) =
vd ( B )
s ( B ) =
d ( B )
M ( EI )s ( EI )d =
M
M s( B ) Md ( B ) =
M / EI
per sez.a rig.cost. s ( B ) d ( B ) =
Ts ( B ) = Td ( B ) ( GAt )s = ( GAt )d
[ GAt ( + v )]=
[ GAt ( + v )] d
s
per sez.a rig.cost. ( + v )s =( + v )d
M
B
1.4 Applicazioni
Si riportano due esercizi svolti con il software Mathematica, il primo risolto
utilizzando le equazioni fornite dal modello di Eulero-Bernoulli e il secondo utilizzando le
equazioni fornite dal modello di Timoshenko, nei quali si giunge alla soluzione risolvendo
il sistema di equazioni in modo simbolico-numerico e in un secondo momento inserendo i
dati numerici si ottengono i diagrammi delle sollecitazioni, delle rotazioni e degli
spostamenti.
1.4.1
18
Risoluzione di una trave Gerber con il metodo della linea elastica mediante
integrazione globale dell'equazione differenziale. Si considera un riferimento
variabile da tratto a tratto
= FullSimplify@v1@zD .
= FullSimplify@v2@zD .
= FullSimplify@v3@zD .
= FullSimplify@v4@zD .
Solution@@1DDD
Solution@@1DDD
Solution@@1DDD
Solution@@1DDD
rotazione
j1
j2
j3
j4
= -FullSimplify@z v1D;
= -FullSimplify@z v2D;
= -FullSimplify@z v3D;
= -FullSimplify@z v4D;
Curvatura
1
2
3
4
= -FullSimplify@z,z v1D;
= -FullSimplify@z,z v2D;
= -FullSimplify@z,z v3D;
= -FullSimplify@z,z v4D;
Valori del momento interno nei punti notevoli per calcolare il diagramma del
momento flettente
MA = FullSimplify@M1 . z 0D
MB = FullSimplify@M1 . z L1D
MBprova = FullSimplify@M2 . z 0D
MC = FullSimplify@M2 . z L2D
MCprova = FullSimplify@M3 . z 0D
MD = FullSimplify@M3 . z L3D
MDprova = FullSimplify@M4 . z 0D
ME = FullSimplify@M4 . z L4D
0
0.
0
-192.
-192.
-24.
-24.
2.13163 10-14
19
Valori del taglio nei punti notevoli per calcolare il diagramma del taglio
TA = FullSimplify@T1 . z 0D
TB = FullSimplify@T1 . z L1D
TBprova = FullSimplify@T2 . z 0D
TCs = FullSimplify@T2 . z L2D
TCd = FullSimplify@T3 . z 0D
TDs = FullSimplify@T3 . z L3D
TDd = FullSimplify@T4 . z 0D
TE = FullSimplify@M4 . z L4D
24.
-24.
-24.
-72.
66.
18.
24.
2.13163 10-14
20
vA = FullSimplify@v1 . z 0D
vB = FullSimplify@v1 . z L1D
vBprova = FullSimplify@v2 . z 0D
vC = FullSimplify@v2 . z L2D
vCprova = FullSimplify@v3 . z 0D
vD = FullSimplify@v3 . z L3D
vDprova = FullSimplify@v4 . z 0D
vE = FullSimplify@v4 . z L4D
0
0.0282277
0.0282277
-8.67362 10-19
0
0.
0
0.00425849
jA = FullSimplify@j1 . z 0D
jBs = FullSimplify@j1 . z L1D
jBd = FullSimplify@j2 . z 0D
jC = FullSimplify@j2 . z L2D
jCprova = FullSimplify@j3 . z 0D
jD = FullSimplify@j3 . z L3D
jDprova = FullSimplify@j4 . z 0D
jE = FullSimplify@j4 . z L4D
-0.00754361
-0.00657024
0.00851698
0.00365013
0.00365013
-0.00194674
-0.00194674
-0.00219008
21
22
0.04
0.02
10
12
14
-0.02
-0.04
0.005
0.000
-0.005
2
-0.010
10
12
14
23
200
150
100
50
10
12
14
-50
50
-50
-100
10
12
14
1.4.2
24
m
q
A
z1
v1
z2
v2
L
25
v2 = FullSimplify@v2@zD . sistema D
:
1
24 K K I24 K + 5 K L2 M
z I288 K2 q H2 L zL + 24 K K I4 L2 H3 m + 2 L qL 4 Hm + L qL z2 + q z3 M +
K2 L2 I6 L2 H2 m + L qL + L H24 m + 17 L qL z 20 Hm + L qL z2 + 5 q z3 MM>
1
12 K I24 K + 5 K L2 M
z I12 K IL H24 m + 5 L qL 6 H2 m + L qL z + 4 q z2 M +
K L2 IL2 q + 6 L H2 m + q zL 2 z H9 m + 5 q zLMM>
j2 = FullSimplify@j2@zD . sistema D
:
1
12 K I24 K + 5 K L2 M
HL zL IK L2 I6 L m + 3 L2 q + 30 m z + 20 L q z 10 q z2 M +
12 K I12 L m + 3 L2 q + 12 m z + 8 L q z 4 q z2 MM>
1
288 K + 60 K L2
I12 K IL H24 m + 5 L qL 12 H2 m + L qL z + 12 q z2 M +
K L2 IL2 q + 12 L Hm + q zL 6 z H6 m + 5 q zLMM>
M2 = FullSimplify@Kc * z j2D
:
L2
+ Hm + L qL z
K IK L2 H8 m + q HL 5 zLL + 12 K q HL 2 zLM
K I24 K + 5 K L2 M
K q HL zL
K
>
>
q z2
2
>
26
Dati
L = 500;
Elas = 2 * H 10^ 6L;
G = 8.695 * H10 ^5L;
b = 30; h = 60;
A = b * h;
Inerzia = NB
b * Hh ^3L
12
F;
t = 1.2;
q = 80;
Kc = N@Elas * InerziaD;
N@G * AD;
m = 30;
Kg = N@G * A * tD;
200
400
-0.1
-0.2
-0.3
-0.4
Clear @zD;
vA@z1_D := -v1 . z z1;
vA @0D
8 0<
vBsx@z1_D := -v1 . z z1;
vBsx @300D
80.0213903 <
vBdx@z1_D := -v2 . z z1;
vBdx @0D
8 0<
600
800
1000
1200
27
0.0004
0.0002
200
400
600
800
-0.0002
-0.0004
-0.0006
-0.0008
-0.0010
Clear @zD;
jA = j1 . z 0
8 0<
jBsx = j1 . z L
80.000471271 <
jBdx = j2 . z 0
80.000471271 <
jC = j2 . z L
8 0<
1000
1200
28
Show@8Plot5, Plot6<, PlotRange 880, 1200 <, 85 000 000, 6 000 000 <<D
6. 106
4. 106
2. 106
200
400
600
800
1000
1200
-2. 106
-4. 106
Clear @zD;
MA = -M1 . z 0
8286 996. <
MBsx = -M1 . z L
95.65622 106 =
MBdx = -M2 . z 0
95.65622 106 =
MC = -M2 . z L
94.35878 106 =
4. 107
2. 107
200
-2. 107
-4. 107
Clear @zD;
400
600
800
1000
1200
TA = T1 . z 0
94.6484 106 =
TBsx = T1 . z L
91.83533 10 =
7
TBdx = T2 . z 0
92.30017 10 =
7
TC = T2 . z L
8 0<
29
2.1 Premessa
Si suppongano note le conoscenze basilari relative alla meccanica dei continui,
secondo la trattazione di Cauchy. Viene di seguito brevemente richiamata la definizione
dei tensori di sforzo e di deformazione.
Si fissi nello spazio una terna dassi levogira di riferimento ( x, y, z ) , di versori
T
normali i, j , k . Sia [u ] = [u , v, w] la funzione descrivente il campo di spostamenti,
1
u + u T
2
31
x
E = 12 yx
12 zx
xy
y
1
2 zy
1
2
1
2
1
2
xz
yz
z
Sia T il tensore, del secondo ordine, degli sforzi, che consente, fissata un giacitura di
versore normale n , di ottenere la tensione t su di essa agente come:
x xy xz nx
yx y yz n y
=
=
t Tn
zx zy z nz
in cui,
32
In particolare, molti materiali strutturali, per valori bassi delle tensioni, presentano un
legame tenso-deformativo pressoch lineare ed elastico. A partire da tale considerazione, e
supponendo nota al lettore la definizione di potenziale di un campo vettoriale, verr
introdotto il legame costitutivo che sostanzia i materiali linearmente iperelastici. Si fa
notare che un materiale a comportamento elastico lineare, per il quale esiste la funzione
potenziale elastico, si definisce materiale linearmente iperelastico.
Assunta lipotesi di iperelasticit lineare, sia il potenziale dello stato tensionale,
funzione dello stato deformativo, Esso consente di ottenere lo stato tensionale come:
ij =
ij
1
1
Cijhk ij hk
E :CE
=
2
2
dove , detto tensore delle costanti elastiche, un tensore del quarto ordine definito
da 81 costanti. La condizione di integrabilit di garantita dalle condizioni di Schwarz:
2
2
=
Cijhk
= Chkij
ij hk hk ij
33
x
y
= z
xy
yz
xz
x
y
= z .
xy
yz
xz
1
1
1
E=
: E
=
C
2
2
2
Si fa notare, brevemente, che C un tensore del secondo ordine, alla cui definizione
si pu giungere grazie alle propriet di simmetria maggiore e minore. In particolare, grazie
alle propriet di simmetria maggiore, esso risulter simmetrico.
In definitiva, grazie alle propriet di simmetria, possibile una rappresentazione pi
semplice del tensore delle costanti elastiche. In particolare si passa dal tensore del quarto
ordine, C , definito da 81 costanti, ad un tensore del secondo ordine, definito da 36 costanti
di cui 21 indipendenti. A questo punto il potenziale elastico pu essere espresso come:
1
=
2
Dal teorema dei lavori virtuali, in base al quale il lavoro esterno deve uguagliare
quello interno, si deduce che:
34
1
1
e
=
=
C > 0, 0 =
C 0
0
2
2
1
1
1
1
C
=
con
A
=
A
=
2
2
2
=
u ( x ) u ( x ) con x Vu
mentre, sulla parte di frontiera libere Vt , indicata anche con Sf, siano assegnate le forze di
superficie t ( x ) ; , inoltre, assegnato il campo delle forze di volume b = b ( x ) . Lobiettivo
consiste nel ricercare lincognito campo di spostamento, per ipotesi infinitesimo, dal quale
si deducono gli altri campi incogniti: deformazioni e sforzi.
( u ) = ( u ) dv t uds budv
V
Sf
35
=
( u)
C dv
1
2 V
Sf
t uds budv
V
1
2
( EI
S
2 + GAt 2 + EA 2 ) ds q vds c ds
S
modello di Euler-Bernoulli
=
(u )
1
2
EI x ( v ) ds q vds
2
36
=
( u)
C dv
1
2 V
t uds budv
V
[ ] [C ][ ] dv - [t ] [u ] ds - [b] [u ] dv
1
2 V
Sf
(2.1)
u ( x, y , z )
v ( x, y , z )
=
w ( x, y, z )
n u u
u0 ( x, y, z ) i =1 pi i ( x, y, z )
n v v
v0 ( x, y, z ) + i =1 pi i ( x, y, z )
w0 ( x, y, z ) n w w
i =1 pi i ( x, y, z )
(2.2)
37
p1k
k
k
k
k p2
1 , 2 ,..., n=
...
k
pn
[ k ][ pk ] con k ( u,v,w )
u ( x, y , z )
x, y , z )
v (=
w ( x, y, z )
u0 ( x, y, z ) [ u ]1n [ pu ]n1
v
x
y
z
,
,
(
)
0
+ [ v ]1n [ pv ]n1
w0 ( x, y, z ) [ ] [ p ]
w 1n w n1
(2.3)
Con le precedenti posizioni non si fatto altro che sostituire allo spazio degli
spostamenti ammissibili, uno spazio di dimensione finita e pari alla numerosit dei
parametri utilizzati, quindi pari a 3n. La (2.3) pu essere riscritta nel seguente modo:
u ( x, y, z ) u0 ( x, y, z ) [ u ]
v ( x, y, z ) = v0 ( x, y, z ) + [ 0]
w ( x, y, z ) w0 ( x, y, z ) [ 0]
[ 0]
[0] [ pu ]
[ v ] [0] [ pv ] = [u0 ] + [ N ]33n [ p ]3n
[0] [ w ] 33n [ pw ] 3n1
(2.4)
in cui la matrice [ N ]33n raccoglie le funzioni generatrici dello spazio discretizzato, che
vengono fissate una volta per tutte, mentre il vettore
[ p ]3n1
raccoglie i parametri
38
(2.5)
rimane da fissare il campo deformativo, che pu essere ottenuto a partire dal generico
spostamento per il tramite delloperatore differenziale [ D ] :
=
[ ]
y
0
z
0
z
=
[ u ] [ ]
0
y
x 6 x 3
[ D ][u ]
[ ] =
[ D ][u0 ] + [ D ][ N ][ p ] =
[ D ][u0 ] + [ B ][ p ]
in cui si posto
termine relativo alla deformazione elastica, risulta necessario esprimere tale termine in
funzione dei rimanenti. In particolare la deformazione elastica la differenza della
deformazione totale e di quella anelastica:
e = [ ] - d
e quindi:
39
e = [ D ][u ] - d = [ D ][uo ] + [ D ][ N ][ p ] - d = [ o ] + [ B ][ p ]
(2.6)
V
2
Si ha dunque:
n ([=
p ])
-
Sf
1
2 V
([ p] [ B] + [ ] ) [C ] ([ B][ p]+ [ ]) d VT
sviluppando, si ottiene:
1 T
1
1
T
T
T
T
[ p ] V [ B ] [C ][ B ] dV [ p ] + V [ p ] [ B ] [C ][ o ] dV + V [ o ] [C ][ B ][ p ] dV 2
2
2
1
T
T
T
T
T
- [t ] [ N ] dS [ p ] - [b ] [ N C
] dV [ pdV] - S f [t ] [uo ] dS - V [b] [uo ] dV + V [ o ] [ ][ o ]
S f
V
2
n ([ p ]=)
[ p ] [B ] =
[C][ o ]C [ Bo ] p[ ][ ][ ]
T
40
1 T
T
T
[ p ] V [ B ] [C ][ B ] dV [ p ] + V [ o ] [C ][ B ] dV [ p ] 2
T
T
- [t ] [ N ] dS [ p ] - [b ] [ N ] dV [ p ] S f
1
T
T
T
[t ] [uo ] dS - [b ] C[uo] dVdV+ [ o ] [ ][ o ]
Sf
V
V
2
n ([ p ]=)
(2.7)
Si nota che gli ultimi tre termini risultano essere delle costanti che nelle operazione
di derivazione successive si annullano. Di conseguenza, tenendo ci presente, si pu
sintetizzare la (2.7) come:
1 T
T
T
[ p ] V [ B ] [C ][ B ] dV [ p ] + V [ o ] [C ][ B ] dV [ p ] 2
T
T
- [t ] [ N ] dS [ p ] - [b ] [ N ] dV [ p ]
S f
n ([ p ]=)
(2.8)
Si pone:
= [f]
[t ] [ N ] dS + [b] [ N ] dV
T
Sf
[ ] [C ][ B ] dV =
T
1 T
[ p ] [ K ][ p ] 2
([ f ] f )[ p]
T
(2.9)
da cui ponendo
f [f o] [ ][ ]
[F ] =
] [ N ] dV
S [t ] [ N ] dS C+ VB[bdV
V
T
=
[ ] o
T
si ricava:
n ([ p ])=
1 T
[ p ] [ K ][ p ] - [ F ][ p ]
2
(2.10)
41
=0
i = 1, 2, ...3n ovvero
n ([ p ])
[ p]
= [0 ]
[ K ][ p ] - [ F ] =
0 [ K ][ p ] =[ F ]
(2.11)
[ p ] =K
[ ] [F ]
1
(2.12)
[ p ] ,
si ricava
dalla (2.2) o dalla (2.3) il campo di spostamento soluzione; noto questultimo, dalla (2.6) si
ottiene il campo di deformazione e, attraverso la relazione [ ] = [C ][ ] si ricava lo stato
tensionale.
Alla generalit del metodo di Ritz-Rayleigh si accompagna la poca praticit dello
stesso rispetto al metodo particolare di cui genitore: il FEM. Tuttavia il metodo si presta
bene a essere applicato per strutture monodimensionali o bidimensionali; ma, per le
strutture tridimensionali lapplicazione del metodo di Ritz-Rayleigh problematica.
42
2.5 Applicazioni
2.5.1
In[2]:=
v1 = FullSimplify@v1@z1D . A1@@1DDD
1
Out[2]=
24 EI H3 4
H
L
F + H3 L CosB
z1
L
24 EI H 4 HH - z1L z12 jB
In[3]:=
H
L
F +
In[4]:=
v2 = FullSimplify@v2@z2D . A2@@1DDD
1
Out[4]=
43
3 600 000 EI L2
HL - z2L z2
IL2 HL - z2L z2 I3 L2 + 150 000 Hq0 + q1L + 2 L z2 + z22 M - 3 600 000 EI HHL - z2L jB - z2 jC LM
Out[5]=
H5 4 q0 + 72 H L4 q1 - 6 H4 4 q0 z1 - 144 L4 q1 z1 + 6 H3 4 q0 z12 -
12 EI H3 4
12 L2 q1 6 L2 HH - 2 z1L CosB
H
L
F + H H2 CosB
z1
L
F + 2 L HH - 3 z1L SinB
H
L
24 EI H 4 HH - 3 z1L jB
In[6]:=
Out[6]=
600 000 EI L2
5 z22 I60 000 Hq0 + q1L + z22 MM + 1 200 000 EI HH2 L - 3 z2L jB + HL - 3 z2L jC LM
In[7]:=
In[8]:=
jB Ept
1
Out[8]=
600 000 H2 L 4
L -50 000 H4 4 q0 + 3 600 000 L4 q1 + H2 L2 4 IL2 + 50 000 Hq0 + q1LM + 600 000
L2 q1 I-6 L2 + H2 2 M CosB
H
L
F - 4 H L SinB
I1 200 000 EI H2 4 jB +
600 000 H2 L 4
1 200 000 EI H2 4 jC + 2 H2 4 I-L3 IL2 + 25 000 Hq0 + q1LM + 600 000 EI jC MM
jC Ept
1
Out[9]=
In[12]:=
In[13]:=
In[14]:=
FullSimplify@M1 . z1 0D
H2 4 IL5 - 37 500 IH3 + 2 H2 L - L3 M q0M +
Out[14]=
In[15]:=
FullSimplify@M1 . z1 HD
1
Out[15]=
44
75 000 H H3 H + 4 LL 4
H
L
F - 4 H L SinB
In[16]:=
In[17]:=
In[18]:=
FullSimplify@M2 . z2 0D
1
Out[18]=
75 000 H H3 H + 4 LL 4
Out[19]=
In[19]:=
FullSimplify@M2 . z2 LD
H
L
F + 4 H L SinB
H
L
Dati numerici
In[20]:=
In[25]:=
Out[25]=
In[26]:=
Out[26]=
H = 500;
L = 450;
EI = 5 10 ^ 9;
q0 = 12.5;
q1 = 6;
N@M1 . z1 HD
-425 558.
N@M2 . z2 0D
-425 558.
Carichi variabili
In[27]:=
In[28]:=
Disegno elementi
In[29]:=
scalacarichi = 4;
r = RotationTransform@Pi 2D;
carico1 = Table@r@8z1, caricot1 * scalacarichi<D, 8z1, 0, H, 10<D;
PrependTo@carico1, r@80, 0<DD;
AppendTo@carico1, r@8H, 0<DD;
t = TranslationTransform@80, H<D;
carico2 = Table@t@8z2, caricot2 * scalacarichi<D, 8z2, 0, L, 10<D;
PrependTo@carico2, t@80, 0<DD;
AppendTo@carico2, t@8L, 0<DD;
In[41]:=
Graphics@
88Red, Line@carico1D<, 8Red, Line@carico2D<, 8Line@8incastro, cerniera<D<,
8Blue, Thickness 0.01, Line@elementiD<<, AspectRatio 1D
Out[41]=
scalamom = 0.0001;
r = RotationTransform@Pi 2D;
mom11 = Table@r@8z1, -M1 * scalamom<D, 8z1, 0, H, 10<D;
PrependTo@mom11, r@80, 0<DD;
AppendTo@mom11, r@8H, 0<DD;
t = TranslationTransform@80, H<D;
mom2 = Table@t@8z2, -M2 * scalamom<D, 8z2, 0, L, 10<D;
PrependTo@mom2, t@80, 0<DD;
AppendTo@mom2, t@8L, 0<DD;
45
In[51]:=
Out[51]=
Deformata
In[52]:=
scaladef = 100;
r = RotationTransform@Pi 2D;
defor1 = Table@r@8z1, -v1sol * scaladef<D, 8z1, 0, H, 10<D;
t = TranslationTransform@80, H<D;
defor2 = Table@t@8z2, -v2sol * scaladef<D, 8z2, 0, L, 10<D;
In[57]:=
Graphics@
88Red, Line@defor1D<, 8Red, Line@defor2D<, 8Line@8incastro, cerniera<D<,
8Blue, Thickness 0.01, Line@elementiD<<, AspectRatio 1D
Out[57]=
46
3.1 Premessa
Il Metodo degli Elementi Finiti un caso particolare del metodo di Ritz-Rayleigh. Questa
precisazione non assolutamente un aspetto di minimizzazione del metodo, ma, esprime la
concretezza storica e filologica del metodo stesso.
Il metodo degli elementi finiti si ormai affermato quale strumento versatile per la
soluzione di problemi strutturali mediante il calcolo automatico. Questo metodo ha avuto
uno sviluppo rapidissimo, avvenuto di pari passo con la disponibilit crescente di
elaboratori digitali sempre pi potenti. Il metodo oggi sempre pi consolidato ed
entrato nella pratica professionale quotidiana dellingegnere.
48
elemento finito V e
v e ( x, y,z ) , dipendenti dagli spost. nodali ,
we ( x, y,z )
v ( x, y,z ) ( x, y,z ) V=
w ( x, y,z )
u e ( x, y,z )
e
v ( x, y,z ) ( x, y,z ) V .
we ( x, y,z )
49
(3.1)
e=1
T
T
T
1
e C e e dV - e be u e dV - e t e u e dS
e
V
Sf
2 V
(3.2)
dove si inserito lapice e per mostrare la dipendenza delle funzioni dal singolo elemento
finito e.
Il campo di spostamento dellelemento finito e si pu discretizzare nel modo
seguente:
u e ( x, y,z ) = N e ( x, y,z ) U e
(3.3)
u e = N e e Ue e
3x1
3x3n
3n x1
In modo esplicito la precedente si scrive, per un elemento finito 3D a 4 nodi
(tetraedro):
u e ( x, y,z ) N1 ( x, y,z ) 0
e
0
N1
v ( x, y,z ) =
we ( x, y,z )
0
0
50
0
0
N1
N2
0
0
0
N2
0
0
0
N2
N3
0
0
0
N3
0
0
0
N3
N4
0
0
0
N4
0
u1
v
1
w1
u2
v
0 2
w
0 2
u
N 4 3
v3
w
3
u4
v4
w4
(3.4)
(3.5)
B e =D
[ ] N e
(3.6)
dove si pone:
essendo, nel caso del continuo tridimensionale, loperatore differenziale dato da:
0
y
z
=
xy
y
yz
zx 6x1 0
51
y
0
z
0
u
z
D u e
v =
0 w
3 x1
x 6 x 3
[ ][ ]
x
0
[ B ] =D
[ ][ N ] = N
1
y
N1
N1
N1
N1
x
N1
z
0
0
N1
N 2
x
0
0
N 2
y
N 2
N 2
x
N 2
y
N1
N 2
z
0
N 3
x
0
0
N 2
z
0
0
N 3
y
N 3
N 3
x
N 3
N 2
y
N 2
N 3
z
0
0
0
N 3
z
0
N 3
N 4
x
0
N 4
N 4
N 4
x
N 4
y
N 3
N 4
z
0
N 4
z
N 4
y
N 4
( )
e [U=
]
e
1
e T
e T
C e B e U e dV U
B
e
V
2
T
t e N e U e dS - e be N e U e dV
V
e U e =
52
1 e T
U
2
B e C e B e dV U e -
T
T
- e t e N e dS + e be N e dV U e
V
Sf
(3.7)
K e = e B e C e B e dV
V
(3.8)
f e = e t e N e dS + e be N e dV
Sf
V
(3.9)
risulta:
T
1 e T
U K e U e - f e U e .
e U e =
2
(3.10)
53
[U ]3n1 .
A questo punto si pone il problema della connessione fra gli spostamenti nodali dei
singoli elementi finiti e quelli globali ordinati nel vettore sopra definito.
Si introduce una matrice di congruenza e (detta anche matrice di incidenza o
geometrica o booleana o di posizionamento) che collega gli spostamenti locali e globali:
U e e =
e e [U ]3n1 .
3n 1
3n 3n
(3.11)
u1(54)
0
(54)
0
v1
w(54)
0
1
u2(54)
0
(54)
v
0
2
(54)
w
2 = 0
0
u (54)
3
0
v3(54)
0
(54)
w3
0
(54)
u4
0
v(54)
0
4
w4(54) 12x1
. .1 . 0 0 0 0 0 0 0 0 0 0 0 .
. .0 . 1 0 0 0 0 0 0 0 0 0 0 .
. .0 . 0 1 0 0 0 0 0 0 0 0 0 .
. .0 . 0 0 1 0 0 0 0 0 0 0 0 .
. .0 . 0 0 0 1 0 0 0 0 0 0 0 .
. .0 . 0 0 0 0 1 0 0 0 0 0 0 .
. .0 . 0 0 0 0 0 1 0 0 0 0 0 .
. .0 . 0 0 0 0 0 0 1 0 0 0 0 .
. .0 . 0 0 0 0 0 0 0 1 0 0 0 .
. .0 . 0 0 0 0 0 0 0 0 1 0 0 .
. .0 . 0 0 0 0 0 0 0 0 0 1 0 .
. .0 . 0 0 0 0 0 0 0 0 0 0 1 .
u1
...
u102
. 0 .
. 0 .
v102
w
. 0 .
102
. 0 .
u103
v
. 0 .
103
w103
. 0 .
.0 .
u104
v
. 0 .
104
.0 .
w104
u
. 0 .
105
. 0 .
v105
. 0 .12x3n w105
...
w3n
54
nella quale le colonne con valori diversi da 0 vanno dalla 102 alla 113, ossia sono
le colonne relative agli spostamenti nodali dei nodi 102, 103, 104, 105, che hanno ciascuno
tre gradi di libert.
Se la numerazione globale dei nodi dellelemento finito (non la numerazione locale
nellelemento finito) non sequenziale, come pu accadere pi plausibilmente del caso
precedente:
212
213
214
215
216
217
218
156
157
158
159
160
161
162
EF 52
EF 53
EF 54
EF 55
EF 56
EF 57
100
101
102
103
104
105
106
44
45
46
47
48
49
50
la matrice di connettivit per lelemento finito n 54, con i suoi nodi locali 1, 2, 3, 4
nodi globali 102, 103, 158, 159, diventa:
u1(54)
0 . . 1 .
(54)
0 . . 0 .
v1
w(54)
0 . . 0 .
1
u2(54)
0 ... 0
(54)
0 . . 0 .
v2
(54)
0 . . 0 .
w2
=
0 . . 0 .
u (54)
3
(54)
0 . . 0 .
v3
0 . . 0 .
(54)
w3
0 . . 0 .
(54)
u
4
0 . . 0 .
v (54)
4
0 . . 0 .
w4(54) 12 x1
55
0 0 0 0 0 . .0. 0 0 0 0 0 . .0.
1 0 0 0 0 . .0. 0 0 0 0 0 . .0.
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0 . .0. 0 0 0 0 0 . .0.
0 . .0. 0 0 0 0 0 . .0.
0 . .0. 0 0 0 0 0 . .0.
1 . .0. 0 0 0 0 0 . .0.
0 0 0 0 0 . .1. 0 0 0 0 0 . .0.
0 0 0 0 0 . .0. 1 0 0 0 0 . .0.
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
.
.
.
.
.0.
.0.
.0.
.0.
0
0
0
0
1
0
0
0
0
1
0
0
0 0 . .0.
0 0 . .0.
1 0 . .0.
0 1 ... 0
u1
......
u102
0
v102
0
w
102
0
u103
0
v
103
0
w103
......
0
u158
0
v158
0
w
158
0
u159
v
0 12 x 3n 159
w159
......
w
3n 3nx1
4)
[(5(102,103,158,
159) ]
u1(54)
0
(54)
0
v1
w(54)
0
1
u2(54)
0
(54)
0
v2
(54)
0
w2
=
0
u (54)
3
0
v3(54)
0
(54)
w3
0
(54)
u
4
0
v (54)
4
0
(54)
w4 12 x1
......
......
......
......
......
......
......
......
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
...
...
...
...
...
...
...
...
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
...
...
...
...
...
...
...
...
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
...
...
...
...
...
...
...
...
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
......
......
......
......
......
......
......
......
......
...
...
......
......
......
0
0
0
0
0
0
0
0
0
...
...
...
0
0
0
0
0
0
0
0
0
...
...
...
0
0
0
0
0
0
0
0
0
...
......
...
...
...
1
0
0
0
1
0
0
0
1
......
......
......
0
0
0
0
0
0
0
0
0
0
0 12 x 3n
Colonna
102x3
[
(54)
(102,116 ,162,175 )
Colonna
116x3
Colonna
162x3
Colonna
175x3
u1
......
u102
v102
w
102
......
u
116
v116
w116
......
u162
v
162
w162
......
u175
v175
w
175
......
w3n 3nx1
56
Introducendo le matrici booleane (3.11) nellEPT del sistema ossia nella relazione
(3.10), si ha:
([U=
])
n
T
1 n
T
e T
e
e
f e e [U ] ,
U
K
U
[
]
[
]
2 e=1
e=1
(3.12)
portando ora fuori dal simbolo di sommatoria le quantit in comune ai vari fattori, si ha:
([U ]) =
n
T
T
1
T
[U ] e K e e [U ] - f e e [U ] ,
2
e=1
e=1
(3.13)
definendo la matrice di rigidezza globale e delle forze dellintero sistema strutturale come:
n
[ K ] = e
e=1
[f]
K e e
=
f e e ,
e=1
1
T
T
[U ] [ K ][U ] - [ f ] [U ] .
2
[ K ][U ] =[ f ] .
Formulato in tal modo, agevole notare che:
il metodo degli elementi finiti per come costruito si presta ad essere sviluppato
come codice di calcolo con il calcolatore elettronico, essendo le operazioni coinvolte, a
differenza di quanto accadeva con il metodo di Ritz-Rayleigh., in una morfologia tale da
essere eseguite in modo sistematico ed automatico;
57
K e in modo automatico.
Errore di modello:
Errore di ingresso:
Errore di soluzione:
Errore umano:
58
Wes Wapp
Wes
Oppure, se si vuole:
e 'en =
W ( ues uapp )
Wes
Questo numero non valutabile con esattezza dato che la Wes non nota essendo
incognita la soluzione esatta nei problemi di analisi strutturale reali.
Ovviamente nei problemi di test del sistema ad elementi finiti nota la soluzione
esatta e per questi casi la stima dellerrore risulta essere una valutazione esatta.
La stima dellerrore avviene mediante una modalit indiretta di confronto fra la
soluzione approssimata e la soluzione esatta ed detta a posteriori per distinguerla dalle
valutazioni dellerrore di tipo qualitativo a priori basate sui teoremi della convergenza del
MEF. Una volta effettuata la stima dellerrore necessario sfruttarla per ottenere un
miglioramento dei risultati.
59
T
T
1
1
[ es app ] [ A][ es app ] dV [ app ] [ A][ app ] dV
2V
2V
60
3.6 Applicazioni
3.6.1
q2t
B
x2
x1
RIFERIMENTO GLOBALE
Matrici di rigidezza dei singoli elementi finiti nella forma
piana estesa nel riferimento locale
In[1]:=
EA1
L1
12 EI1
L31
6 EI1
L21
12 EI1
L31
6 EI1
L21
6 EI1
4 EI1
L1
6 EI1
2 EI1
L1
EA1
L1
12 EI1
L31
2 EI1
L1
K1loc =
L12
EA1
L1
0
12 EI1
L31
6 EI1
EA2
L2
12 EI2
L32
6 EI2
L22
6 EI2
4 EI2
L2
K2loc =
L21
L22
EA2
L2
0
12 EI2
6 EI2
L22
L32
6 EI1
L21
6 EI2
L22
2 EI2
L2
EA1
L1
EA2
L2
L12
6 EI1
L21
6 EI1
L21
4 EI1
L1
12 EI2
L32
6 EI2
L22
6 EI2
2 EI2
L2
EA2
L2
12 EI2
L22
0
L32
6 EI2
L22
6 EI2
L22
4 EI2
L2
61
Singolarit della matrice di rigidezza (la matrice di rigidezza del singolo elemento
finito asta risulta semidefinita positiva per il moto rigido che le consentito)
In[3]:=
Det@K1loc D
Det@K2loc D
Out[3]=
Out[4]=
1 = 0; 2 = 0;
Q=
Cos@D
Sin@D
0
0
0
0
Sin@D
Cos@D
0
0
0
0
0
0
1
0
0
0
0
0
0
Cos@D
Sin@D
0
0
0
0
Sin@D
Cos@D
0
Q1 = Q . 1;
Q2 = Q . 2;
Row@8"Q1 = ", Q1 MatrixForm, "
Out[59]=
Q1 =
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
Q2 =
0
0
0
;
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
62
Out[12]//MatrixForm=
EA1
L1
12 EI1
L13
6 EI1
L12
12 EI1
L13
6 EI1
L12
6 EI1
4 EI1
L1
6 EI1
2 EI1
L1
EA1
L1
12 EI1
L21
EA1
L1
0
12 EI1
6 EI1
L21
6 EI1
L12
2 EI1
L1
EA2
L2
12 EI2
L23
6 EI2
L22
12 EI2
L23
6 EI2
L22
6 EI2
4 EI2
L2
6 EI2
2 EI2
L2
EA2
L2
12 EI2
L32
L21
L31
6 EI1
L12
6 EI1
L31
EA1
L1
L21
4 EI1
L1
Out[13]//MatrixForm=
L22
2
EA
L
6 EI2
12 EI2
L32
6 EI2
L22
2 EI2
L2
L22
EA2
L2
L22
6 EI2
L22
6 EI2
L22
4 EI2
L2
In[14]:=
C1 =
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
;
0
0
0
C2 =
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
;
0
0
1
In[60]:=
Out[60]=
63
Tras. C1 =
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
Tras. C2 =
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
Assemblaggio matrici di rigidezza dei singoli elementi finiti per formare la matrice
di rigidezza della struttura libera da vincoli.
NB - Si pu costruire l'assemblaggio "manualmente" sovrapponendo la matrice di
rigidezza nei gradi di libert di competenza.
La matrice di rigidezza del 1 EF impegna le prime 6 righe e 6 colonne, la matrice
di rigidezza del 2 EF impegna le ultime 6 righe e 6 colonne della matrice di
rigidezza assemblata che una matrice 9x9.
In[18]:=
Out[19]//MatrixForm=
EA1
L1
12 EI1
L13
6 EI1
L12
6 EI1
4 EI1
L1
EA1
L1
L21
EA1
L1
0
12 EI1
L31
6 EI1
L12
6 EI1
L21
2 EI1
L1
EA1
L1
EA2
L2
12 EI1
L13
6 EI1
L12
6 EI1
2 EI1
L1
L21
0
0
2
EA
L
12 EI1
L31
6 EI1
L12
12 EI2
L32
6 EI2
L22
6 EI1
L21
4 EI1
L1
6 EI2
L22
4 EI2
L2
12 EI2
L32
6 EI2
6 EI2
L22
2 EI2
L2
L22
EA2
L2
12 EI2
L32
6 EI2
EA2
L2
12 EI2
L32
L22
6 EI2
L22
6 EI2
L22
2 EI2
L2
6 EI2
L22
4 EI2
L2
Singolarit della matrice di rigidezza globale del modello a elementi finiti (questa
matrice di rigidezza risulta semidefinita positiva per il moto rigido che le
consentito, poich non sono ancora assegnate le condizioni al contorno)
In[20]:=
Out[20]=
Det@KD
0
Forze nodali equivalenti nel riferimento locale dei singoli elementi finiti
F1loc = Transpose B::0,
qt1 L1
qt2 L2
qt1 L1 2
12
qt2 L2 2
,
qt1 L1
, 0,
2
qt2 L2
, 0,
12
qt1 L1 2
12
qt2 L2 2
12
>>F;
>>F;
In[63]:=
Out[63]=
64
F1loc =
F2loc =
0
1200
80 000
0
1200
80 000
vettori forze nodali equivalenti del nodo trasferite dal riferimento locale
al riferimento globale
F1g = Transpose @Q1D.F1loc;
F2g = Transpose @Q2D.F2loc;
In[64]:=
Out[64]=
F1g =
F2g =
0
1200
80 000
0
1200
80 000
Assemblaggio forze nodali equivalenti dei singoli elementi finiti per otenere il
vettore forza nodale equivalente del modello a elementi finiti
In[29]:=
Out[30]//MatrixForm=
0
L1 qt1
2
1
12
L21 qt1
0
L1 qt1
2
1
12
L2 qt2
2
L21 qt1 +
0
L2 qt2
2
1
12 L22 qt2
1
12
L22 qt2
65
In[32]:=
0
0
0
0
OpContr =
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
;
0
1
In[34]:=
66
Out[37]//MatrixForm=
EA1
L1
EA2
L2
4 EI1
L1
EA2
L2
2 EI2
L2
EA2
L2
2 EI2
L2
4 EI2
L2
4 EI2
L2
EA2
L2
Out[38]//MatrixForm=
U4
6
U7
9
Out[39]//MatrixForm=
0
1
12
L21 qt1 +
1
12
L22 qt2
0
1
12
L22 qt2
Kcontr la (vera) matrice di rigidezza della struttura con i vincoli e non risulta
singolare ed definita positiva e quindi a determinante non nullo e positivo
In[40]:=
Det@Kcontr D
12 EA1 EA2 EI22
Out[40]=
L1 L32
Out[42]//MatrixForm=
L1
EA1
L1
EA1
L1 L2
3 EI2 L1 +4 EI1 L2
6 EI
L1
EA1
L1
EA1
L1 L2
6 EI2 L1 +8 EI1 L2
L2
EA2
L1 L2
L1 +8 EI1 L2
0
L2 HEI2 L1 +EI1 L2 L
EI2 H3 EI2 L1 +4 EI1 L2 L
Out[44]//MatrixForm=
0
2 L31 L2 qt1 +3 L1 L32 qt2
72 EI2 L1 +96 EI1 L2
0
EI2 L31 L2 qt1 3 EI2 L1 L32 qt2 2 EI1 L42 qt2
72 EI22 L1 +96 EI1 EI2 L2
67
qt1 = 5; qt2 = 6;
L1 = 300; L2 = 400;
EA1 = 2.1 106 64.34; EI 1 = 2.1 106 5410;
6
625 573.
0
175 193.
2.09692 10
0
2.9106 107
175 193.
0
175 193.
2.9106 107
0
5.8212 107
Out[50]//MatrixForm=
0
42 500
0
80 000
MatrixForm @UcontrSOL D
Out[51]//MatrixForm=
0
0.000422776
0
0.00158567
Out[54]=
0.
0.
0.
0.
0.
0.000422776
0.
0.
0.00158567
3.6.2
68
q1t
q2t
B
x2
x1
RIFERIMENTO GLOBALE
Matrici di rigidezza dei singoli elementi finiti nella forma piana ridotta senza il grado di libert estensionale - nel riferimento locale.
La matrice del singolo elemento finito ha dimensione 4x4.
In[1]:=
K1loc =
12 EI1
L31
6 EI1
L21
12 EI1
L31
6 EI1
L21
6 EI1
4 EI1
L1
6 EI1
2 EI1
L1
L21
12 EI1
L31
6 EI1
K2loc =
6 EI1
L21
L21
12 EI1
L31
6 EI1
L21
2 EI1
L1
6 EI1
L21
L21
4 EI1
L1
12 EI2
6 EI2
6 EI2
L22
12 EI2
L32
L32
L22
6 EI2
4 EI2
L2
6 EI2
2 EI2
L2
L22
12 EI2
L32
6 EI2
L22
6 EI2
L22
2 EI2
L2
L22
12 EI2
L32
6 EI2
L22
6 EI2
L22
4 EI2
L2
Det@K1loc D
Det@K2loc D
Out[3]=
Out[4]=
69
K1g = K1loc;
K2g = K2loc;
MatrixForm @K1gD
MatrixForm @K2gD
Out[7]//MatrixForm=
12 EI1
6 EI1
L13
L12
6 EI1
L21
4 EI1
L1
12 EI1
L31
6 EI1
12 EI1
L13
L12
6 EI1
L21
2 EI1
L1
6 EI1
L21
6 EI1
12 EI1
L31
6 EI1
L21
2 EI1
L1
6 EI1
12 EI2
L32
6 EI2
L22
12 EI2
L32
6 EI2
L22
6 EI2
4 EI2
L2
6 EI2
2 EI2
L2
L21
L22
Out[8]//MatrixForm=
12 EI2
L32
6 EI2
6 EI2
L22
2 EI2
L2
L22
4 EI1
L1
L21
L22
12 EI2
L32
6 EI2
6 EI2
L22
4 EI2
L2
L22
In[9]:=
In[11]:=
Out[11]=
C1 =
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
;
0
0
C2 =
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
;
0
1
Tras. C1 =
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
Tras. C2 =
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
70
Out[36]//MatrixForm=
1
24
L2 K
5 L32 qt2
EI2
qt1 = 5; qt2 = 6;
L1 = 300; L2 = 400;
EA1 = 2.1 106 64.34; EI 1 = 2.1 106 5410;
EA2 = 2.1 106 33.37; EI 2 = 2.1 106 2772;
MatrixForm @KcontrD
MatrixForm @Fcontr D
MatrixForm @UcontrSOL D
Out[41]//MatrixForm=
5049.33
757 400.
757 400.
0
2.9106 107
218 295.
2.9106 107
5.8212 107
Out[42]//MatrixForm=
750
42 500
1200
80 000
Out[43]//MatrixForm=
1.45564
0.0106945
9.77494
0.0326831
218 295.
In[20]:=
F1g =
L2 qt2
Out[20]=
71
qt1
F2g =
2
1
L2
12 2
L2 qt2
qt2
12 L21 qt1
12 L22 qt2
Assemblaggio forze nodali equivalenti dei singoli elementi finiti per otenere
il vettore forza nodale equivalente del modello a elementi finiti
In[21]:=
qt1
Out[22]//MatrixForm=
1
12
L21 qt1 +
1
12
L22 qt2
L2 qt2
2
0
L2 qt2
2
1
12
L22 qt2
72
In[24]:=
0
0
0
0
OpContr =
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
Out[25]//MatrixForm=
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
In[26]:=
73
Out[29]//MatrixForm=
Out[30]//MatrixForm=
6 EI1
6 EI1
L21
4 EI1
L1
L21
0
4 EI2
L2
6 EI2
L22
2 EI2
L2
6 EI2
L22
12 EI2
L32
6 EI2
L22
2 EI2
L2
6 EI2
4 EI2
L2
L22
VBs
Bs
VBd
C
L1 qt1
2
Out[31]//MatrixForm=
1
12
L21 qt1 +
1
12
L22 qt2
L2 qt2
2
1
12
L22 qt2
Det@Kcontr D
144 EI21 EI22
Out[32]=
L41 L42
Out[34]//MatrixForm=
L31
3 EI1
L21
2 EI1
21EI2
L21
2 EI1
L1
EI1
L2 L
L1 L2
EI1
21EI2
L21
2 EI1
L1
EI1
L2 L
L21
2 EI1
L1 L2
EI1
L1 L22
EI1
L1 L2
EI1
L1
EI1
L32
3 EI2
L22
2 EI2
L1 L2
EI1
L1
EI1
L2
EI2
L22
2 EI2
74
Out[36]//MatrixForm=
1
24
L2 K
5 L32 qt2
EI2
qt1 = 5; qt2 = 6;
L1 = 300; L2 = 400;
EA1 = 2.1 106 64.34; EI 1 = 2.1 106 5410;
EA2 = 2.1 106 33.37; EI 2 = 2.1 106 2772;
MatrixForm @KcontrD
MatrixForm @Fcontr D
MatrixForm @UcontrSOL D
Out[41]//MatrixForm=
5049.33
757 400.
757 400.
0
2.9106 107
218 295.
2.9106 107
5.8212 107
Out[42]//MatrixForm=
750
42 500
1200
80 000
Out[43]//MatrixForm=
1.45564
0.0106945
9.77494
0.0326831
218 295.
75
Out[46]=
0.
0.
1.45564
0.0106945
9.77494
0.
0.
0.0326831
Out[51]=
In[52]:=
USOL1 = C1.USOLgl;
USOL2 = C2.USOLgl;
USOL = Join @USOL1, USOL2 D;
Ugl = Table @HUg.iL, 8i, 8<D;
Row@8 MatrixForm @Ugl D, MatrixForm @USOL D<D
Ug.1
Ug.2
Ug.3
Ug.4
Ug.5
Ug.6
Ug.7
Ug.8
0.
0.
1.45564
0.0106945
9.77494
0.0106945
0.
0.0326831
76
qt1 = 5; qt2 = 0;
L1 = 300; L2 = 400;
EA1 = 2.1 106 64.34; EI 1 = 2.1 106 5410;
6
Out[57]//MatrixForm=
5049.33
757 400.
757 400.
0
2.09692 108
218 295.
218 295.
1091.48
2.9106 107
218 295.
2.9106 107
218 295.
5.8212 107
Out[58]//MatrixForm=
750
37 500
0
0
Out[59]//MatrixForm=
0.445603
0.00198046
0.792184
0.00198046
In[60]:=
Out[64]//MatrixForm=
0.
0.
0.445603
0.00198046
0.792184
0.
0.
0.00198046
Out[65]//MatrixForm=
0.
0.
0.445603
0.00198046
0.792184
0.00198046
0.
0.00198046
In[66]:=
77
qt1 = 0; qt2 = 6;
L1 = 300; L2 = 400;
EA1 = 2.1 106 64.34; EI 1 = 2.1 106 5410;
6
Out[71]//MatrixForm=
5049.33
757 400.
757 400.
0
2.09692 108
218 295.
218 295.
1091.48
2.9106 107
218 295.
2.9106 107
218 295.
5.8212 107
Out[72]//MatrixForm=
0
80 000
1200
80 000
Out[73]//MatrixForm=
1.90124
0.0126749
10.5671
0.0346635
In[74]:=
Out[78]//MatrixForm=
0.
0.
1.90124
0.0126749
10.5671
0.
0.
0.0346635
Out[79]//MatrixForm=
0.
0.
1.90124
0.0126749
10.5671
0.0126749
0.
0.0346635
3.6.3
78
q2t
x2 C
loc
x2
x1
RIFERIMENTO GLOBALE
Matrici di rigidezza dei singoli elementi finiti nella forma
piana estesa nel riferimento locale
In[1]:=
EA1
L1
12 EI1
L31
6 EI1
L21
6 EI1
4 EI1
L1
K1loc =
L21
EA1
L1
0
12 EI1
L31
EA1
L1
12 EI1
L31
6 EI1
L21
6 EI1
2 EI1
L1
EA1
L1
12 EI1
L31
2 EI1
L1
6 EI1
L21
6 EI1
EA2
L2
12 EI2
L32
6 EI2
L22
12 EI2
L32
6 EI2
L22
6 EI2
4 EI2
L2
6 EI2
2 EI2
L2
EA2
L2
12 EI2
K2loc =
L22
EA2
L2
0
12 EI2
6 EI2
L22
L32
6 EI2
L22
2 EI2
L2
EA2
L2
6 EI1
L21
6 EI1
L21
L21
L21
4 EI1
L1
L22
0
L32
6 EI2
L22
6 EI2
L22
4 EI2
L2
x1
loc
=60
79
Singolarit della matrice di rigidezza (la matrice di rigidezza del singolo elemento
finito asta risulta semidefinita positiva per il moto rigido che le consentito)
In[3]:=
Det@K1loc D
Det@K2loc D
Out[3]=
Out[4]=
1 = 0; 1 = 0; 2 = 0; 2 = Pi 3;
Q=
Cos@D
Sin@D
0
0
0
0
Sin@D
Cos@D
0
0
0
0
0
0
1
0
0
0
0
0
0
Cos@D
Sin@D
0
Q1 = Q . 8 1, 1<;
Q2 = Q . 8 1, 2<;
Row@8"Q1 = ", Q1 MatrixForm, "
Out[9]=
Q1 =
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
Q2 =
0
0
0
Sin@D
Cos@D
0
0
0
0
;
0
0
1
0 0
0 0
1 0
0 0
0 0
0 0
0 0
0
0
0
1
2
0
0
0
3
2
3
2
1
2
80
In[14]:=
In[16]:=
Out[16]=
C1 =
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
;
0
0
0
C2 =
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
;
0
0
1
Tras. C1 =
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
Tras. C2 =
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
Assemblaggio matrici di rigidezza dei singoli elementi finiti per formare la matrice
di rigidezza della struttura libera da vincoli.
NB - Si pu costruire l'assemblaggio "manualmente" sovrapponendo la matrice di
rigidezza nei gradi di libert di competenza.
Singolarit della matrice di rigidezza globale del modello a elementi finiti (questa
matrice di rigidezza risulta semidefinita positiva per il moto rigido che le
consentito, poich non sono ancora assegnate le condizioni al contorno)
In[19]:=
Out[19]=
Det@KD
0
81
Forze nodali equivalenti nel riferimento locale dei singoli elementi finiti in questo
caso coincidono con quelle nel riferimento globale.
In[20]:=
In[22]:=
qt1 L1
qt2 L2
qt1 L1 2
, 0,
12
qt2 L2 2
qt2 L2
, 0,
12
12
,
qt2 L2 2
12
>>F;
>>F;
L2 qt2
2
1
12
L21 qt1
1
12
F2loc =
2
1
12
L22 qt2
L1 qt1
qt1 L1 2
L1 qt1
F1loc =
Out[22]=
qt1 L1
L2 qt2
2
1
L21 qt1
12 L22 qt2
vettori forze nodali equivalenti del nodo trasferite nel riferimento locale del nodo
stesso
In[23]:=
In[25]:=
Out[25]=
L1 qt1
L2 qt2
2
1
L2
12 2
1
12
F1g =
L21
qt1
0
L1 qt1
F2g =
1
4
qt2
3 L2 qt2
L2 qt2
1
12
L21 qt1
1
12
L22 qt2
Assemblaggio forze nodali equivalenti dei singoli elementi finiti per otenere il
vettore forza nodale equivalente del modello a elementi finiti
In[26]:=
Out[27]//MatrixForm=
0
L1 qt1
2
1
12
L21 qt1
0
L1 qt1
2
1
12
L2 qt2
2
L21 qt1 +
14
1
12
3 L2 qt2
L2 qt2
4
1
12
L22 qt2
L22 qt2
82
In[29]:=
0
0
0
0
OpContr =
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
;
0
1
In[31]:=
83
Out[34]//MatrixForm=
EA1
L1
EA2
L2
EA
2 L2
2 EI2
L2
EA
2 EI2
L2
4 EI1
L1
2 L2
+
4 EI2
L2
3 EI2
9 EI2
L22
3 EI2
L22
L23
3
EA2
4 L2
3 EI2
L22
3 EI2
L22
4 EI2
L2
Out[35]//MatrixForm=
U4
6
U7
9
Out[36]//MatrixForm=
0
1
12
L21 qt1 +
14
1
12
1
12
L22 qt2
3 L2 qt2
L22 qt2
Kcontr la (vera) matrice di rigidezza della struttura con i vincoli e non risulta
singolare ed definita positiva e quindi a determinante non nullo e positivo
In[37]:=
Det@Kcontr D
36 EA2 EI1 EI22
Out[37]=
L1 L52
L42
84
qt1 = 5; qt2 = 6;
L1 = 300; L2 = 400;
EA1 = 2.1 106 64.34; EI 1 = 2.1 106 5410;
6
625 573.
0
87 596.3
2.09692 10
189 049.
2.9106 107
87 596.3
189 049.
44 616.7
2.9106 107
189 049.
189 049.
5.8212 107
Out[47]//MatrixForm=
0
42 500
600 3
80 000
MatrixForm @UcontrSOL D
Out[48]//MatrixForm=
0.0036204
0.0004353
0.0258553
0.00150797
Vettore non contratto degli spostamenti nel riferimento locale di ogni nodo.
In[49]:=
Out[51]=
0.
0.
0.
0.0036204
0.
0.0004353
0.0258553
0.
0.00150797
3.6.4
85
q2t
x2
x1
C
loc
loc
D
=60
B
x2
x1
RIFERIMENTO GLOBALE
In[1]:=
EA1
L1
12 EI1
L31
6 EI1
L21
12 EI1
L31
6 EI1
L21
6 EI1
4 EI1
L1
6 EI1
2 EI1
L1
EA1
L1
12 EI1
L31
2 EI1
L1
K1loc =
K2loc =
L21
EA1
L1
0
12 EI1
L31
6 EI1
L21
6 EI1
EA2
L2
12 EI2
L32
6 EI2
L22
6 EI2
4 EI2
L2
L21
L22
2
EA
L
6 EI2
12 EI2
L32
L22
6 EI2
L22
2 EI2
L2
EA1
L1
EA2
L2
L21
6 EI1
L21
6 EI1
L21
4 EI1
L1
12 EI2
L32
6 EI2
L22
6 EI2
2 EI2
L2
EA2
L2
12 EI2
L32
L22
6 EI2
L22
6 EI2
L22
4 EI2
L2
86
Singolarit della matrice di rigidezza (la matrice di rigidezza del singolo elemento
finito asta risulta semidefinita positiva per il moto rigido che le consentito)
In[3]:=
Det@K1loc D
Det@K2loc D
Out[3]=
Out[4]=
1 = 0; 1 = Pi 3; 2 = Pi 3; 2 = 0;
Q=
Cos@D
Sin@D
0
0
0
0
Sin@D
Cos@D
0
0
0
0
0
0
1
0
0
0
0
0
0
Cos@D
Sin@D
0
0
0
0
Sin@D
Cos@D
0
Q1 = Q . 8 1, 1<;
Q2 = Q . 8 2, 2<;
Row@8"Q1 = ", Q1 MatrixForm, "
1
0
0
Out[9]=
Q1 =
0 0
1 0
0 1
0
0
0
0 0
1
2
0 0
0 0
0
0
0
3
2
0
0
0
3
2
1
2
0
0
0
;
0
0
1
3
2
Q2 =
0
0
0
0
3
2
0 0
1
2
0 0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
87
In[14]:=
In[16]:=
Out[16]=
C1 =
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
C2 =
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
Tras. C1 =
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
Tras. C2 =
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
Assemblaggio matrici di rigidezza dei singoli elementi finiti per formare la matrice
di rigidezza della struttura libera da vincoli.
NB - Si pu costruire l'assemblaggio "manualmente" sovrapponendo la matrice di
rigidezza nei gradi di libert di competenza.
La matrice di rigidezza del 1 EF impegna le prime 6 righe e 6 colonne, la matrice
di rigidezza del 2 EF impegna le ultime 6 righe e 6 colonne della matrice di
rigidezza assemblata che una matrice 9x9.
In[17]:=
Singolarit della matrice di rigidezza globale del modello a elementi finiti (questa
matrice di rigidezza risulta semidefinita positiva per il moto rigido che le
consentito, poich non sono ancora assegnate le condizioni al contorno)
In[19]:=
Out[19]=
Det@KD
0
Forze nodali equivalenti nel riferimento locale dei singoli elementi finiti in questo
88
In[22]:=
qt1 L1
qt2 L2
qt1 L1 2
,
12
qt2 L2 2
qt2 L2
, 0,
12
qt1 L1 2
12
qt2 L2 2
12
>>F;
>>F;
L1 qt1
L2 qt2
2
1
L2
12 2
1
12
F1loc =
Out[22]=
qt1 L1
, 0,
L21
qt1
F2loc =
qt2
L1 qt1
L2 qt2
12 L21 qt1
12 L22 qt2
vettori forze nodali equivalenti del nodo trasferite nel riferimento locale del nodo
stesso
In[23]:=
In[25]:=
1
4
L1 qt1
Out[25]=
F1g =
2
1
L2
12 1
1
4
L2 qt2
qt1
3 L1 qt1
F2g =
4
1
L2
12 2
L1 qt1
L2 qt2
1
12
L21
qt2
1
12 L22 qt2
qt1
Assemblaggio forze nodali equivalenti dei singoli elementi finiti per otenere il
vettore forza nodale equivalente del modello a elementi finiti
In[26]:=
Out[27]//MatrixForm=
0
L1 qt1
2
1
12
1
4
L21 qt1
3 L1 qt1 +
1
4
3 L2 qt2
L1 qt1
4
1
12
L21 qt1 +
0
L2 qt2
4
0
0
L2 qt2
2
1
12
L22 qt2
1
12
L22 qt2
89
In[29]:=
0
0
0
0
0
0
OpContr =
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
In[31]:=
90
Out[34]//MatrixForm=
9 EI1
EA 1
L31
4 L1
3 EI1
L31
3 EI1
3 EI2
L32
L32
3 EI1
L31
3 EI 1
L31
4 L1
3 EI2
L22
3 EA2
EA2
4 L1
3 EI1
3 EI1
L21
4 EI1
L1
3 EI2
3 EI2
L22
L32
3 EA2
4 L2
L21
L21
L22
4 L1
3 EA1
3 EI1
3 EI2
3 EA1
4 L2
2 L2
EA2
4 L2
3 EA1
L21
9 EI2
EA2
3 EI2
L2
L22
3 EI2
3 EI2
L22
L32
2 EI2
3 EI2
L2
L22
L2
3 EA2
4 L2
2 L2
2 L2
EA2
L2
L22
2 EI2
3 EA2
3 EA2
3 EI2
0
+
2 L2
4 EI2
3 EI2
L22
0
4 EI2
L2
Out[35]//MatrixForm=
U4
U5
6
U8
U10
12
Out[36]//MatrixForm=
1
4
3 L1 qt1 +
1
4
3 L2 qt2
L1 qt1
4
1
12
L21 qt1 +
1
12
L22 qt2
L2 qt2
4
0
1
12
L22 qt2
Kcontr la (vera) matrice di rigidezza della struttura con i vincoli e non risulta
singolare ed definita positiva e quindi a determinante non nullo e positivo
In[37]:=
Det@Kcontr D
36 EA1 EA2 EI21 EI22
Out[37]=
L51 L52
91
qt1 = 5; qt2 = 6;
L1 = 300; L2 = 400;
EA1 = 2.1 106 64.34; EI 1 = 2.1 106 5410;
6
160 999.
192 834.
192 834.
339 047.
466 879.
378 700.
75 388. 87 596.3
0
0
466 879.
75 388.
87 596.3
378 700.
0
0
0
151 721.
175 193.
2.9106 107
109 148.
0
189 049.
2.9106 107
5.8212 107
109 148.
189 049.
0
Out[47]//MatrixForm=
975 3
375
42 500
600
0
80 000
MatrixForm @UcontrSOL D
Out[48]//MatrixForm=
1.26062
0.727819
0.0106945
21.7333
19.4519
0.0326831
Vettore non contratto degli spostamenti nel riferimento locale di ogni nodo.
In[49]:=
Out[51]=
0.
0.
0.
1.26062
0.727819
0.0106945
0.
21.7333
0.
19.4519
0.
0.0326831
In[57]:=
Out[57]=
19.4519
9.77494
0.0106945
19.4519
0.
0.0326831
92
4.1 Premessa
Si consideri un generico sistema di travi piane assemblate con nodi incastro relativi.
q3
F2
N7
N8
E8
E5
E4
H2
q2
q1
F1
N4
N5
N6
E7
E6
E1
H1
E3
E2
N1
N2
L1
N3
L2
x2
RIFERIMENTO GLOBALE
x1
Figura 4.1: Telaio costituito da travi assemblate con nodi incastri relativi.
Di seguito viene mostrato come sia possibile, applicando la teoria generale, ottenere
una soluzione esatta anzich approssimata. Ossia, si pu costruire uno spazio di
94
1
T
T
] [C ][ ] dS - [ q ] [u ] dS
[
S
2 S
0 0
N
EA
[ ] = [C ][ ] ; [ ] = T ; [ ] = ; [C ] = 0
M
0
0 EI
GAt
q
ou
0 ; [ q ] = q ; [u ] = v
[ ] = [C ][ ]
0
N
EA
; [ ] = ; [ ] = ; [C ] =
M
0 EI
qzu
; [ q ] = q v ; [u ] = .
95
=
vi vie cos e uie sen e
=
ui uie cos e + vie sin e
che vengono rappresentate nelle seguenti figure:
Figura 4.2: C ambio di riferimento fra il globale e il locale. Relazione tra lo spostamento del punto ( i) in
direzione (y) del riferimento ruotato ( vi ) e il campo di spostamento secondo il riferimento iniziale ( ui , vi ).
96
Figura 4.3: C ambio di riferimento fra il globale e il locale. Relazione tra lo spostamento del punto ( i) in
direzione (x) del riferimento ruotato ( ui ) e il campo di spostamento secondo il riferimento iniziale ( ui , vi ).
Le relazioni viste prima vengono rappresentate anche in forma matriciale nel modo
seguente:
u i cos
=
v i sin
sin ui
cos vi
cos
sin
0
Qe =
0
0
97
sin
cos
0
0
1
0
0
0
0
0
0
0 cos
0 sin
sin
cos
0
0
0
0
0
con la quale possiamo effettuare il cambio di riferimento della matrice di rigidezza dal
locale al globale. Se langolo = 0 il riferimento globale e locale coincidono.
98
C2 =
1 1
u1 u2
0
0
0
u62 0
u12
u22
u32
u42
u52
u13 u42
u52
u62
4
u73 u83 u93 u10
4 u4
u11
12
0
0
0
0
0 0 0 0 0 0 0 0 0 0 1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
come si pu vedere la matrice C2 lega gli spostamenti del primo nodo dellelemento con
gli spostamenti del nodo N2 nella numerazione globale e gli spostamenti del secondo
nodo dellelemento con gli spostamenti del nodo N4 nella numerazione globale.
a11
a12
a22
a32
a13
a
a12
.
a22
dimensione
[Cpre(2x3)].[A(3x3)].[Cpost(3x2)].
3x2
nella
postmoltiplicazione:
Aestr.(2x2)
99
matrice
a
Aestr. = 11
a21
a11
a21
a12
a22
a13
a23
che
moltiplicata
per
[Cpost]
restituisce
a12
.
a22
0 1 0
quindi moltiplicando [Cpre].[A] si ottiene la matrice seguente:
a11
1 0 0
. a21
0 1 0 a
31
a12
a22
a32
a13
a
a23 = 11
a
a33 21
a12
a22
a13
a23
1 0
Cpost = 0 1
0 0
a11
a21
a12
a22
1 0
a13
a11
.0 1=
a23
a21
0 0
a12
a22
100
sviluppo
di
una
procedura
che
si
presta
immediatamente
ad
101
spostamenti dei nodi cui fa capo. In particolare considerando lelemento finito e-esimo,
individuato dai nodi i e j, si ponga:
T
e
U e =u,uie ,v,v
ie ej ej ej .
i , ,
nodo i
nodo j
s e s e
u e ( s ) =
1
ui + u j
l
l
s2
s2
s3
s 2 s3
s3
v e ( s ) = 1 3 2 + 2 3 vie + s 2 + 2 ie + 3 2 2 3
l l
l
l
l
e s 2 s3
v j + + 2
l l
e
j
e (s) =
i +
u ej
l
s
s
s
6
4
6
2 6
e ( s )= 2 + 12 3 vie + + 6 2 ie + 2 12 3 v ej + + 2 ej .
l
l
l
l
l
l
l l
=
[ ] = [ D ][u ] = ds
2
0 - d v
ds 2
d
0
ds
[ D ] =
d2
0 - ds 2
d
ds
0
u
2
d v
- 2
ds
Euler - Bernoulli
102
du
ds
dv
[ ] = [ D ][u ] = + =
ds
d
ds
d
ds
[ D ] = 0
0
d
ds
0
d
ds
0
d
ds
0
0
u
1 v
d
ds
d
ds
Timoshenko
K e = e B e C e B e ds
S
Applicando le relazioni precedenti si ottiene la matrice di rigidezza:
EA
0
l
12EI
0
l3
6EI
0
l2
K e =
EA
0
l
12EI
- 3
0
l
6EI
0
l2
0
6EI
l2
4EI
l
0
6EI
l2
2EI
l
EA
l
0
0
EA
l
0
0
0
12EI
l3
6EI
- 2
l
0
12EI
l3
6EI
- 2
l
6EI
l2
2EI
l
6EI
- 2
l
4EI
l
103
Il carattere tilde ( ) , sopra la matrice di rigidezza dell elemento finito e, esprime che la
medesima valutata rispetto al riferimento locale. La matrice di rigidezza precedente ha
una struttura molto semplice, immediata e facilmente controllabile con le molte tecniche
strutturali manuali e, si costruisce in modo automatico per tutte le travi. Essa tuttavia
funzione delle componenti nel riferimento locale. Per ottenere unespressione utile
dellEPT in grado di contenere le incognite spostamenti globali (cio letti nel riferimento
generale) si deve effettuare il passaggio delle componenti di spostamento dal riferimento
globale al locale, ossia occorre esprimere le componenti di spostamenti nel riferimento
locale rispetto a quelle del riferimento globale:
e
uie cossin
0 e u ie
e
e
e
e
e
e
vi = -sin cos 0 v i u = Q u
ie 0
0
1 ie
essendo e langolo di inclinazione della retta ij, passante per i nodi individuanti l
elemento finito e.
La matrice di trasformazione globale del campo di spostamento completo
dellelemento finito :
Q e [0 ]
e
e
e
U e ,
U =
Q U =
[0 ] Q e
che consente di definire la matrice di rigidezza dellelemento finito e ed il vettore forze nel
riferimento globale:
T
K e =Q
e K e Q e
, f e = f e Q e .
104
numero
di
azioni
concentrate,
causerebbe
laumento,
altrettanto
105
106
una generica combinazione di carichi grazie allutilizzo delle funzioni singolari. Eseguito
tale passaggio per tutti gli elementi finiti, si proseguir con la ricerca della soluzione in
termini di parametri di libert nodali, che una volta noti risulteranno utili alla definizione
dei campi soluzioni sui singoli elementi finiti. Quanto appena detto valido non solo in
presenza di azioni esterne concentrate, ma anche in presenza di vincoli interni o di
discontinuit e/o variabilit dei valori delle rigidezze, siano essi dovuti ad una variazione
dellaltezza della sezione o ad una variazione delle caratteristiche di deformabilit
dellelemento. Si potrebbe a tal punto parlare di funzioni di forma con nuclei di singolarit.
Si faccia riferimento alla successiva figura:
Si supponga che tale elemento faccia parte di una generica struttura. Da quanto si
asserito in precedenza, in presenza di una generica combinazione di carichi, che per
semplicit formale si supposta composta da una singola forza, possibile ricavare la
funzione abbassamento, da cui tutti i rimanenti campi incogniti. Note le funzioni taglio e
momento, possibile valutare le azioni che la trave trasmette ai nodi attraverso la
determinazione delle funzioni taglio e momento in corrispondenza delle sezioni di
estremit della trave, tenendo opportunamente in considerazione i segni, in modo da
assemblare il vettore azioni nodali nel riferimento globale (si noti che la coppia (y,z) della
figura non rappresenta altro che un riferimento locale, non necessariamente coincidente
con quello globale). La funzione abbassamento risulta essere:
107
2 L2 PF z z 3 H ( PF z ) L + PF 3 H ( PF z ) L PF 3 L
F
v ( z ) =
.
2
2
2
3
3
6 LEI x 3PF zH ( PF z ) L + 3PF z H ( PF z ) L 3PF z L + PF z + zPF
e
F
un elemento finito con rigidezze variabili lungo lasse; un caso particolare sarebbe
una trave ad altezza variabile. Si fa notare che quando si utilizza il termine
variabile non si fatta alcuna ipotesi riguardo la continuit delle funzioni in esame,
in questo caso le rigidezze; ossia, possibile considerare le funzioni di rigidezza
variabili lungo lasse ma con la possibilit di contemplare in esse, la presenza di
discontinuit sulla funzione stessa e sulle derivate successive;
un elemento finito allinterno del quale siano presenti dei vincoli interni.
Queste tre condizioni enunciate, ovviamente, possono essere tra di loro combinate, s
108
[ K ][U ] =[ f ]
i valori dei parametri di libert nodali. Noti questi possibile analizzare, in una fase di
post-processing, ogni singolo elemento finito e ottenere lo spostamento come somma della
abbassamento dovuto alla presenza dei carichi, nel nostro caso della forza, con quello
dovuto ai cedimenti vincolari, ora noti. Nel caso in esame, in modo generale si ottiene:
vFe ( z ) =
2 L2 PF z z 3 H ( PF z ) L + PF 3 H ( PF z ) L PF 3 L
F
z2
z 2 z3
z2
z3
z 2 z3
z3
vei , vi ( z ) = 1 3 2 + 2 3 vie + z 2 + 2 ie + 3 2 2 3 v ej + + 2 ej
l
l
l
l
l
l
l
l
109
In[1]:=
Out[1]=
In[2]:=
Out[2]=
In[3]:=
Out[3]=
A = DSolve @8v '''' @zD 0, v@0D 1, v '@0D 0, v@LD 0, v '@LD 0<, v@zD, zD
::v@zD
L 3 3 L z 2 + 2 z3
L3
>>
Expand @H1D
1
3 z2
L2
2 z3
L3
H1 . z
H1 . z
HD@H1,
HD@H1,
Out[4]=
Out[5]=
Out[6]=
Out[7]=
0
L
zDL . z 0
zDL . z L
si inserisce una valore numerico per L per effettuare il grafico che eseguito per
l'asse delle ordinate verso l'alto. Per confrontarlo con il nostro riferimento della
trave occorre effettuare il simmetrico rispetto all'asse delle ascisse.
In[8]:=
L = 5;
In[9]:=
110
0.8
0.6
Out[9]=
0.4
0.2
In[10]:=
Quit @D;
A = DSolve @8v '''' @zD 0, v@0D 0, v '@0D 1, v@LD 0, v '@LD 0<, v@zD, zD
::v@zD
L2 z + 2 L z2 z3
L2
>>
H L z L2 z
L2
Expand @H1D
z +
2 z2
L
z3
L2
111
0
L
zDL . z 0
zDL . z L
0
0
1
0
10
Quit @D;
A = DSolve @8v '''' @zD 0, v@0D 0, v '@0D 0, v@LD 1, v '@LD 0<, v@zD, zD
::v@zD
3 L z2 2 z3
L3
>>
112
Expand @H2D
3 z2
L2
2 z3
L3
0
L
zDL . z 0
zDL . z L
0
1
0
0
10
-0.2
-0.4
-0.6
-0.8
-1.0
Quit @D;
113
A = DSolve @8v '''' @zD 0, v@0D 0, v '@0D 0, v@LD 0, v '@LD 1<, v@zD, zD
::v@zD
L z2 z3
L2
>>
Expand @H2D
z2
L
z3
L2
0
L
zDL . z 0
zDL . z L
0
0
0
1
10
-0.2
-0.4
-0.6
-0.8
-1.0
-1.2
-1.4
114
Quit @D;
A = DSolve @8v '''' @zD q EI, v@0D 0, v '@0D 0, v@LD 0, v '@LD 0<, v@zD, zD
::v@zD
L 2 q z 2 2 L q z 3 + q z4
24 EI
>>
L q z3
12 EI
q z4
24 EI
0
L
zDL . z 0
zDL . z L
0
0
0
0
-0.00004
-0.00006
-0.00008
115
4.8 Applicazioni
4.8.1
Gli elementi (1 2 3 4 5), cio i ritti, sono realizzati con profilato tipo HE 220A.
Gli elementi (6 7 8 ), cio i traversi, sono realizzati con profilato tipo IPE 200.
I nodi 1 e 2 sono incastri esterni, mentre, il nodo 3 una cerniera esterna.
I nodi dal numero 4 al numero 8 sono incastri relativi.
La Soluzione ottenuta per assemblaggio della matrice di rigidezza e del
vettore delle forze nodali.
Le condizioni al contorno sono inserite per imposizione di condizioni
omogenee (componenti di
spostamento nulle) utilizzando una matrice di contrazione.
In[267]:=
EA
L
12 EI
6 EI
L3
L2
6 EI
4 EI
L
Kloc =
L2
EA
L
0
12 EI
L3
6 EI
L2
EA
L
6 EI
L2
2 EI
L
12 EI
L3
L2
6 EI
2 EI
L
EA
L
12 EI
L3
L2
6 EI
L2
6 EI
6 EI
L2
4 EI
L
116
In[276]:=
Out[276]=
Out[277]=
Out[278]=
Out[279]=
Out[280]=
K1loc
K2loc
K3loc
K4loc
K5loc
K6loc
K7loc
K8loc
=
=
=
=
=
=
=
=
Kloc
Kloc
Kloc
Kloc
Kloc
Kloc
Kloc
Kloc
Row@8"K1loc
Row@8"K2loc
Row@8"K3loc
Row@8"K4loc
Row@8"K5loc
Row@8"K6loc
Row @8"K7loc
Row@8"K8loc
K1loc =
K2loc =
K3loc =
K4loc =
K5loc =
.
.
.
.
.
.
.
.
EA
EA
EA
EA
EA
EA
EA
EA
=",
=",
=",
=",
=",
=",
=",
=",
K1
K2
K3
K4
K5
K6
K7
K8
EA1
EA2
EA3
EA4
EA5
EA6
EA7
EA8
=
=
=
=
=
=
=
=
.
.
.
.
.
.
.
.
EI
EI
EI
EI
EI
EI
EI
EI
EI1
EI2
EI3
EI4
EI5
EI6
EI7
EI8
.
.
.
.
.
.
.
.
L
L
L
L
L
L
L
L
L1;
L2;
L3;
L4;
L5;
L6;
L7;
L8;
149 520.
0
0
765.056
0
153 011.
149 520.
0
0
765.056
0
153 011.
0
149 520.
0
153 011.
0
765.056
4.0803 107
0
153 011.
0
149 520.
0
153 011.
0
765.056
2.04015 107
0
153 011.
153 011.
2.04015 107
153 011.
4.0803 107
149 520.
0
0
765.056
0
153 011.
149 520.
0
0
765.056
0
153 011.
0
149 520.
0
153 011.
0
765.056
4.0803 107
0
153 011.
0
149 520.
0
153 011.
0
765.056
2.04015 107
0
153 011.
153 011.
2.04015 107
153 011.
4.0803 107
149 520.
0
0
765.056
0
153 011.
149 520.
0
0
765.056
0
153 011.
0
149 520.
0
153 011.
0
765.056
4.0803 107
0
153 011.
0
149 520.
0
153 011.
0
765.056
2.04015 107
0
153 011.
153 011.
2.04015 107
153 011.
4.0803 107
149 520.
0
0
765.056
0
153 011.
149 520.
0
0
765.056
0
153 011.
0
149 520.
0
153 011.
0
765.056
4.0803 107
0
153 011.
0
149 520.
0
153 011.
0
765.056
2.04015 107
0
153 011.
153 011.
2.04015 107
153 011.
4.0803 107
149 520.
0
0
765.056
0
153 011.
149 520.
0
0
765.056
0
153 011.
0
149 520.
0
153 011.
0
765.056
4.0803 107
0
153 011.
0
149 520.
0
153 011.
0
765.056
2.04015 107
0
153 011.
153 011.
2.04015 107
153 011.
4.0803 107
Out[281]=
Out[282]=
Out[283]=
K6loc =
K7loc =
K8loc =
117
149 520.
0
0
765.056
0
153 011.
149 520.
0
0
765.056
0
153 011.
0
149 520.
0
153 011.
0
765.056
4.0803 107
0
153 011.
0
149 520.
0
153 011.
0
765.056
2.04015 107
0
153 011.
153 011.
2.04015 107
153 011.
4.0803 10
149 520.
0
0
765.056
0
153 011.
149 520.
0
0
765.056
0
153 011.
0
149 520.
0
153 011.
0
765.056
4.0803 107
0
153 011.
0
149 520.
0
153 011.
0
765.056
2.04015 107
0
153 011.
153 011.
2.04015 107
153 011.
4.0803 107
149 520.
0
0
765.056
0
153 011.
149 520.
0
0
765.056
0
153 011.
0
149 520.
0
153 011.
0
765.056
4.0803 107
0
153 011.
0
149 520.
0
153 011.
0
765.056
2.04015 107
0
153 011.
153 011.
2.04015 107
153 011.
4.0803 107
In[285]:=
Cos@D
Sin@D
0
0
0
0
Q=
In[286]:=
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8
=
=
=
=
=
=
=
=
Q
Q
Q
Q
Q
Q
Q
Q
.
.
.
.
.
.
.
.
Sin@D
Cos@D
0
0
0
0
1;
2;
3;
4;
5;
6;
7;
8;
0
0
1
0
0
0
0
0
0
Cos@D
Sin@D
0
0
0
0
Sin@D
Cos@D
0
0
0
0
;
0
0
1
In[294]:=
Out[294]=
Out[295]=
Out[296]=
Out[297]=
Row@8"Q1
Row@8"Q3
Row@8"Q5
Row@8"Q7
",
",
",
",
Q1
Q3
Q5
Q7
Q1 =
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
Q3 =
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
Q5 =
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
Q7 =
1
0
0
0
0
0
=
=
=
=
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
MatrixForm,
MatrixForm,
MatrixForm,
MatrixForm,
0
0
0
0
1
0
";
";
";
";
118
=
=
=
=
"Q2
"Q4
"Q6
"Q8
0
0
0
; Q2 =
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0 0
0 0
0 0
1 0
0 0
0 1
0
0
0
1
0
0
0
0
0
; Q4 =
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0 0
0 0
0 0
1 0
0 0
0 1
0
0
0
1
0
0
0
0
0
; Q6 =
0
0
1
1
0
0
0
0
0
0
0
0
; Q8 =
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
",
",
",
",
0
0
0
1
0
0
0
0
0
0
1
0
Q2
Q4
Q6
Q8
",
",
",
",
0
0
0
0
1
0
MatrixForm
MatrixForm
MatrixForm
MatrixForm
<D
<D
<D
<D
0
0
0
0
0
1
0
0
0
0
0
1
In[306]:=
Out[306]=
K1g
K2g
K3g
K4g
K5g
K6g
K7g
K8g
=
=
=
=
=
=
=
=
Transpose @Q1D.K1loc.Q1;
Transpose @Q2D.K2loc.Q2;
Transpose@Q3D.K3loc.Q3;
Transpose@Q4D.K4loc.Q4;
Transpose@Q5D.K5loc.Q5;
Transpose @Q6D.K6loc.Q6;
Transpose @Q7D.K7loc.Q7;
Transpose @Q8D.K8loc.Q8;
Row@8"K1g
Row@8"K2g
Row@8"K3g
Row@8"K4g
Row@8"K5g
Row@8"K6g
Row@8"K7g
Row@8"K8g
K1g =
=",
=",
=",
=",
=",
=",
=",
=",
MatrixForm @K1gD<D
MatrixForm @K2gD<D
MatrixForm @K3gD<D
MatrixForm @K4gD<D
MatrixForm @K5gD<D
MatrixForm @K6gD<D
MatrixForm @K7gD<D
MatrixForm @K8gD<D
765.056
0.
0.
149 520.
153 011.
0.
765.056
0.
0.
149 520.
153 011.
0.
153 011.
765.056
0.
0.
0.
149 520.
4.0803 107
153 011.
0.
153 011.
765.056
0.
0.
0.
149 520.
2.04015 107
153 011.
0.
153 011.
0.
2.04015 107
153 011.
0.
4.0803 107
Out[307]=
Out[308]=
Out[309]=
Out[310]=
Out[311]=
Out[312]=
Out[313]=
K2g =
K3g =
K4g =
K5g =
K6g =
K7g =
K8g =
119
765.056
0.
0.
149 520.
153 011.
0.
765.056
0.
0.
149 520.
153 011.
0.
153 011.
765.056
0.
0.
0.
149 520.
4.0803 107
153 011.
0.
153 011.
765.056
0.
0.
0.
149 520.
2.04015 107
153 011.
0.
153 011.
0.
2.04015 107
153 011.
0.
4.0803 107
765.056
0.
0.
149 520.
153 011.
0.
765.056
0.
0.
149 520.
153 011.
0.
153 011.
765.056
0.
0.
0.
149 520.
4.0803 107
153 011.
0.
153 011.
765.056
0.
0.
0.
149 520.
2.04015 107
153 011.
0.
153 011.
0.
2.04015 107
153 011.
0.
4.0803 107
765.056
0.
0.
149 520.
153 011.
0.
765.056
0.
0.
149 520.
153 011.
0.
153 011.
765.056
0.
0.
0.
149 520.
4.0803 107
153 011.
0.
153 011.
765.056
0.
0.
0.
149 520.
2.04015 107
153 011.
0.
153 011.
0.
2.04015 107
153 011.
0.
4.0803 107
765.056
0.
0.
149 520.
153 011.
0.
765.056
0.
0.
149 520.
153 011.
0.
153 011.
765.056
0.
0.
0.
149 520.
4.0803 107
153 011.
0.
153 011.
765.056
0.
0.
0.
149 520.
2.04015 107
153 011.
0.
153 011.
0.
2.04015 107
153 011.
0.
4.0803 107
149 520.
0.
0.
765.056
0.
153 011.
149 520.
0.
0.
765.056
0.
153 011.
0.
149 520.
0.
153 011.
0.
765.056
4.0803 107
0.
153 011.
0.
149 520.
0.
153 011.
0.
765.056
2.04015 107
0.
153 011.
0.
153 011.
2.04015 107
0.
153 011.
4.0803 107
149 520.
0.
0.
765.056
0.
153 011.
149 520.
0.
0.
765.056
0.
153 011.
0.
149 520.
0.
153 011.
0.
765.056
4.0803 107
0.
153 011.
0.
149 520.
0.
153 011.
0.
765.056
2.04015 107
0.
153 011.
0.
153 011.
2.04015 107
0.
153 011.
4.0803 107
149 520.
0.
0.
765.056
0.
153 011.
149 520.
0.
0.
765.056
0.
153 011.
0.
149 520.
0.
153 011.
0.
765.056
4.0803 107
0.
153 011.
0.
149 520.
0.
153 011.
0.
765.056
2.04015 107
0.
153 011.
0.
153 011.
2.04015 107
0.
153 011.
4.0803 107
120
In[314]:=
C1 =
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
;
0
0
0
Grid @88, Row@8" N. 1 ", " N. 2 ", " N. 3 ", " N. 4 ", " N. 5 ",
" N. 6 ", " N. 7 ", " N. 8 "<D<,
8, Row@8"1", " 2", " 3", " 4", " 5", " 6", " 7", " 8", " 9", " 10",
" 11", " 12", " 13", " 14",
" 15", " 16", " 17", " 18", " 19", " 20", " 21", " 22",
" 23", " 24"<D<,
8Column @8"uloc11", "uloc12", "uloc13", "uloc21", "uloc22", "uloc23"<D,
MatrixForm @C1D<<D
N. 1
1
Out[315]=
In[316]:=
In[317]:=
uloc11
uloc12
uloc13
uloc21
uloc22
uloc23
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
N. 2
5
0
0
0
0
0
0
0
0
0
0
0
0
N. 3
0
0
0
0
0
0
0
0
0
0
0
0
N. 4
N. 5
N. 6
N. 7
N. 8
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
C2 =
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
;
0
0
0
C3 =
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
;
0
0
0
0
0
0
0
0
0
In[318]:=
In[319]:=
In[320]:=
In[321]:=
In[322]:=
121
C4 =
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
;
0
0
0
C5 =
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
;
0
0
1
C6 =
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
;
0
0
0
C7 =
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
;
0
0
0
C8 =
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
;
0
0
1
Si procede ora all' assemblaggio delle matrici di rigidezza dei singoli elementi
finiti per formare la matrice di rigidezza della struttura libera da vincoli.
La matrice di rigidezza globale cio dell'intera struttura una matrice (N nodi *
3)x (N nodi * 3), nel nostro caso 24x24.
In[323]:=
Singolarit della matrice di rigidezza globale del modello a elementi finiti (questa
matrice di rigidezza risulta semidefinita positiva per il moto rigido che le
consentito, poich non sono ancora assegnate le condizioni al contorno)
In[325]:=
Out[325]=
Det@KD
1.44822 1084
Vettori delle forze nodali applicate sui singoli nodi nel riferimento globale.
In[326]:=
VFA1 = 80, 0, 0<; VFA2 = 80, 0, 0<; VFA3 = 80, 0, 0<; VFA4 = 8F1, 0, 0<;
VFA5 = 80, 0, 0<; VFA6 = 80, 0, 0<; VFA7 = 8F2, 0, 0<; VFA8 = 80, 0, 0<;
122
Assemblaggio forze nodali applicate nei singoli nodi per otenere il vettore delle
forze nodali applicate per il modello a elementi finiti
In[328]:=
Out[328]=
VFA = Join @ VFA1, VFA2, VFA3, VFA4, VFA5, VFA6, VFA7, VFA8 D
80, 0, 0, 0, 0, 0, 0, 0, 0, F1, 0, 0, 0, 0, 0, 0, 0, 0, F2, 0, 0, 0, 0, 0<
Forze nodali equivalenti nel riferimento locale dei singoli elementi finiti
In[329]:=
F1loc
F2loc
F3loc
F4loc
F5loc
=
=
=
=
=
80,
80,
80,
80,
80,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
F6loc = :0,
q1 L6
F7loc = :0,
q2 L7
F8loc = :0,
q3 L8
0,
0,
0,
0,
0,
,
0,
0,
0,
0,
0,
0< ;
0< ;
0<;
0<;
0<;
q1 L62
, 0,
12
,
q2 L7
q1 L6
2
2
, 0,
12
q3 L82
q2 L7
12
,
2
q3 L8
q1 L62
q2 L7
>;
>;
12
q3 L82
>;
2
12
2
12
F7loc =", MatrixForm @F7loc D,
Row@8"F6loc =", MatrixForm @F6loc D, "
"
F8loc =", MatrixForm @F8loc D<D
Out[337]=
F6loc =
, 0,
1
L6 H5L1
2
1
L62 H5L1
12
1
L7 H5L2
2
1
L72 H5L2
12
1
L8 H5L3
2
1
L82 H5L3
12
0
1
2
L6 H5L1
1
12
F7loc =
L6 H5L1
F8loc =
1
2
L7 H5L2
1
2
1
12
1
12
L82 H5L3
L7 H5L2
L8 H5L3
vettori forze nodali equivalenti del nodo trasferite dal riferimento locale
al riferimento globale
In[338]:=
In[346]:=
Out[346]=
F1g
F2g
F3g
F4g
F5g
F6g
F7g
F8g
=
=
=
=
=
=
=
=
Transpose @Q1D.F1loc;
Transpose @Q2D.F2loc;
Transpose@Q3D.F3loc;
Transpose@Q4D.F4loc;
Transpose@Q5D.F5loc;
Transpose @Q6D.F6loc;
Transpose @Q7D.F7loc;
Transpose @Q8D.F8loc;
F6loc =
1
L6 H5L1
2
1
L62 H5L1
12
1
L7 H5L2
2
1
L72 H5L2
12
1
L8 H5L3
2
1
L82 H5L3
12
0
1
2
L6 H5L1
1
12
L6 H5L1
F7loc =
F8loc =
1
2
L7 H5L2
1
2
1
12
1
L82 H5L3
12
L7 H5L2
L8 H5L3
123
Assemblaggio forze nodali equivalenti dei singoli elementi finiti per otenere il
vettore forza nodale equivalente del modello a elementi finiti
In[347]:=
Per ottenere il vettore delle forze nodali necessario per la risoluzione del problema
basta sommare il vettore delle forze applicate VFA con il vettore delle forze nodali
equivalenti VFE
In[348]:=
F = VFA + VFE;
MatrixForm @FD;
U = 8U1, U2, 3, U4, U5, 6, U7, U8, 9, U10, U11, 12, U13, U14, 15,
U16, U17, 18, U19, U20, 21, U22, U23, 24 <;
In[351]:=
OpContr =
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
;
0
0
0
0
0
0
0
1
In[352]:=
Out[356]=
124
Ucontratto =
9
U10
U11
12
U13
U14
15
U16
U17
18
U19
U20
21
U22
U23
24
0
F1
1
L6 H5L1
2
1
L62 H5L1
12
0
1
2
L6 H5L1 +
1
12
1
2
L7 H5L2
L6 H5L1 +
1
12
L72 H5L2
0
Fcontratto =
1
2
L7 H5L2
1
12 L72 H5L2
F2
1
L8 H5L3
2
1
L82 H5L3
12
0
1
2
L8 H5L3
1
12
L82 H5L3
RITTI;
L1 = L2 = L3 = L4 = L5 = H = 300;
EA1 = EA2 = EA3 = EA4 = EA5 = 2.1 106 64.34;
EI1 = EI2 = EI3 = EI4 = EI5 = 2.1 106 5410;
TRAVERSI;
L6 = L7 = L8 = 400;
EA6 = EA7 = EA8 = 2.1 106 28.5;
EI6 = EI7 = EI8 = 2.1 106 1943;
CARICHI;
q1 = q2 = q3 = 5;
FORZE;
F1 = F2 = 100;
125
Kcontr la (vera) matrice di rigidezza della struttura con i vincoli e non risulta
singolare ed definita positiva e quindi a determinante non nullo e positivo.
In[369]:=
Out[369]=
Det@Kcontr D
9.1599 1094
In[373]:=
Ucontr = OpContr.U;
Fcontr = OpContr.F;
MatrixForm @Kcontr D;
Cced = Inverse @Kcontr D;
MatrixForm @Cced D;
MatrixForm @Kcontr D;
UcontrSOL = Cced.Fcontr;
MatrixForm @UcontrSOL D
Out[378]//MatrixForm=
0.00118103
0.194092
0.0115938
0.000810685
0.194463
0.0221621
0.000521649
0.19375
0.00637254
0.000908926
0.445615
0.0178089
0.00130335
0.44407
0.0293232
0.000783581
126
Out[381]=
0.
0.
0.
0.
0.
0.
0.
0.
0.00118103
0.194092
0.0115938
0.000810685
0.194463
0.0221621
0.000521649
0.19375
0.00637254
0.000908926
0.445615
0.0178089
0.00130335
0.44407
0.0293232
0.000783581
Dal vettore USOLgl otteniamo il vettore degli spostamenti per ogni elemento nel
riferimento globele grazie alle matrici di connessione e quello degli spostamenti
nel rifierimento locale grazie alla matrice di rotazione.
In[614]:=
Ueloc MatrixForm
Out[618]//MatrixForm=
0.
0.
0.
0.00407889
0.00702914
0.0504978
0.0513767
0.144202
0.
0.
0.
0.0504978
0.0513767
0.00407889
0.00702914
0.00616211
0.
0.
0.000427789
0.000363638
0.000312404
0.000363638
0.000312404
0.000593582
0.00407889
0.00702914
0.00221405
0.00702914
0.00221405
0.144202
0.141849
0.141849
0.0504978
0.0513767
0.0500549
0.0513767
0.0500549
0.00616211
0.00938663
0.00938663
0.000363638
0.000312404
0.000355029
0.000312404
0.000355029
0.000593582
0.000173812
0.000173812
127
dei
diagrammi
delle
sollecitazioni
si
128
2DD;
5DD;
3DD;
6DD;
129
130
131
Deformata elastica
132
5.1 Premessa
Questi appunti sono scritti per introdurre alluso del software Mathematica, utilissimo
strumento per il calcolo analitico.
Ulteriori approfondimenti si possono trovare consultando il manuale ufficiale The
Mathematica Book di Stephen Wolfram, vivamente consigliato a chi vuole conoscere
tutto ci che Mathematica capace di fare. The M athematica B ook interamente
disponibile on line nellHelp Browser.
Mathematica scritto in linguaggio C, in grado di svolgere calcoli numerici e
simbolici. Il calcolo numerico un qualsiasi calcolo il cui risultato un numero. Il calcolo
simbolico un calcolo il cui risultato pu essere un formula, ad esempio (a + b)2 il cui
risultato (a2 + 2ab + b2).
Mathematica in grado di: risolvere sistemi lineari, equazioni algebriche, integrali
numerici, integrali indefiniti, limiti, derivate e non solo; manipolare liste di dati e di
produrre grafici in due o tre dimensioni che si possono esportare in vari formati ad esempio
Pdf, Excel, Word, Jpg ecc. E inoltre possibile scrivere veri e propri programmi in
linguaggio Mathematica con una sintassi molto simile al C++ oppure usare Matematica
come word processor per scrivere testi in cui compaiono tabelle, formule, grafici etc.
134
135
136
Real (numeri reali approssimati che si distinguono dagli interi per la presenza di un
punto, per esempio 123. ;
Complex (numeri complessi nella forma (a + b I). Con I si denota lunit
immaginaria tale che I2 = -1).
Una sequenza finita di caratteri, racchiusi da un doppio apice, una stringa (String).
Incontreremo spesso liste (List) di oggetti cio una successione ordinata e finita di
elementi (numeri, stringhe, simboli) racchiusi tra { } e separati da una virgola.
lista = {a, 4, ssss, ciao}
lista[[1]] (* estraggo il primo elemento della lista *)
a
lista [[2]] (* estraggo il secondo elemento della lista *)
4
Il testo racchiuso tra (* *) rappresenta i commenti inseriti nelle celle che quindi non
vengono elaborati.
137
Di solito i calcoli algebrici non vengono sviluppati, a meno che non glielo chiediamo
esplicitamente, per esempio, con il comando //Expand
(x-y)^5
(x-y) (x+y)
(x-y)^5//Expand
x5-5 x4 y+10 x3 y2-10 x2 y3+5 x y4-y5
(x-y) (x+y)//Expand
x2-y2
138
f[3]
3^2 = 9
0.5
0.5
1.0
139
1.0
0.5
0.5
1.0
0.5
1.0
0.5
0.5
1.0
0.5
1.0
Per ottenere scale di rappresentazione diverse per i due assi si imposta lopzione
grafica AspectRatio 1, per avere la stessa scala si imposta AspectRatio Automatic , per
esempio,
ParametricPlot[{Sin[t],Cos[t]},{t,0,2 Pi},AspectRatio-> 1/2]
140
1.0
0.5
1.0
0.5
0.5
1.0
0.5
1.0
Per il comando Plot esistono diverse opzioni che possono essere impostate come
stato fatto per lopzione AspectRatio. Di seguito si riportano alcune delle opzioni
disponibili con una breve descrizione degli effetti:
Frame: serve a disegnare una cornice intorno al grafico .Pu essere impostata
su (True o False);
AxesOrigin: specifica che gli assi si incontrino nel punto di coordinate {xo,
yo};
141
seguente esempio si creano due grafici plot1 e plot2 che saranno poi visualizzati insieme
con il comando Show.
plot1=Plot[Sin[x],{x,-Pi/2,Pi/2];
plot2=Plot[ArcSin[x],{x,-1,1}];
Show[{plot1,plot2}]
1.0
0.5
1.5
1.0
0.5
0.5
1.0
1.5
0.5
1.0
Questo comando molto utile nel nostro campo quando si vogliono disegnare le
deformate di due o pi tratti in un unico grafico. Di seguito si riportano solo i diagrammi
dellesercizio1 presentato nel Capitolo 1.
Diagramma degli spostamenti del primo tratto:
Plot1=Plot[-v1, {z,0,L}]
0.025
0.020
0.015
0.010
0.005
100
200
300
400
500
100
200
300
142
400
500
0.05
0.10
0.15
0.20
0.25
0.30
Ora per unire i due diagrammi in un solo disegno si deve prima traslare il secondo
lungo lasse delle x di una quantit pari alla lunghezza del primo tratto (cio di 500),
questo passaggio e stato effettuato cambiando la variabile (z) nella legge (v2) come segue:
z=f-500;
700
800
900
1000
0.05
0.10
0.15
0.20
0.25
0.30
143
200
400
600
800
1000
1200
0.1
0.2
0.3
0.4
1
{-1,0,1/2, 2 }
Sqrt[lista]
{1,
2 , 3 ,2}
Pu essere utile imparare a manipolare gli elementi di una lista. Se abbiamo una lista
possiamo facilmente aggiungere un oggetto alla fine o allinizio della lista con i comandi
Append[lista, e lem] e Prepend[lista, e lem] . Questi comandi non modificano la lista
iniziale.
lista={1,2,3,4}
Append[lista, 5]
144
{1,2,3,4,5}
Prepend[lista, 5]
{5,1,2,3,4}
145
Inset[lista,10, 3]
lista
{1,23,10,2,6,5}
146
5.8 Matrici
Dato che una lista pu contenere altre liste, rappresentiamo una matrice come una lista di
liste ovvero una matrice e rappresentata come la lista delle sue righe:
m = {{a,b},{c,d}} (* m una matrice 2x2 *)
m // MatrixForm
a b
c d
Il comando MatrixForm serve a rappresentare la matrice nella forma tradizionale.
Per creare le matrici si pu usare il comando Table[ ] , per esempio, se vogliamo
costruire una matrice 3x2 si pu procedere nel seguente modo:
m1 = Table[{i, i+1}, {i, 3}]
{{1,2},{2,3},{3,4}}
147
m.v
{a*x +b*y, c*x +d*y}
Nel caso di equazioni con parametri, devo specificare rispetto a quali variabili
risolviamo l'equazione:
Solve[a*x +b*y ==0, y]
Solve[a*x +b*y ==0, x]
Solo con il comando solve si possono risolvere equazioni non algebriche come:
Solve[Log[Sqrt[x]]== Sqrt[Log[x]], x]
148
Bisogna fare attenzione perch a volte compare un messaggio che ci avvisa che
stiamo perdendo delle soluzioni oppure che Mathematica non riesce a trovare le soluzioni.
Una possibile alternativa per ottenere le soluzioni usare il comando FindRoot[ ]
che cerca, usando il metodo delle tangenti di Newton, una soluzione numerica
dellequazione di partenza partendo dallapprossimazione x = xo. Questo comando trova al
pi una radice e converge solo se xo vicino a una soluzione.
149
y
4
pi
If
incapsulati
oppure
si
usa
la
funzione
1.0
0.5
0.5
1.0
1.5
2.0
150
151
For[t=1,t<19,t*=2,Print[t]]
1
2
4
8
16
mentre t allinterno del comando Module una variabile locale che pu essere
trattata indipendentemente della variabile globale t:
Module[{t}, t=25; t]
25
Il modo in cui Module lavora molto semplice: ogni volta che si richiama il
comando, ad ogni variabile locale associato un nome della forma nome variabile locale
seguito da $ e seguito da un numero identificativo cio x$nn. Quindi x variabile globale e
x$nn variabile locale sono variabile distinte.
152
153
In realt non importante che la funzione si chiami f o che largomento, che verr di
volta in volta sostituito, si chiami x. Lunica cosa che importa la regola elevato al cubo.
In alcuni casi pu essere utile definire funzioni usando una sintassi leggermente diversa da
quella usata fino ad ora cio usando la funzioni pure. Cos una funzione pura?
Per esempio Cos una funzione pura laddove Cos[a] calcola la funzione pura in a.
Un primo metodo indicare la funzione con Function[x,body] se funzione di una
variabile e Function[{x,y,},body] se funzione di pi variabili.
Quindi la funzione :
Cos[x]+Sin[x]
diventa:
Function[x,Cos[x]+Sin[x]]
Questo modo di definire funzioni pu essere utile se, ad esempio, la funzione deve
essere usata solo una volta e non necessario darle un nom. Se serve richiamarla pi volte
si pu definire nel modo seguente:
154
f[x_]:= Function[x,Cos[x]+Sin[x]]
e richiamata poi:
f[x]
f[5]
Un altro modo di definire funzioni pure, pi semplice sia da scrivere che da leggere,
quello di definire funzioni dove largomento sostituito dal simbolo #. Se ci sono pi
variabili, queste sono indicate con #1, #2 e cos via. La fine della definizione seguita da
& cio body &. Per esempio la funzione x^2 definita come:
#^2&
la calcolo in 5:
#^2&[5]
e la disegno:
Plot[#^2&[x], {x, -2, 2}]
5.16 Derivate
Il comando per calcolare la derivata prima di f(x) rispetto a x D[f[x], x] oppure f[x]. Per
calcolare la derivata di ordine n il comando D[f[x],{x, n}] oppure D[f[x],{x,x}]. Se f
una funzione di pi variabili, f(x1,.,xn), la derivata parziale si calcola con il comando
D[f[x1,,xn],{x1,n1,,xn,nn}].
f[x_]:= Cos[x];
D[f[x], {x,1}]
(*derivata prima*)
D[f[x], {x,2}]
(*derivata seconda*)
D[f[x], {x,3}]
(*derivata terza*)
f[x]
(*derivata prima*)
f[x]
(*derivata seconda*)
f[x]
(*derivata terza*)
155
5.17 Integrali
Il comando Integrate[f[x], x] calcola
f ( x)dx
Ogni simbolo diverso dalla variabile di integrazione viene trattato come una costante.
Mathematica conosce molte funzioni e quindi in grado di calcolare un gran numero
di integrali, ma non sempre cos. Il comando Integrate calcola una primitiva esattamente,
esprimendola eventualmente in termini di funzioni speciali.
Integrate[Cos[Sin[x]], x]
f ( x)dx
b}].
Integrate[x^3 Cos[x], {x, 0, 4Pi}]
Oppure per il calcolo di integrali doppi estesi a domini normali si usa il comando
Integrate[ f[x], {x, a, b}, {y, c, d} ]. Attenzione allordine con cui si scrive {x,a,b},{y,c,d}.
b
Calcoliamo dx f ( x, y )dy :
Integrate[f[x, y], {x, a, b}, {y, c, d}]
d
Calcoliamo dy f ( x, y )dx :
Integrate[f[x, y], {y, c, d}, {x, a, b}]
156
5.19 Grafici 2D
Abbiamo fino ad ora incontrato i comandi Plot, ParametricPlot, e ListPlot per disegnare
grafici bidimensionali. Vediamo ora com possibile creare immagini anche in modo
diverso.
Mathematica rappresenta tutti i grafici in termini di insieme di primitive grafiche. Le
primitive grafiche sono oggetti astratti nel senso che contengono le istruzioni per costruire
limmagine stessa. Per trasformare una primitiva grafica in un oggetto grafico si usa il
157
Line[{{x1, y1}, {xn, yn}}]: rappresenta una linea che unisce i punti {x1,
y1},, {xn, yn};
globali
allintero
grafico,
si
possono
indicare
in
Show
cio
158
linea tratteggiata
t1=Graphics[Text["triangolo vuoto",{1/2,1}]];
g1=Graphics[Line[{{0,0},{1,0},{1/2,2},{0,0}}]];
159
1.5
1.0
triangolo vuoto
0.5
0.2
0.4
0.6
0.8
1.0
I grafici possono essere salvati su file per poi essere esportati in un altro testo. Per
salvare un grafico in formato PDF sufficiente selezionare il grafico e scegliere nel men
File>Print Selection e poi Save as PDF. Per salvare il grafico in un formato specifico si
usa il comando Export[file,Expr,formato] che esporta dati numerici, grafici e suoni
convertendoli nel formato scelto.
Export["sinplot2.gif", g, "GIF"] (*salva in formato grafico GIF*)
Export["sinplot2.EPS", g, "EPS"] (*salva in formato EPS*)
Export["sinplot2.PDF", g, "PDF"] (*salva in formato PDF*)
Export["sinplot2.PICT", g, "PICT"] (*salva in formato PICT*)
5.20 Grafici 3D
Le funzioni di una variabile se rappresentano come curve nel piano. Le funzioni f(x,y) si
visualizzano come superfici nello spazio. Per fare questo Mathematica ha
diversi
160
Plot3D[Sin[x+Sin[y]],{x,-5,5},{y,-5,5}]
Lopzione PlotRange- > {a,b} mostra la parte di grafico con a<z<b. Se vogliamo
essere sicuri di visualizzare tutto il grafico scegliamo PlotRange - > All.
Possiamo dare un nome agli assi con il comando AzesLabel- > {nome1,
nome2,nome3}.
Possiamo ridisegnare il grafico da un altro punto di vista con lopzione VewPoint - >
{x0, y0, z0} .
AspectRatio - > r : analoga allopzione vista nel caso 2D;
161
CreateDialog[{TextCell["Click OK to close"],DefaultButton[]}];
162
MessageDialog["text"];
ChoiceDialog["Make a choice..."]
Button["Click Here",Print[10!]]
Click Here
163
{Checkbox[Dynamic[x]],Dynamic[x]}
Vediamo come si realizza una piccola interfaccia per eseguire una semplice
operazione:
CreateDialog[Grid[{
{
TextCell["INSERIMENTO DATI"],SpanFromLeft
},
{
Spacer[30],TextCell["base"],Spacer[10],
InputField[Dynamic[b],Number,FieldSize->{3,1},
Background-> White],Spacer[30]
},
{
Spacer[30],TextCell["altezza"],Spacer[10],
InputField[Dynamic[a],Number,FieldSize->{3,1},
Background-> White],Spacer[30]
},
{
Button["calcola",{area=b*a}],SpanFromLeft
},
{
Spacer[30],TextCell["area"],Spacer[10],
164
InputField[Dynamic[area],Number,FieldSize->{3,1},
Background-> White],Spacer[30]
}
}],WindowTitle-> "AREA DEL QUADRATO"]
In questo piccolo esempio sono stati usati altri comandi come Grid[] che realizza una
griglia nella quale verranno posizionati gli oggetti, TextCell[expr] che rappresenta una
casella di testo in sola lettura, Spacer[10] che inserisce uno spazio vuoto tra due oggetti,
SpanFromLeft che serve ad unire le celle della griglia.
Esistono moti altri oggetti di controllo come: Manipulate, SlideView, Slider2D,
Locator, LocatorPane etc. che ci consentono di realizzare delle interfacce molto avanzate.
Mathematica mette a disposizione anche dei comandi che riconoscono le azioni del
mouse come: MousePosition (restituisce la posizione del mouse in termini di coordinate),
Mouseover (esegue unazione quando il mouse si trova sopra loggetto specificato),
EventHandler (riconosce diversi tipi di comandi MouseOver, MouseDown,
MouseClicked etc).
Anche in questo caso per ulteriori approfondimenti si consiglia di consultare il
manuale ufficiale The Mathematica Book.
6.1 Premessa
Il programma D-FEM una semplice applicazione scritta in Mathematica capace di
risolvere strutture intelaiate (frame) o strutture reticolari (truss) applicando, in modo
automatico, il metodo agli elementi finiti, metodo di cui si gi parlato nei capitoli 3 e 4.
In questa versione possibile, per ora, inerire elementi finiti con caratteristiche meccaniche
costanti.
Il programma stato strutturato nella maniera moderna di composizione di un codice
di calcolo agli elementi finiti. Le fasi informatiche elaborate sono: preprocessor, solution e
postprocessor.
I risultati del calcolo sono gli spostamenti nodali e i diagrammi delle sollecitazioni
che vengono visualizzati a video e possono essere esportati, in file Excel, dxf per Autocad
o immagini jpg.
La struttura da risolvere pu essere generata (preprocessing) in differenti modi: 1)
automaticamente scegliendo alcuni parametri geometrici richiesti mediante un menu
interattivo, 2) importata mediante un file dxf, 3) costruita con un file testo .txt e 4)
modellata impiegando linterfaccia grafica del programma.
166
I file che costituiscono il modello nella completezza del preprocessing sono dei file
testo .txt, contenenti la geometria, i carichi e i vincoli della struttura, che si possono
agevolmente aprire e modificare in qualsiasi momento con un comune editor di testo.
La finestra dotata degli elementi standard di Windows: barra del titolo, barra dei
men, barra dei pulsanti, area di lavoro, barra di stato. Inoltre si ha a disposizione una barra
per lo zoom, due slidebar e la funzione pan attivata cliccando con il tasto destro del mouse
sullarea di lavoro.
167
dalla quale possiamo creare un nuovo modello strutturale costituito da: 1) un progetto
vuoto
da
implementare
successivamente
in
varie
modalit
come
accennato
Nella scelta Vuoto larea di lavoro non visualizza nulla ma vengono inizializzate tutte le
variabili che dovranno contenere i dati del problema e possiamo compiere due scelte:
disegnare la struttura in modalit interattiva utilizzando il mouse oppure importare la
struttura da un file .dxf.
Disegnare il modello strutturale a mano: per disegnare gli elementi geometrici della
struttura dal menu del programma D-FEM cliccare Modifica>inserisci elemento che apre
la seguente finestra:
168
in cui si inseriscono manualmente le coordinate dei due nodi componenti lasta generica
oppure, se sono presenti altri nodi precedentemente creati, possiamo assegnare al nuovo
elemento due nodi gi esistenti. Una volta inserite le coordinate cliccando sul pulsante
Inserisci lelemento verr aggiunto alla struttura senza chiudere la finestra onde procede
con linserimento di un nuovo elemento asta iterando la procedura. Cliccando sul pulsante
Fatto si chiuder la finestra.
Importare il modello strutturale da file .dxf : per importare la geometria del modello
strutturale da un file .dxf cliccare File>importa.dxf che apre la seguente finestra:
169
in cui possiamo selezionare la directory e quindi il file .dxf desiderato. Nella foto sopra si
scelto di importare il file telaio.dxf. Per completare loperazione cliccare sul pulsante Apri
che chiude la finestra di importazione file. A questo punto limportazione terminata e
sullarea di lavoro verr visualizzata la struttura importata:
Si nota che con questa opzione possibile costruire modelli strutturali di telai con forme
generiche e quindi con tratti inclinati, differenti piani di imposta dei vincoli, tratti diagonali
etc.
6.3.2
Nella scelta Frame si avvia una procedura guidata (Wizard) per la realizzazione del telaio.
Questa procedura richiede limmissione dei dati attraverso una serie di finestre, la prima
la seguente
170
in cui si inseriscono le altezze dei vari piani in (cm), di default verr impostata una altezza
di 300 cm.
Cliccando ancora sul pulsante inserisci si apre la finestra sotto
in cui si inseriscono le larghezze delle varie campate in (cm), di default verr impostata
una larghezza di 400 cm.
Cliccando nuovamente sul pulsante inserisci la procedura automatica di realizzazione del
telaio pu costruire sia gli elementi geometrici sia gli elementi grafici che caratterizzano la
struttura. Inoltre verranno automaticamente assegnati e visualizzati i numeri dei nodi
globali (N.i) e il numero degli elementi (E.i).
A questo punto la procedura automatica terminata e sullarea di lavoro verr
visualizzata la struttura creata:
6.3.3
171
Nella scelta Truss si avvier una procedura guidata (Wizard) per la realizzazione di una
struttura reticolare. Questa procedura richiede limmissione dei dati attraverso la seguente
finestra:
172
173
Supponiamo inoltre di voler aggiungere un altro piano sulla prima campata e magari
inserire qualche balcone, quindi dal menu cliccare Modifica>inserisci elemento che apre la
seguente finestra:
dopo aver inserito tutti gli elementi che vogliamo con la stessa procedura illustrata nel
paragrafo 6.3.1 clicchiamo il pulsante Fatto che chiude la finestra di inserimento elementi
e aggiorna larea di lavoro. Nel nostro caso il risultato ottenuto il seguente:
174
in cui possiamo, selezionare il nodo da modificare cliccando sulle frecce in alto, digitando
il numero del nodo manualmente oppure cliccando con il mouse direttamente sul nodo,
leggere il valore delle coordinate attuali, inserire il valore delle nuove coordinate, cliccare
sul pulsante Modifica che applica le modifiche e le visualizza aggiornando lare di lavoro
oppure cliccare sul pulsante Annulla che chiude la finestra senza applicare le modifiche.
Nel nostro caso il risultato il seguente:
175
Se un progetto non mai stato salvato sulla barra del titolo compare D-FEM File senza
nome
176
Assegnare i vincoli.
Una volta definito il modello strutturale bisogna assegnare i vincoli che garantiscono
lequilibrio. Per assegnare un vincolo ad un nodo dal menu del programma D-FEM
cliccare Assegna>nodo vincolo che apre la seguente finestra:
in cui possiamo selezionare il nodo cliccando sulle frecce in alto, inserendo il numero del
nodo manualmente oppure cliccando con il mouse sul nodo stesso. Il nodo selezionato
viene evidenziato con un punto di colore rosso come si mostra dalla seguente foto:
Clicchiamo sullelenco a discesa (il pulsante con la freccia nera rivolta verso il basso) per
scegliere il tipo di vincolo da assegnare:
177
una volta selezionato il vincolo clicchiamo sul pulsante prosegui che chiude la finestra per
linserimento dei vincoli e aggiorna larea di lavoro che visualizza il vincolo assegnato.
Nellimmagine seguente sono stati assegnati ai nodi 1, 3 e 7 i vincoli incastro, cerniera e
carrelloy :
6.6.2
178
179
chiaro che si possono inserire tutte le sezione dei profilati che si trovano in commercio
oppure creare sezioni personalizzate come nel caso del calcestruzzo. Dopo aver selezionato
la sezione desiderata clicchiamo sul pulsante prosegui che chiude la finestra e aggiorna
larea di lavoro che visualizza il nome della nuova sezione in corrispondenza dellelemento
modificato.
6.6.3 Inserire le forze concentrate nodali.
Per applicare delle forze concentrate ad un nodo dal menu del programma D-FEM
clicchiamo Assegna>nodo forze che apre la seguente finestra:
180
anche in questo caso il nodo pu essere selezionato con le stesse modalit viste per
lassegnazione dei vincoli. Una volta selezionato il nodo possiamo inserire, una forza
agente in direzione x (FX), una forza agente in direzione y (FY) e una coppia agente in
direzione z (MZ) digitando nelle rispettive caselle di testo lintensit in (kg) (le forze
vengono inserite secondo il riferimento globale). Clicchiamo il tasto prosegui che chiude la
finestra per linserimento delle forze e aggiorna larea di lavoro che visualizza le forze
inserite.
Nellimmagine seguente stata assegnata ai nodi 2, 5 e 10 una forza orizzontale (FX) di
intensit pari a 100 kg:
6.6.4
181
Per applicare un carico distribuito a un elemento dal menu del programma D-FEM
clicchiamo Assegna>tratto carico che apre la seguente finestra:
gli elementi possono essere selezionati con le stesse modalit viste per lassegnazione della
seione. Possiamo assegnare carichi distribuiti agenti in direzione x (qx) o in direzione y
(qy) oppure coppie distribuite (qz) digitando nella rispettive caselle di testo lintensit del
carico in (kg/cm) (i carichi distribuiti vengono inseriti secondo il riferimento globale).
Clicchiamo il pulsante prosegui che chiude la finestra di inserimento carichi e aggiorna
larea di lavoro che visualizza i carichi inseriti.
Nellimmagine seguente ad ogni traverso stato applicato un carico distribuito (qy) di
intensit pari a -5kg/m:
182
183
184
in cui possiamo inserire i valori manualmente oppure lasciare i valori calcolati in modo
automatico.
Per visualizzare i vari oggetti clicchiamo dal menu Visualizza che apre il seguente
menu a tendina:
185
questi strumenti sono utili per avere un rapido riscontro sulle dimensioni del modello
strutturale.
Se il modello strutturale complesso come il seguente:
186
conviene visualizzare solo gli oggetti che ci interessano onde evitare di appesantire
graficamente il modello.
Nascondiamo le etichette delle sezioni e degli elementi. Clicchiamo dal menu
Visualizza e deselezioniamo le checkbox E t_sezioni e Et_elememti ottenendo il seguente
risultato:
187
188
189
RISOLUTORE TRUSS
Si riporta la funzione contenente l'algoritmo che consente la risoluzione del
problema automatizzando il metodo agli elementi finiti.
risolutoretelai @numelem1_ , numnodi1_ D :=
ModuleB8numelem = numelem1, numnodi = numnodi1<,
H*creazione della matrice di rigidezza e della matrice di rotazione dell' elemento iesimo *L
ForBi = 1, i numelem , i ++,
:Mcon = Table@0, 8i, 6<, 8j, 3 numnodi<D,
EA = VEAEI@@i, 1DD, EI = VEAEI@@i, 2DD, l = VL@@iDD,
EA
l
12 EI
6 EI
l3
l2
6 EI
4 EI
l
EA
l
6 EI
l2
12 EI
l3
Keloc =
l2
EA
l
0
0
12 EI
l3
6 EI
l2
EA
l
0
2 EI
l
12 EI
l3
l2
6 EI
2 EI
l
l2
6 EI
6 EI
l2
6 EI
l2
4 EI
l
VKeloc@@iDD = Keloc,
R = VR@@iDD,
Qe =
Cos@RD
Sin@RD
0
0
0
0
Sin@RD
Cos@RD
0
0
0
0
0
0
1
0
0
0
0
0
0
Cos@RD
Sin@RD
0
0
0
0
Sin@RD
Cos@RD
0
0
0
0
,
0
0
1
VQe@@iDD = Qe,
H*costruzione della matrice di connettivit dell'elemento iesimo*L
For@n = 1, n 2, n ++,
8nod = elempoint @@i, nDD,
ind = Hnod 1L 3 + 1,
>F;
190
191
192
dalla quale si ottengono gli spostamenti nodali nel riferimento globale che ci consentono di
definire tutte le funzioni da noi ricercate e che vedremo nella fase di postprocessor.
Allinterno della funzione stato predisposto un controllo sulla labilit della
struttura, pi precisamente, si valuta il determinante della matrice di rigidezza globale
contratta e se questo uguale a 0 il programma ci avvisa con un messaggio che la
struttura labile e contemporaneamente arresta la funzione. Questo controllo non ci
consente di risolvere strutture labili in equilibrio ma solo strutture isostatiche o
iperstatiche.
193
se i valori delle reazioni sono poco leggibili possiamo effettuare uno zoom f inestra
ottenendo il seguente risultato:
6.11.2 Deformata.
Per visualizzare la deformata cinematica clicchiamo sul pulsante DEF CINEMATICA che
attiva la seguente vista:
194
Per visualizzare la deformata elastica clicchiamo sul pulsante DEF ELASTICA che
attiva la seguente vista:
in cui possiamo leggere sia il valore dello spostamento in direzione x e y sia la rotazione
effettuata dal nodo.
195
6.11.3 Diagrammi.
I diagrammi delle sollecitazioni sono stati tracciati considerando la seguente convenzione
sui segni:
+
Forze e
Momenti
+
Trazione, Taglio e Momento flettente
in cui possiamo vedere il diagramma del momento flettente di ogni elemento tracciato in
rosso quando le fibre tese si trovano dal lato delle y positive nel riferimento locale e in
verde quando le fibre tese si trovano dal lato delle y negative nel riferimento locale.
196
Per visualizzare il diagramma del taglio clicchiamo sul pulsante TAGLIO che attiva
la seguente vista:
in cui possiamo vedere il diagramma del taglio di ogni elemento tracciato in rosso per i
valori negativi e in verde per i valori positivi.
Per visualizzare i diagrammi dello sforzo normale clicchiamo sul pulsante
NORMALE che attiva la seguente vista:
197
in cui possiamo vedere il diagramma dello sforzo normale di ogni elemento tracciato in
rosso se negativo e in verde se positivo.
Se i diagrammi in alcuni punti non sono visibili clicchiamo dal menu
Impostazioni>scala diagrammi che apre la seguente finestra:
198
6.11.4 Animazione.
Per visualizzare lanimazione della deformata clicchiamo sul pulsante ANIMAZIONE che
apre la seguente finestra:
in cui inseriamo il valore minimo e massimo del moltiplicatore dei carichi orizzontali e il
valore dellincremento del moltiplicatore, minore lincremento inserito e migliore la
qualit dellanimazione. Per creare lanimazione stato utilizzato un ciclo For[] che per
ogni ciclo incrementa di 0.5 il moltiplicatore, esegue lanalisi della struttura e salva in un
vettore i valori della deformata ottenuta, fino a quando questo non uguale a 2. Dopo aver
salvato tutte le deformate calcolate queste verranno visualizzate in sequenza generando
lanimazione in una finestra secondaria.
199
che contiene un foglio per ogni sollecitazione pi un foglio per gli spostamenti nodali. I
fogli delle sollecitazioni sono strutturati nel seguente modo:
200
in cui per ogni elemento troviamo una colonna (x) delle ascisse e una colonna (M)
contenente i valori della sollecitazione corrispondente. Il foglio degli spostamenti nodali
il seguente:
dove troviamo lelenco dei nodi nella numerazione globale e con i rispettivi valori dello
spostamento.
Per esportare i diagrammi delle sollecitazioni in formato .dxf clicchiamo dal menu
Espota>dxf che crea nella stessa directory dove si trova il file esempio t elaio.txt i
seguenti file: esempio te laio DEFORMATA.dxf; esempio t elaio MOMENTO.dxf;
esempio t elaio SFORZO N ORMALE.dxf; esempio t elaio TAGLIO.dxf; come si vede
dalla seguente figura:
201
202
203
204
205
206
750 kg
500 kg
400 kg
700 kg
200 kg
2U 160
TUB(88.9x3.6)
500 kg
TUB(60.3x3.6)
700 kg
150 kg
200 cm
500 kg
500 kg
200 kg
150 kg
200 kg
150 kg
100 cm
1000 cm
207
dopo aver importato il modello procediamo con lassegnazione dei carichi e delle sezioni.
Modello strutturale dal programma D-FEM:
208
Deformata elastica:
209
210
8 kg/cm
10 kg/cm
150 cm
20 kg/cm
200 cm
150 cm
10 kg/cm
LEGENDA
Sezioni elementi
4 kg/cm
IPE 160
IPE 180
HEA 160
300 cm
HEA 180
5 kg/cm
400 cm
200 cm
400 cm
211
Il telati stato disegnato con il software Autocad e poi importato nel programma
D-FEM ottenendo dio seguente risultato:
dopo aver importato il modello procediamo con lassegnazione dei carichi e delle sezioni.
Modello strutturale dal programma D-FEM:
212
Deformata elastica:
213
Conclusioni
Obiettivo preposto.
Lobiettivo di questa tesi stato quello di applicare le multivoche e potenti capacit del
software Mathematica per la realizzazione di un programma di calcolo strutturale, basato
sul Metodo agli Elementi Finiti, dedicato alla risoluzione di strutture Frame o Truss in 2D.
Nella fase di programmazione dellalgoritmo, necessario alla risoluzione delle
strutture, si da subito evidenziata la facilit con la quale si riesce a creare e a manipolare
sia vettori che matrici. Questi ultimi sono gli elementi base del metodo utilizzato, FEM, ma
soprattutto sono elementi che si prestano bene alla realizzazione di procedure cicliche.
Nella realizzazione dellinterfaccia si potuto far riferimento ad unampia libreria di
oggetti grafici, messi a disposizione da Mathematica, che hanno semplificato in modo
notevole le varie operazioni di compilazione.
Molte funzioni sono state aggiunte, rimosse o adattate al fine di migliorare e
semplificare le procedure di calcolo ed il sistema per linserimento dei dati da parte
dellutente per la caratterizzazione del modello strutturale.
Gli obiettivi prefissati sono stati raggiunti con relativa semplicit grazie alle ampie
possibilit della procedural programming insite nel software Mathematica e al suo help
online ricco di esempi necessari alla migliore comprensione delle possibilit offerte.
Conclusioni
215
Sviluppi possibili.
Lapplicazione realizzata potrebbe essere migliorata ampliando le capacit attuali. Per
esempio si potrebbero realizzare nuove funzioni per: inserimento di elementi a sezione
variabile; inserimento di carichi variabili; inserimento di vincoli inclinati; inserimento di
vincoli interni misti; inserimento di diverse condizioni di carico. Si potrebbe inoltre
estendere lapplicazione al caso di telai 3D.
Inoltre possibile lestensione al calcolo elasto-plastico dei telai (step-by-step
procedure) procedendo ad un ciclo di calcoli elastici modificando la struttura quando in
una o pi sezioni si crea una cerniera plastica.
Il programma D-FEM attualmente funziona solo in ambiente Mathematica quindi
non un software eseguibile autonomamente.
Mathematica mette a disposizione dei sottoprogrammi, detti Add-on, che gli
consentono di interagire con altri ambienti di programmazione come il C, il Java, il
.NET ed altri ancora. Grazie a questi sottoprogrammi si potrebbe trasformare il
programma realizzato in un file .exe quindi eseguibile in qualsiasi computer anche se
sprovvisto del software Mathematica.
Bibliografia
Riferimenti bibliografici
Cook R. D., Finite element for stress analysis, John Wiley & Sons., 1995;
Nunziante L., Tralli A., Gambarotta L., Scienza de lle c ostruzioni, McGraw-Hill
Companies, 2007;
Wolfram S., The Mathematica book, Wolfram Media, Inc., USA, 2009 ;
Trott M., The Mathematica GuideBook for Symbolics, Springer, USA, 2005;
Trott M., The Mathematica GuideBook for Numerics, Springer, USA, 2005;
Trott M., The Mathematica GuideBook for Programming, Springer, USA, 2004;
Trott M., The Mathematica GuideBook for Graphics, Springer, USA, 2004;
Viola E., Fondamenti di analisi matriciale delle strutture, Pitagora, Bologna, 1996;
Wolfram S., A new kind of science, Wolfram Media, Inc., USA, 2002;
Bibliografia
217
ication: w ith
Mathematica and Matlab computations, John Wiley & Sons., New Jersey 2005;
Bhatti M. A., Advanced t opics i n finite e lement anal ysis of s tructures: with
Mathematica and Matlab computations, John Wiley & Sons., New Jersey 2006;