Sei sulla pagina 1di 11

UNIVERSITÀ DEGLI STUDI DI PALERMO

INGEGNERIA DEI SISTEMI EDILIZI


CORSO DI STRUCTURAL MODELING

ESERCITAZIONE N.1
CONFRONTO RISOLUZIONE TRAVE RETICOLARE TRA
EXCEL E CALFEM (MATLAB)

ELABORATO DI : PROF: GIUSEPPE GIAMBANCO

Di Nardo Leonardo Adam ING: MARIANNA PUCCIA

ANNO ACCADEMICO 2021/2022

1
Sommario
1. RISOLUZIONE TRAVE RETICOLARE IN EXCE .......................................................................................... 3
2. RISOLUZIONE TRAVE RETICOLARE IN CALFEM .................................................................................... 8
3. OSSERVAZIONI .................................................................................................................................................. 11

2
1. RISOLUZIONE TRAVE RETICOLARE IN EXCE

DATI
L= 3000 mm
A= 523 mm2
P= -50000 N
E= 210000 Mpa

N.nodi= 6
N.elementi= 8
cos(45°)= sen(45°)= 0,707

elementi lung. vers. VETTORE SPOSTAMENTO u suddiviso in VETTORE DELLE


12 = 4243 e1 spost. Freedom uf e spost. Costrain uc DEFORMAZIONI q
23 = 3000 e2
13 = 3000 e3 u= u1x uf = u1x q= q1
24 = 3000 e4 u1y u1y q2
34 = 4243 e5 u2x u2x q3
35 = 6000 e6 u2y u2y q4
45 = 4243 e7 u3x u3x q5
46 = 3000 e8 u3y u3y q6
u4x u4x q7
u4y u4y q8
u5x
u5y uc = u5x = 0
u6x u5y 0
u6y u6x 0
u6y 0

Da un punto di vista cinematio vale la relazione q=Cu, dove C è la matrice di compatibilità cinematica la quale mette in
relazione i versori (e) dei vari elementi (8) con i possibili spostamenti virtuali dei nodi corrispondenti (6) in x e y rispetto il
sistema di riferimento globale (=>12), considerando i versori entranti nel nodo positivi e uscenti dal nodo negativo ( e il
quadrante di appartenenza), avremo una matrice [8x12] cosi fatta:

-
C= -(-e1x) -(-e1y) -(+e1x) (+e1y) 0 0 0 0 0 0 0 0
+(- NOTA: i segni sono
0 0 0 e2y) 0 +(+e2y) 0 0 0 0 0 0 esplicitati come segno
+(- dentro parentesi
e3x) 0 0 0 +(+e3x) 0 0 0 0 0 0 0 dovuto alla definizione
di versore e segno
0 0 +(-e4x) 0 0 0 +(+e4x) 0 0 0 0 0 fuori parentesi
- - dovuto al quadrante
0 0 0 0 -(-e5x) -(-e5y) (+e5x) (+e5y) 0 0 0 0 di appartenenza del
0 0 0 0 +(-e6x) 0 0 0 +(+e6x) 0 0 0 versore.
+(-
0 0 0 0 0 0 -(-e7x) e7y) +(-e7x) +(+e7y) 0 0
-
0 0 0 0 0 0 (+e8x) 0 0 0 +(+e8x) 0

C= 0,707 0,707 -0,71 -0,71 0 0 0 0 0 0 0 0


0 0 0 -1 0 1 0 0 0 0 0 0
-1 0 0 0 1 0 0 0 0 0 0 0
0 0 -1 0 0 0 1 0 0 0 0 0
0 0 0 0 0,707 0,707 -0,71 -0,71 0 0 0 0

3
0 0 0 0 -1 0 0 0 1 0 0 0
0 0 0 0 0 0 0,707 -0,71 -0,71 0,707 0 0
0 0 0 0 0 0 -1 0 0 0 1 0

Dal Principio degli Spostamenti Virtuali (anche detto ''identità fondamentale della meccanica''), passiamo da:
δq = C δu --> F = CT Q --> Q = (CT)−1F eq. di equilibrio
in cui F è il vettore delle forze esterne e Q è il vettore delle forze interne.

Q= N1 F= F1 F f= F1 = -50000
N2 F2 F2 0
N3 F3 F3 0
N4 F4 F4 0
N5 F5
N6 F6 Fc=R= F5
N7 F6
N8

