x
1
y
φ
φ
x
13 10
Calola lo stato solltazo utlzzao φ
l too agl lt ft 11 8
x
12 9
y
L’obiettivo di questa prima parte è il calcolo degli spostamenti globali e delle reazioni vincolari della struttura
considerata. A tal fine occorre, innanzitutto, calcolare le matrici di rigidezza, di rotazione e il vettore dei cari hi
per ciascun elemento, espressi nel sistema di riferimento locale di ognuno.
cosα senα 0 0 0 0
EA 0 0 EA 0 0
− -senα cosα 0 0 0 0
l l
0 0 1 0 0 0
R(i) = 0 0 0 cosα senα 0
0 12EI 6EI 0 12EI 6EI
− − −
l³ l² l³ l² 0 0 0 -senα cosα 0
0 0 0 0 0 1
La matrice di rigidezza globale ed il vettore dei carichi globale sono stati ottenuti attraverso le seguenti
formule:
3 3
𝑖 𝑇 𝑖 𝑇 𝑖 𝑖 𝑖 Fglobale = 𝐴 𝑖 𝑇 ∗𝑅 𝑖 𝑇 ∗𝑓 𝑖
K globale = 𝐴 ∗𝑅 ∗𝐾 ∗𝑅 ∗𝐴
𝑖=1 𝑖=1
Il calcolo degli spostamenti della struttura prevede la risoluzione del seguente sistema:
K ff K fc Uf
= Fglobale + R
K cf K cc Uc
Poiché la matrice Kglobale è una matrice simmetrica e, pertanto, non invertibile in quanto singolare, si è
proceduto alla parzializzazione della stessa e all’individuazione della Kff, associata agli spostamenti liberi e,
pertanto, invertibile. Gli spostamenti liberi della struttura sono stati, pertanto, calcolati con la seguente formula:
Uf = Kff-1Ff
Il vettore degli spostamenti totale nel sistema di riferimento globale è ottenuto aggiungendo ad Uf la
componente nulla in corrispondenza dei cinque spostamenti vincolati. Si è proceduto, infine, al calcolo delle
reazioni vincolari.
R = Kglobale*Uglobale - Fglobale
%--Input Data--%
E=21000; %kN/cm^2
H=450; %cm
B=389.7; %cm
A(1)=38.77; %cm^2
I(1)=1673; %cm^4
A(2)=16.43; %cm^2
I(2)=541.2; %cm^4
A(3)=38.77; %cm^2
I(3)=1673; %cm^4
beta=atand(H/(2*B));
%--Load element--%
eq(1,:)=[0,0];
eq(2,:)=[0,0.08]; %kN/cm
eq(3,:)=[0,0];
%--Nodal coordinates--%
ex(1,:)=[0,0];
ex(2,:)=[0,B];
ex(3,:)=[B,B];
ey(1,:)=[0,H];
ey(2,:)=[H,3*H/2];
ey(3,:)=[3*H/2,0];
1
R(:,:,1)=ltogrotationmatrix(-90);
R(:,:,2)=ltogrotationmatrix(-beta);
R(:,:,3)=ltogrotationmatrix(90);
for i=1:3
Kglob(:,:,i)=((R(:,:,i))'*K(:,:,i)*R(:,:,i));
end;
for i=1:3
t(i,:)=Edof(i,2:n)
end;
for i=1:3
Ktot(t(i,:),t(i,:))=Ktot(t(i,:),t(i,:))+Kglob(:,:,i)
end
%--Load vector--%
for i=1:3
lv(:,i)=loadvector(eq(i,:),R(:,:,i),L(i,:));
end
for i=1:3
Ftot(t(i,:),1)=Ftot(t(i,:),1)+lv(:,i);
end
Uf=inv(Ktot(fdof,fdof))*Ftot(fdof,1);
U(fdof)=Uf;
U(cdof)=cd
Reaz=(Ktot*U)-Ftot
%--verify equilibrium--%
SumX=Reaz(11)+Reaz(8)+(0.08*L(2,:)*sind(beta))
SumY=Reaz(12)+Reaz(9)+(0.08*L(2,:)*cosd(beta))
2
Rot=Reaz(13)+Reaz(10)-(Reaz(9)*B)-((0.08*L(2,:)*sind(beta))*5*H/4)-
((0.08*L(2,:)*cosd(beta))*B/2)
3
function [K] = localstiffnessmatrix(E,A,I,L)
%Fornisce la matrice di rigidezza di ciascun elemento espressa nel
sistema
%di riferimento locale
K=[E*A/L,0,0,-E*A/L,0,0;
0,(12*E*I)/(L^3),(-6*E*I)/(L^2),0,(-12*E*I)/(L^3),(-6*E*I)/(L^2);
0,(-6*E*I)/(L^2),(4*E*I)/L,0,(6*E*I)/(L^2),(2*E*I)/L;
-E*A/L,0,0,E*A/L,0,0;
0,(-12*E*I)/(L^3),(6*E*I)/(L^2),0,(12*E*I)/(L^3),(6*E*I)/(L^2);
0,(-6*E*I)/(L^2),(2*E*I)/L,0,(6*E*I)/(L^2),(4*E*I)/L];
end
1
function [R] = ltogrotationmatrix(alpha)
%Fornisce la matrice di rotazione per ogni elemento dal sistema di
%riferimento locale a quello globale
R = [cosd(alpha),sind(alpha),0,0,0,0;
-sind(alpha),cosd(alpha),0,0,0,0;
0,0,1,0,0,0;
0,0,0,cosd(alpha),sind(alpha),0;
0,0,0,-sind(alpha),cosd(alpha),0;
0,0,0,0,0,1];
end
1
function [lv] = loadvector(eq,R,L)
%Fornisce il vettore dei carichi nel sistema di riferimento globale
lv_aux = [eq(1)*L/2;
eq(2)*L/2;
-eq(2)*(L^2)/12;
eq(1)*L/2;
eq(2)*L/2;
eq(2)*(L^2)/12];
lv = R'*lv_aux;
end