Sei sulla pagina 1di 4

Discretizzazione trave appoggiata-appoggiata

In questa esercitazione dovevamo creare un programma in grado di operare una discretizzazione di una
trave appoggiata-appoggiata.
I parametri noti sono la lunghezza della trave (L), il modulo di Young (E), il momento dinerzia (I) e la massa
distribuita. Per semplificare il tutto abbiamo posto unitari E ed I e abbiamo posto pari a 10 metri la
lunghezza della trave (10000 mm). Innanzitutto dobbiamo far si che la massa distribuita diventi una massa
concentrata. Una volta scelto il numero di masse concentrate utilizzate (N), possiamo decidere il passo al
quale ogni singola massa verr posizionata (passo = L/N+1). Per ogni massa andata a posizionare lungo
lasse della trave avremo 2 gradi libert ossia uno spostamento verticale e una rotazione. In questo modo il
sistema avr 2N gradi di libert.
Abbiamo dunque definito la matrice di massa generale MM=(2Nx2N) dove i termini della diagonale
principale della sottomatrice (NxN) saranno pari al valore delle N masse che nel nostro caso abbiamo
assunto unitarie, mentre i restanti termini della diagonale principale saranno uguali a 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)

Successivamente abbiamo definito la matrice di rigidezza KR. Nel nostro caso, considerando 5 masse, la
matrice la seguente:

153 -123 0 0 0 -32 -62 0 0 0


-123 243 I -123 0 0 62 0 -62 0 0


0 -12 24 -12 0 0 6 0 -6 0
3 3 3 2 2


0 0 -123 243 -123 0 0 62 0 -62


0 0 0 -12 15 0 0 0 6 3
3 3 2 2


-3 6 0 0 0 7 2 0 0 0
2 2


-62 0 62 0 0 2 8 2 0 0


0 -62 0 62 0 0 2 8 2 0


0 0 -62 0 62 0 0 2 8 2


0 0 0 -62 32 0 0 0 2 7

Per poter effettuare la discretizzazione dobbiamo ricavarci la matrice KD ottenuta per condensazione
tramite la relazione KD=Kdd + Kds*Kss-1*Ksd.
Dove Kdd, Kds, Ksd e Kss sono le sottomatrici della matrice K. In particolare Kdd (1:N, 1:N)
la matrice associata alla sola traslazione, Kss (+1:2*N, N+1:2*N) la matrice associata alla sola rotazione e le matrici
Ksd (N+1:2*N, 1: N) e Kds (1: N, N+1:2*N) sono delle matrici che contengono i termini misti e sono una la trasposta
dellaltra.
Il nostro KD in questo caso sar una matrice 5x5
Una volta definito KD possiamo risolvere il problema di autovalori e autovettori tramite la funzione di MATLAB eig,
ossia [auvT, auvL] =eig (KD, m) dove auvT e auvL sono rispettivamente le matrici degli autovettori e autovalori mentre
m la matrice di massa dinamica ottenuta in questo modo: m=MM (1: N,1: N).
Gli autovalori rappresentano le frequenze di vibrazione al quadrato del sistema;
auvL =

36.8479 0 0 0 0
0 18.0000 0 0 0
0 0 6.0000 0 0
0 0 0 1.2000 0
0 0 0 0 0.0752

Gli autovettori rappresentano i modi di vibrazione del sistema.


auvT =

0.5000 -1.0000 1.0000 -1.0000 0.5000


-0.8660 1.0000 0.0000 -1.0000 0.8660
1.0000 -0.0000 -1.0000 0.0000 1.0000
-0.8660 -1.0000 0.0000 1.0000 0.8660
0.5000 1.0000 1.0000 1.0000 0.5000

Passiamo dunque a calcolare il vettore delle frequenze (omegan), dato dalle radici dei termini che compaiono lungo la
diagonale principale della matrice degli autovalori.
omegan =

6.0702
4.2426
2.4495
1.0954
0.2741

Una volta fatto ci possiamo calcolare la matrice di massa generalizzata data dalla relazione =
Definiamo anche qi_0 ossia coordinate iniziali generalizzate alle condizioni al contorno in termini di spostamento. Per
quanto riguarda i termini relativi alla velocit li abbiamo assunti pari a 0.
0
_0 =

La soluzione generica si pu esplicitare in questo modo

() = 0 cos( )

Viene riportato di seguito il codice utilizzato in MATLAB

clc
close all
clear all

% ESERCITAZIONE:
% DETERMINARE LE FREQUENZE E FORME MODALI DI UNA TRAVE APPOGGIATA
% APPOGGIATA CON UNA DISCRETIZZAZIONE GENERICA DI N TRATTI
% SCIACCA ALESSANDRO, SALATINO GIUSEPPE, LUCA PAPPALARDO
% RIFERIMENTI