Si può dire che se CT :


è una matrice quadrata -- > sistema isostatico;
è rettangolare alta --> sistema labile;
è rettangolare bassa --> sistema iperstatico.
Ma poichè il suo det = 0, oppure non è quadrata (a causa del fatto che non abbiamo tenuto in conto le condizioni di
vincolo esterno). --> MATRICE NON INVERTIBILE.

Si introduce allora il modello elastico costitutivo dei materiali :

e quindi l'equazione a livello matriciale sarà: Q=ϕq=ϕCu


e sostituendo nell'equazione di equilibrio otteniamo: F = CT ϕ C u = k u
che nel nostro sistema di elementi fornirà la matrice ϕ definita come segue:

E1A1 ϕ è la matrice che


ϕ = L1 0 0 0 0 0 0 0 contiene il modello
E2A2 costitutivo di ogni
0 L2 0 0 0 0 0 0 asta nella diagonale
E3A3 principale
0 0 L3 0 0 0 0 0
E4A4
0 0 0 L4 0 0 0 0
E5A5
0 0 0 0 L5 0 0 0
E6A6
0 0 0 0 0 L6 0 0
E7A7
0 0 0 0 0 0 L7 0
E8A8
0 0 0 0 0 0 0 L8

ϕ = 25885
0 0 0 0 0 0 0
0 36606 0 0 0 0 0 0
0 0 36606 0 0 0 0 0
0 0 0 36606 0 0 0 0
0 0 0 0 25885 0 0 0

4
0 0 0 0 0 18303 0 0
0 0 0 0 0 0 25885 0
0 0 0 0 0 0 0 36606

e k sarà dunque: CT ϕ C = k

CT= 0,7071 0 -1 0 0 0 0 0
12X8 0,7071 0 0 0 0 0 0 0
-
0,7071 0 0 -1 0 0 0 0
-
0,7071 -1 0 0 0 0 0 0
0 0 1 0 0,7071 -1 0 0
0 1 0 0 0,7071 0 0 0
0 0 0 1 -0,7071 0 0,7071 -1
-
0 0 0 0 -0,7071 0 0,7071 0
-
0 0 0 0 0 1 0,7071 0
0 0 0 0 0 0 0,7071 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0

CT*ϕ= 18303 0 -36606 0 0 0 0 0


12X8 18303 0 0 0 0 0 0 0
-18303 0 0 -36606 0 0 0 0
-18303 -36606 0 0 0 0 0 0
0 0 36606 0 18303 -18303 0 0
0 36606 0 0 18303 0 0 0
0 0 0 36606 -18303 0 18303 -36606
0 0 0 0 -18303 0 -18303 0
0 0 0 0 0 18303 -18303 0
0 0 0 0 0 0 18303 0
0 0 0 0 0 0 0 36606
0 0 0 0 0 0 0 0

in cui la matrice di rigidezza k vale =


-
CT ϕ C = k = 49548,8 12942,3 -12942,3 12942,3 -36606,5 0 0 0 0 0 0 0
-
12X12 12942,3 12942,3 -12942,3 12942,3 0 0 0 0 0 0 0 0
- - -
12942,3 12942,3 49548,8 12942,3 0 0 36606,5 0 0 0 0 0
- - -
12942,3 12942,3 12942,3 49548,8 0 36606,5 0 0 0 0 0 0
- - -
36606,5 0 0 0 67852 12942,3 12942,3 12942,3 -18303,2 0 0 0
- - -
0 0 0 36606,5 12942,3 49548,8 12942,3 12942,3 0 0 0 0
- -
0 0 -36606,5 0 -12942,3 12942,3 99097,6 0 -12942,3 12942,3 36606,5 0
- -
0 0 0 0 -12942,3 12942,3 0 25884,7 12942,3 12942,3 0 0
- -
0 0 0 0 -18303,2 0 12942,312942,3 31245,6 12942,3 0 0
-
0 0 0 0 0 0 12942,3 12942,3 -12942,3 12942,3 0 0
-
0 0 0 0 0 0 36606,5 0 0 0 36606,5 0
0 0 0 0 0 0 0 0 0 0 0 0

5
Dove si può notare che avendo definito il nome dei vincoli esterni per ultimi (5,6) allora gli ultimi elementi della
matrice di rigidezza evidenziati in blu forniranno proprio la sottomatrice kcc.

