Extras din proiect
Bara simplu rezemata, cu sarcina uniform distribuita.Bara din figura este incarcata cu o sarcina uniform distribuita,verticala,de sus in jos ,de intensitate p[ N/mm].Forta totala aplicata barei este F=pl, iar reactiunile ,din motive de simetrie, V1=V2=pl/2.
Discretizarea sistemului din figura de mai sus va fi realizată cu ajutorul a zece elemente de tip bară conform celor prezentate în figura de mai jos. De asemenea sunt prezentate şi condiţiile de margine respectic rezemarea structurii precum şi forţele care acţionează asupra sistemului. Se construiesc astfel zece elemente definite astfel:
Sunt prezentate în cele ce urmează fisierele cu datele de intrare necesare
rezolvării problemei.
Definirea nodurilor
Definirea elementelor.
Definirea fortelor.
Definirea rezemării
In cele ce urmează este prezentat programul Matlab pentru rezolvarea problemei prezentate
forta_si_moment.m
%Rezolvarea sistemelor de bare
%versiunea 1
%10.01.2006
%Stefan TABACU
%initializarea sistemului
close all
clear all
%
%Defineste sectiunea
b_sect=5;
h_sect=10;
I_sect=b_sect*h_sect^3/12;
A_sect=b_sect*h_sect;
%Defineste material
E_mat=2.1e5;
%Definirea nodurilor
%incarca datele din fisier
load nodes.dat
%Definirea elementelor
load beams.dat
%definirea fortelor
load force.dat
%definirirea rezemarilor
load dof.dat
%Date despre problema
[n_elems,n1]=size(beams); %Numarul de elemente in problema
[n_noduri,n1]=size(nodes); %Numarul de noduri in problema
%Definirea elementelor - noduri capete, lungime element
%Calculeaza lungimea elementelor;
for ii=1:n_elems
%identifica nodurile fiecarui element
node_1=beams(ii,2); node_2=beams(ii,3);
%identifica coordonatele fiecarui nod
cota_x_node_1=nodes(node_1,2); cota_y_node_1=nodes(node_1,3);
cota_x_node_2=nodes(node_2,2); cota_y_node_2=nodes(node_2,3);
%calculeaza lungimea elementului
lung_elem(ii)=sqrt((cota_x_node_1-cota_x_node_2)^2+(cota_y_node_1-cota_y_node_2)^2);
end
%Modul pentru definirea orientarii elementelor
%Calculeaza cosinul si sinusul
%!!!
%Atentie la alinierea elementelor pentru a putea calcula coret siniul si
%cosinusul. Referinta se considera nodul al cauri numar de ordine este mai
%mare.
for ii=1:n_elems
node_1=beams(ii,2); node_2=beams(ii,3);
cota_x_node_1=nodes(node_1,2); cota_y_node_1=nodes(node_1,3);
cota_x_node_2=nodes(node_2,2); cota_y_node_2=nodes(node_2,3);
alfa(ii)=asin(abs((abs(cota_y_node_2)-abs(cota_y_node_1)))/lung_elem(ii));
addition(ii)=0;
centru_x=cota_x_node_2;centru_y=cota_y_node_2;
if (cota_x_node_1<centru_x) & (cota_y_node_1>centru_y)
addition(ii)=pi/2;
elseif (cota_x_node_1<centru_x) & (cota_y_node_1<centru_y)
addition(ii)= pi;
elseif (cota_x_node_1>centru_x) & (cota_y_node_1<centru_y)
addition(ii)=3*pi/2;
elseif (cota_x_node_1==centru_x) & (cota_y_node_1<centru_y)
addition(ii)=0;
elseif (cota_x_node_1==centru_x) & (cota_y_node_1>centru_y)
addition(ii)=pi;
elseif (cota_y_node_1==centru_y) & (cota_x_node_1>centru_x)
addition(ii)=pi;
end
alfa(ii)=alfa(ii)+addition(ii);
addition_grd(ii)=addition(ii)*180/pi;
alfa_grd(ii)=alfa(ii)*180/pi;
C_(ii)=cos(alfa(ii));S_(ii)=sin(alfa(ii));
end
%alfa(1)=pi/4+pi; alfa(2)=pi/2+pi/2; alfa(3)=0;
%C_(1)=cos(alfa(1));S_(1)=sin(alfa(1));
%C_(2)=cos(alfa(2));S_(2)=sin(alfa(2));
%C_(3)=cos(alfa(3));S_(3)=sin(alfa(3));
%Defineste matricile de rigiditate ale elementelor
for ii=1:n_elems
C_1_1=A_sect*E_mat/lung_elem(ii);
C_1_2=12*E_mat*I_sect/lung_elem(ii)^3;
C_1_3=6*E_mat*I_sect/lung_elem(ii)^2;
C_1_4=4*E_mat*I_sect/lung_elem(ii);
C_1_5=2*E_mat*I_sect/lung_elem(ii);
%matricea de rigiditate in coordonate locale
K_l(:,:,ii)=[C_1_1 0 0 -C_1_1 0 0;
0 C_1_2 C_1_3 0 -C_1_2 C_1_3;
0 C_1_3 C_1_4 0 -C_1_3 C_1_5;
-C_1_1 0 0 C_1_1 0 0;
0 -C_1_2 -C_1_3 0 C_1_2 -C_1_3;
0 C_1_3 C_1_5 0 -C_1_3 C_1_4];
%matricea de transformare
T_l(:,:,ii)=[ C_(ii) S_(ii) 0 0 0 0;
-S_(ii) C_(ii) 0 0 0 0;
0 0 1 0 0 0;
0 0 0 C_(ii) S_(ii) 0;
0 0 0 -S_(ii) C_(ii) 0;
0 0 0 0 0 1];
%matricea de rigiditate in coordonate globale
K_g(:,:)=inv(T_l(:,:,ii))*K_l(:,:,ii)*T_l(:,:,ii);
K_g_ii(:,:,ii)=inv(T_l(:,:,ii))*K_l(:,:,ii)*T_l(:,:,ii);
%K_g(:,:)=K_l(:,:);
%
K_11(:,:,ii)=[K_g(1,1) K_g(1,2) K_g(1,3);
K_g(2,1) K_g(2,2) K_g(2,3);
K_g(3,1) K_g(3,2) K_g(3,3)];
K_12(:,:,ii)=[K_g(1,4) K_g(1,5) K_g(1,6);
K_g(2,4) K_g(2,5) K_g(2,6);
K_g(3,4) K_g(3,5) K_g(3,6)];
K_21(:,:,ii)=[K_g(4,1) K_g(4,2) K_g(4,3);
K_g(5,1) K_g(5,2) K_g(5,3);
K_g(6,1) K_g(6,2) K_g(6,3)];
K_22(:,:,ii)=[K_g(4,4) K_g(4,5) K_g(4,6);
K_g(5,4) K_g(5,5) K_g(5,6);
K_g(6,4) K_g(6,5) K_g(6,6)];
Preview document
Conținut arhivă zip
- Analiza Numerica a Sistemelor Mecanice.DOC