% APPUNTI O FLOWCHART
% RIFERIEMENTO LEZIONE 31/10/2017
% 1) DESCRIZIONE GEOMETRICA DEL PROBLEMA
% 2) DATI DINAMICI DEL PROBLEMA
% 3) DEFINIZIONE DEL NUMERO DI TRATTI
% 4) COSTRUZIONE DELLA MATRICE DI MASSA
% 5) COSTRUZIONE DELLA MASTRICE DI RIGIDEZZA (CICLO)
% 6) COSTRUZIONE DELLA MATRICE DI SMORZAMENTO
% 7) CONDENSAZIONE DELLA MATRICE DI RIGIDEZZA
% 8) PROBLEMA AUTOVALORI/AUTOVETTORI (uso eig(KD,M))
% 9) SCRITTURA FORMA MODALE
% 10) SOLUZIONE ANALISI DINAMICA MODALE OSCILLAZIONI LIBERE

% 1) DESCRIZIONE GEOMETRICA DEL PROBLEMA


% IMPORTANTE - UNITA' DI MISURA
E = 1;
I =1;
L=10000; % mm
N=5; % NUMERO ELEMENTI DA DISCRETIZZARE
passo=L/(N+1);
% MATRICE DI MASSA MM STATICA
m=1;
MM=m*diag(ones(N,1),0);
for i=N+1:(2*N)
MM(i,i)=0;
end
MM;
% MATRICE DI RIGIDEZZA
KR=zeros(2*N,2*N);
KR(1,1)=15;
KR(N,N)=15;
for i=2:(N-1)
KR(i,i)=24;
end
KR(N+1,N+1)=7;
KR(2*N,2*N)=7;
for i=(N+2):(2*N-1)
KR(i,i)=8;
end
KR(1,N+1)=-3;
KR(N,2*N)=3;
KR(N+1,1)=-3;
KR(2*N,N)=3;
for i=2:(N-1)
KR(i-1,i)=-12;% termini tridiagonale superiore kdd
KR(i+1,i)=-12; %termini tridiagonale inferiore kdd
KR(N+i-1,i)=6; % termini tridiagonali inferiore ksd
KR(N+i,i)=0; % termini diagonale ksd
KR(N+i+1,i)=-6; % termini tridiagonali superiore ksd
KR(i-1,N+i)=-6; % termini tridiagonale inferiore kds
KR(i,N+i)=0; % termini diagonale kds
KR(i+1,N+i)=6; % termini tridiagonale superiore kds
KR(N+i-1,N+i)=2; % termini tridiagonale superiore kss
KR(N+i,N+i)=8; % termini diagonale superiore kss
KR(N+i+1,N+i)=2; % termini tridiagonale inferiore kss
end
KR(N-1,N)=-12;
KR(N,N)=15;
KR(2*N-1,N)=6;
KR(N-1,2*N)=-6;
KR(2*N-1,2*N)=2;
KR(N+2,1)=-6;
KR(N+2,N+1)=2;
KR(2,N+1)=6;
KR(2,1)=-12;
KR;
% SOTTOMATRICI: Kdd, Kds, Ksd, Kss
Kdd=KR(1:N, 1:N);
Kds=KR(1:N, N+1:2*N);
Ksd=KR(N+1:2*N, 1:N);
Kss=KR(N+1:2*N, N+1:2*N);
% CONDENSAZIONE DELLA MATRICE
KD= Kdd - Kds*(inv(Kss))*Ksd;
% MATRICE DI MASSA CONCENTRATA
m=MM(1:N,1:N);
% PROBLEMA AUTOVETTORI E AUTOVALORI
[auvT,auvL]=eig(KD,m);
%CALCOLO DELLA RISPOSTA PER CONDIZIONI INIZIALI
u0=ones(N,1);
% FREQUENZE E PERIODO
omegan=sqrt(diag(auvL));
Tn = 2*pi./omegan;
%CREAZIONE INTERVALLO TEMPO
t=linspace(0,300,100);
[z,e]=size(t);
%RISPOSTA
for i=1:N
Mi=(auvT(1:N,i)'*m*auvT(1:N,i));
qi_0(i)=(auvT(1:N,i)'*m*u0)/Mi;
A(i)=qi_0(i);
u(i,:)=A(i)*cos(sqrt(auvL(i,i))*t);
end
figure
plot(t,u)
title('Soluzione in spazio modale');
xlabel('tempo ');
ylabel('u(t)');
%------------------------------------------------------------------------%
% ModalPlot
% Questa funzione plotta le forme modali normalizzate. La ut nel mio caso ? una
matrice
% che in ogni riga contiene la risposta i-esima
%------------------------------------------------------------------------%
% auvT Matrice degli autovettori normalizzati
% omegan Vettore delle pulsazioni angolari in colonna
% Tn Vettore dei periodi in colonna
% formamod valore della forma modale che si intende plottare corrispondente
% al numero della colonna di auvT scelta come condizione di
spostamento iniziale
% N numero di masse discretizzate

ModalPlot (auvT,omegan,Tn,t,u,N);