Anteprima
Vedrai una selezione di 3 pagine su 6
Algoritmo Matlab assemblaggio Matrici K M Pag. 1 Algoritmo Matlab assemblaggio Matrici K M Pag. 2
Anteprima di 3 pagg. su 6.
Scarica il documento per vederlo tutto.
Algoritmo Matlab assemblaggio Matrici K M Pag. 6
1 su 6
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Condensazione Statica - analisi ad un solo telaio

%Estendibile a Simmetric Plan Building(al posto di Kstruct, metto la somma delle

matrici laterali dei telai)

%necessaria condensazione statica se sono inclusi i gradi di libertà rotazionali

per Kstruct

%massa [m(x)=m]

m=50000; %Kg

%lunghezza

L=3.50; %m

%modulo - sezione

E=2060000000; %KPa

% b=0.3; %m

% h=0.6; %m

I= 0.0006;

%A=b*h/12;

zita=0.05;

%nodi - o X Y sistema di riferimento assoluto su un incastro

nodo(1).x=0;

nodo(1).y=0;

nodo(1).vinc=1;

nodo(2).x=2*L;

nodo(2).y=0;

nodo(2).vinc=1;

nodo(3).x=0;

nodo(3).y=L;

nodo(4).x=2*L;

nodo(4).y=L;

nodo(5).x=0;

nodo(5).y=2*L;

nodo(6).x=2*L;

nodo(6).y=2*L;

nodo(7).x=0;

nodo(7).y=3*L;

nodo(8).x=2*L;

nodo(8).y=3*L;

%aste 0 - x(asse trave) - y sistema locale

asta(1).nodoi=1;

asta(1).nodoj=3;

asta(1).massa=0;

asta(1).L=L;

asta(1).E=E;

asta(1).I=I;

%asta(1).A=A;

asta(1).dof=[0 0 1 4]; % ordinati mettendo a sx nodo i e destra nodo j,

zero equivale a nodo fermo; il nodo j ha gli stessi spost. del nodo del telaio e

quindi assumerà gli stessi dof_telaio

asta(1).trasl=0;

asta(2).nodoi=4;

asta(2).nodoj=2;

asta(2).massa=0;

asta(2).L=L;

asta(2).E=E;

asta(2).I=I;

%asta(2).A=A;

asta(2).dof=[1 5 0 0]; % i fa solo gdl 2 del telaio, j solo 3

asta(2).trasl=0;

asta(3).nodoi=3;

asta(3).nodoj=4;

asta(3).massa=m;

asta(3).L=2*L;

asta(3).E=0.5*E;

asta(3).I=I;

%asta(3).A=A;

asta(3).dof=[0 4 0 5]; %i fa gdl del telaio 1 e 3

asta(3).trasl=1; %perchè trasla come il telaio, ovvero segue il DOF 1 del

telaio

asta(4).nodoi=3;

asta(4).nodoj=5;

asta(4).massa=0;

asta(4).L=L;

asta(4).E=0.666*E;

asta(4).I=I;

%asta(4).A=A;

asta(4).dof=[1 4 2 6]; %i fa gdl del telaio 1 e 3

asta(4).trasl=0;

asta(5).nodoi=6;

asta(5).nodoj=4;

asta(5).massa=0;

asta(5).L=L;

asta(5).E=0.666*E;

asta(5).I=I;

%asta(5).A=A;

asta(5).dof=[2 7 1 5]; %i fa gdl del telaio 1 e 3 asta(5).trasl=0;

asta(6).nodoi=5;

asta(6).nodoj=6;

asta(6).massa=m;

asta(6).L=2*L;

asta(6).E=0.333*E;

asta(6).I=I;

%asta(6).A=A;

asta(6).dof=[0 6 0 7]; %i fa gdl del telaio 1 e 3

asta(6).trasl=2;

asta(7).nodoi=5;

asta(7).nodoj=7;

asta(7).massa=0;

asta(7).L=L;

asta(7).E=0.333*E;

asta(7).I=I;

%asta(7).A=A;

asta(7).dof=[2 6 3 8]; %i fa gdl del telaio 1 e 3

asta(7).trasl=0;

asta(8).nodoi=8;

asta(8).nodoj=6;

asta(8).massa=0;

asta(8).L=L;

asta(8).E=0.333*E;

asta(8).I=I;

%asta(8).A=A;

asta(8).dof=[3 9 2 7]; %i fa gdl del telaio 1 e 3

asta(8).trasl=0;

asta(9).nodoi=7;

asta(9).nodoj=8;

asta(9).massa=m/2;

asta(9).L=2*L;

asta(9).E=E/6;