Abbiamo dunque :

Gli
spostamenti
valgono:

-
kff-1= 8E-05 0,0001 1E-21 -5E-05 5E-05 -5E-05 -9E-22 0 Ff= F1x = 0
-
0,0001 0,0008 0,0001 0,0005 -0,0001 0,0004 8E-05 0,0002 F1y -50000
0 0,0001 5E-05 5E-05 0 5E-05 3E-05 3E-05 F2x 0
-5E-05 0,0005 5E-05 0,0003 -5E-05 0,0003 5E-05 0,0001 F2y 0
-
5E-05 0,0001 2E-21 -5E-05 5E-05 -5E-05 2E-21 0 F3x 0
-5E-05 0,0004 5E-05 0,0003 -5E-05 0,0003 5E-05 0,0001 F3y 0
0 8E-05 3E-05 5E-05 0 5E-05 3E-05 3E-05 F4x 0
0 0,0002 3E-05 0,0001 0 0,0001 3E-05 0,0001 F4y 0

kfc= 0 0 0 0 uc= u5x = 0


0 0 0 0 u5y 0
0 0 0 0 u6x 0
0 0 0 0 u6y 0
-18303 0 0 0
0 0 0 0
-12942 12942 -36606 0
12942 -12942 0 0

kfcuc= 0 --> Spostamenti uf= u1x = 6,8294 --> u= 6,8294


- -
0 u1y 38,907 38,907
- -
0 u2x 5,4635 5,4635
- -
0 u2y 22,751 22,751
0 u3x 5,4635 5,4635
- -
0 u3y 21,385 21,385
- -
0 u4x 4,0976 4,0976
- -
0 u4y 7,9609 7,9609
0
0
0
0

Le reazioni vincolari : 𝐑 = 𝐅𝐜 = 𝑲𝒄𝒇 𝒖𝒇 + 𝑲𝒄𝒄 𝒖𝒄

6
-
kcf= 0 0 0 0 -18303 0 -12942 12942 kcfuf= 150000 kccuc= 0
0 0 0 0 0 0 12942 -12942 50000
0 0 0 0 0 0 -36606 0 150000
0 0 0 0 0 0 0 0 0
#N/D
#N/D
#N/D
segue che : #N/D

𝐅𝐜 = 𝑲𝒄𝒇 𝒖𝒇 + 𝑲𝒄𝒄 𝒖𝒄 = -
F5x = 150000 segue R=Fc
F5y 50000
F6x 150000
F6y 0

Volendo calcolare le deformazioni da q=Cu:

Deformazioni aste in [mm]


6
q= q1 = -2,73176
q2 1,36588
4
q3 -1,36588
q4 1,36588 2
q5 -2,73176
q6 -5,46352 0
q7 2,73176 1 2 3 4 5 6 7 8
q8 4,09764 -2

-4

-6

Verifiche di equilibrio globale:


VERIFICA
Eq. Di eq. :

trasl.x) = F5x+F6x= 0

trasl.y) = F5y+P= 0

rot. in 5) = P*3L-R6x*L= 0

7
2. RISOLUZIONE TRAVE RETICOLARE IN CALFEM
Il codice di calcolo è il seguente:

clc
clear all
%----- MATRICE TOPOLOGICA -------%
Edof=[1 1 2 3 4;
2 3 4 5 6;
3 1 2 5 6;
4 3 4 7 8;
5 5 6 7 8;
6 5 6 11 12;
7 7 8 11 12;
8 7 8 9 10;]
%----- INIZZIALIZZAZIONE MATRICE DI RIGIDEZZA ELASTICA E, VETTORI CARICO f --------%
ndof=12;
K=zeros(ndof); f=zeros(ndof,1);
%CARICO P APPLICATO NEL NODO 1
f(1,1)=0; %Newton
f(2,1)=-50000;
%----- ELEMENTI DELLA MATRICE DI RIGIDEZZA ---------%
E=210000; %N/mm^2
A=523; %mm^2
ep=[E A];
L=3000; %mm
ex=[3*L 2*L;
2*L 2*L;
3*L 2*L;
2*L L;
2*L L;
2*L 0;
L 0;
L 0];
%---coordinate x di inizio e fine nodo di ogni elemento
ey=[L 0;
0 L;
L L;
0 0;
L 0;
L L;
0 L;
0 0];
%---coordinate y di inizio e fine nodo di ogni elemento
n_element=size(Edof,1);

for i=1:n_element
b(i,:)=[ex(i,2)-ex(i,1),ey(i,2)-ey(i,1)]; %(serve solo a costruire la matrice delle lunghezze)
Lung(i,:)=[0,sqrt(b(i,:)*b(i,:)')]; %lunghezza di ogni elemento
end
%---- VALUTAZIONE DELLA MATRICE DI RIGIDEZZA E PROCEDURA DI ASSEMBLAGGIO---- %
for i=1:n_element
Ke=bar2e(ex(i,:),ey(i,:),ep);
K=assem(Edof(i,:),K,Ke);
end
%----- RISOLUZIONE SISTEMA DI EQUILIBRIO E CALCOLO REAZIONI R E SPOSTAMENTI u ------%
bc=[9 0;10 0;11 0;12 0];
[u,R]=solveq(K,f,bc)
%----- VALUTAZIONE DEGLI SPOSTAMENTI DEGLI ELEMENTI ------%
ed=extract(Edof,u);

8
%----- CALCOLO SFORZO NORMALE ------%
for i=1:n_element
N(i,:)=bar2s(ex(i,:),ey(i,:),ep,ed(i,:));
end
N=[N,N]; %STESSO VALORE DI SFORZO NORMALE PER IL NODO INIZIALE E FINALE DI OGNI ELEMENTO

%----- DISEGNO DELLA DEFORMAZIONE DEL TELAIO ---------------------------------------


figure(1)
plotpar=[2 1 0];
hold on
for i=1:n_element
eldraw2(ex(i,:),ey(i,:),plotpar);
end
sfac=scalfact2(ex(1,:),ey(1,:),ed(1,:),0.3);
plotpar2=[1 2 0];
for i=1:n_element
eldisp2(ex(i,:),ey(i,:),ed(i,:),plotpar2,sfac);
end
axis([-200 10000 -800 4000]);
pltscalb2(sfac,[6 100 350]);
title('Spostamenti')
%------DISEGNO DIAGRAMMA DELLO SFORZO NORMALE --------------------------------
figure(2)
plotpar=[2 1];

sfac=scalfact2(ex(1,:),ey(1,:),N(1,:),0.1);
for i=1:n_element
eldia2(ex(i,:),ey(i,:),N(i,:)',plotpar,sfac,Lung(i,:)');
end
axis([-200 10000 -800 4000]);
pltscalb2(sfac,[6 100 300]); %kN
title('Sforzo Normale')

Si ottengono dunque i seguenti spostamenti espressi in [mm]:


u= 6.82873531821907
-38.9036893939341
-5.46298825457525
-22.7490497807872
5.46298825457525
-21.3833027171434
-4.09724119093144
-7.96015723128406
0
0
0
0

9
Mentre le reazioni vincolari espresse in [N] sono le seguenti:
R= 0 cioè praticamente R = 0 = 0
-5.82076609134674e-11 0 0
1.16415321826935e-10 0 0
1.16415321826935e-10 0 0
2.91038304567337e-11 0 0
5.82076609134674e-11 0 0
-1.16415321826935e-10 0 0
-2.91038304567337e-11 0 0
150000.000000000 150000.00 F6x
0 0 F6y
-150000.000000000 -150000.00 F5x
50000.0000000000 50000.00 F5y

Lo sforzo normale espresso in [N] è il seguente:


N= -70710.67 -70710.67
50000.00 50000.00
50000.00 50000.00
-49999.99 -49999.99
-70710.67 -70710.67
100000.00 100000.00
70710.67 70710.67
-150000.00 -150000.00

10
3. OSSERVAZIONI

La risoluzione della trave reticolare risulta essere molto più laboriosa in excel. Questo perché bisogna definire punto
per punto le operazioni da svolgere e quindi più tempo per l’elaborazione dei dati.
Calfem automatizza la maggior parte dei processi di calcolo consentendo cosi di diminuire i tempi di lavoro. Un altro
notevole vantaggio è che una volta definito un ‘’sistema’’ di calcolo lo si può estendere a più casi riportando il
problema all’assegnazione della geometria e dei carichi agenti sul sistema.
In termini di risultati si hanno praticamente gli stessi valori.

11

Potrebbero piacerti anche