asta(9).I=I;

%asta(9).A=A;

asta(9).dof=[0 8 0 9]; %i fa gdl del telaio 1 e 3

asta(9).trasl=3;

%dati telaio

n_nodi=length(nodo);

n=length(asta);

dof_telaio=[1 2 3 4 5 6 7 8 9]; % gradi di libertà telaio - ordine

[traslazioni rotazioni]

% Rappresentazione del telaio

for i=1:n

figure(1)

x=[nodo(asta(i).nodoi).x, nodo(asta(i).nodoj).x]; %sintassi per

rappresentare i segmenti estremo1-estremo2 x e poi y

y=[nodo(asta(i).nodoi).y, nodo(asta(i).nodoj).y]; %tutte le

coordinate y dei nodi

title('Telaio Assegnato')

plot(x,y)

hold on

for jj=1:n_nodi

if nodo(jj).x==0 && nodo(jj).y==0 || nodo(jj).x~=0 && nodo(jj).y==0

plot(nodo(jj).x, nodo(jj).y,'*')

end

end

axis([-1 3*L -1 4*L])

xlabel('x, (m)')

ylabel('y, (m)')

end

%% Matrici di rotazione L, di rigidezza K delle ASTE nel sistema locale e

globale

for i=1:n %posizione aste rispetto al SDR globale

asta(i).inclinazione=atan((nodo(asta(i).nodoj).y -

nodo(asta(i).nodoi).y)/((nodo(asta(i).nodoj).x - nodo(asta(i).nodoi).x)));

asta(i).matrice_rotazL=[-sin(asta(i).inclinazione) 0 0 0; 0 1 0 0;

0 0 -sin(asta(i).inclinazione) 0; 0 0 0 1]; %ruoto solo gli spostamenti locali

verticali su x

%matrici aste sistema locale

asta(i).matrice_Klocale= (asta(i).E*asta(i).I/(asta(i).L^3))* [12

6*asta(i).L -12 6*asta(i).L; 6*asta(i).L 4*(asta(i).L^2) -6*asta(i).L

2*(asta(i).L^2); -12 -6*asta(i).L 12 -6*asta(i).L; 6*asta(i).L

2*(asta(i).L^2) -6*asta(i).L 4*(asta(i).L^2)];

%matrici aste sistema globale

if det(asta(i).matrice_rotazL)~=0

asta(i).matrice_Kglob=asta(i).matrice_rotazL*asta(i).matrice_Klocale*inv(asta(i)

.matrice_rotazL); %matrice K riferita al SDR globale

else asta(i).matrice_Kglob=asta(i).matrice_Klocale;

end

end

%matrici di corrispondenza

for i=1:n

for k=1:length(dof_telaio)

for j=1:length(asta(i).dof)

if (asta(i).dof(j)==dof_telaio(k))

asta(i).Matrice_corrisp(j,k)=1;

else asta(i).Matrice_corrisp(j,k)=0;

end

end

end

end

%% Matrici di rigidezza K e di massa M globali - INTERA STRUTTURA -

Kstruct=zeros(length(dof_telaio), length(dof_telaio)); %quadrate, gdl_telaio x

gdl_telaio

for i=1:n

Kstruct=Kstruct + asta(i).Matrice_corrisp'

*asta(i).matrice_Kglob*asta(i).Matrice_corrisp;

end

%matrice di massa

for i=1:n

if det(asta(i).matrice_rotazL)==0

A=asta(i).trasl;

for j=1:length(dof_telaio)

if A==dof_telaio(j)

Mstruct(j,j)=asta(i).massa; %la matrice di massa ha le

dimensioni del vettore gradi di libertà telaio

f=Mstruct(1,:);

end

end

for k=1:(length(dof_telaio)- length(f))

Mstruct(length(f)+k, length(f)+k)=0; %tutto quello che

rimane mette zero perchè sono rotazioni

end

end

end

%% FREQUENZE E MODI DI VIBRAZIONI

%Condensazione statica - tolgo i gradi di libertà rotazionali

ut=[dof_telaio(1) dof_telaio(2) dof_telaio(3)]; %raggruppo i gradi di libertà

traslazionali

u_teta=[dof_telaio(4) dof_telaio(5) dof_telaio(6) dof_telaio(7) dof_telaio(8)

dof_telaio(9)]; % gradi di libertà rotazionali

Dettagli
A.A. 2015-2016
6 pagine
SSD Ingegneria civile e Architettura ICAR/08 Scienza delle costruzioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher robertocivil88@gmail.com di informazioni apprese con la frequenza delle lezioni di Dinamica delle strutture e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Catania o del prof Oliveto Giuseppe.