(Mètode dels Elements Finits 1-dim) - mat-web.upc.edu · (Mètode dels Elements Finits 1-dim)...
Transcript of (Mètode dels Elements Finits 1-dim) - mat-web.upc.edu · (Mètode dels Elements Finits 1-dim)...
Element 1-dim: LINK
• Barra (Link):
• Conjunt d’elements:
Nodes (locals)
1 2
Element
1 2 3 4 5
E1 E2 E3 E4
Nodes (globals)
• Geometria: Especificar coordenades dels nodes (globals)
Dim 1: � =0.1
⋮
5.6
Dim 2: � =0.1
⋮
5.6
1.2
⋮
7.3Dim3: .......
Element 1-dim: LINK
• Elements (especificar la connectivitat)
• Matriu de Connectivitat:
Element 1-dim: LINK
1 2 3 4 5
E1 E2 E3 E4
Elements
Nodes
B=1
⋮
4
2
⋮
5
• Contribució Estructural per cada element (dim1). ���� = ��
��: desplaçaments ��: forces ��: Matriu de Rigidesa 2x2 (justificat a teoria):
�� =��
�1 −1
−1 1E: Mòdul de Young (coef. d’elasticitat)A: Area de secció de la barraL: Longitud del la barra
Element 1-dim: LINK
Sistema Global (1-dim)
Sistema Global (contribucions de TOTS els elements):
�: vector de desplaçaments.
�: vector de forces.
�: matriu de rigidesa global formada per l’acoblament de tots els elements.
Matriu de Rigidesa: Acoblament (1-dim)
Exemple
������
������
��� ��� �� ��� ��� ��
��� ��� ��� ��� �� ���� �
���� �
��� ��� �� � � � � �
���������
=
���������
1 2 3 4 5
E1 E2 E3 E4
Matriu Global:
Matriu de Rigidesa: Acoblament (1-dim)
Exemple
� =
������
������
��� ��� �� ��� ��� ��
��� ��� ��� ��� �� ���� �
���� �
��� ��� �� � � � � �
1 2 3 4 5
E1 E2 E3 E4
Ke
B=1
⋮
4
2
⋮
5
��� = �!��
Matriu de Rigidesa: Acoblament (1-dim)
Exemple
� =
������
������
��� ��� �� ��� ��� ��
��� ��� ��� ��� �� ���� �
���� �
��� ��� �� � � � � �
1 2 3 4 5
E1 E2 E3 E4
Ke
B=1
⋮
4
2
⋮
5
��� = ��� + �!��
Matriu de Rigidesa: Acoblament (1-dim)
Exemple
� =
������
������
��� ��� �� ��� ��� ��
��� ��� ��� ��� �� ���� �
���� �
��� ��� �� � � � � �
1 2 3 4 5
E1 E2 E3 E4
Ke
B=1
⋮
4
2
⋮
5
Matriu de Rigidesa: Acoblament (1-dim)
Exemple
� =
������
������
��� ��� �� ��� ��� ��
��� ��� ��� ��� �� ���� �
���� �
��� ��� �� � � � � �
1 2 3 4 5
E1 E2 E3 E4
Ke
B=1
⋮
4
2
⋮
5
Exemple
� =
1
−1
−1
2
0 0 0
−1 0 00 −1 2 −1 00
0
0
0
−1 2 −1
0 −1 1
Matriu de Rigidesa: Acoblament (1-dim)
1 2 3 4 5
E1 E2 E3 E4
B=1
⋮
4
2
⋮
5
EA/L
Forces i Restriccions (1-dim)
Imposem Forces i Condicions de Contorn (Loads):�� = �
Restriccions del Moviment: (CC essencials)
�� = 0, � = 0
Forces: (CC naturals)�� = 60
1 2 3 4 5
E1 E2 E3 E4
60
Sistema Global:
Imposem les condicions de contorn (CC):
���������
=
0
�� − �������
60 − �� � 0
1
0
0
2
0 0 0
−1 0 00 −1 2 −1 00
0
0
0
−1 2 0
0 0 1
EA/L
Sistema Global:
Imposem les condicions de contorn (CC):
���������
=
0
0060
0
Solució amb E=100, A=0.1, L=1
1
0
0
2
0 0 0
−1 0 00 −1 2 −1 00
0
0
0
−1 2 0
0 0 1
EA/L
�� = 0, �� = 1.5, �� = 3, �� = 4.5, � = 0
FEM 1-Dim (Codi MATLAB)
• Estructura del programa:
– Preprocés:
• Carregar la geometria
• Propietats del Material
• Constants Reals
– Solució:
• Imposar Condicions de Contorn (CC/LOADS)
• Resoldre el sistema
– Postprocés:
• Forces de reacció, Tensions axials, etc.
FEM 1-Dim (Codi MATLAB)
• Preprocés:
– Carregar fitxers de dades:
• Coordenades dels Nodes
• Elements
– Definir Propietats del material i Àrees de Secció
• Coeficient d’Elasticitat
• Area de secció
nod=load('nodes.txt','-ascii');[num_nod,ndim]=size(nod);elem=load('conectivitat.txt','-ascii');[num_elem,ndim_elem]=size(elem);
Y=100; %modul de YoungE=Y*ones(1,num_elem); %tots igualsArea=0.1;A=Area*ones(1,num_elem); %tots iguals
FEM 1-Dim (Codi MATLAB)
• Acoblament:
• Solució:
K=zeros(num_nod*ndim); %iniciem a zerosfor e=1:num_elem
Ke=LinkBar_Mrigidesa(nod, elem,e,E,A); files=[elem(e,1); elem(e,2)];colums=files; K(files,colums)=K(files,colums)+Ke; %acoblament
end
f=zeros(num_nod,1); %forcesf(4)=60;fixed=[1,num_nod]; %fixem punts primer i últimval=[0,0];[Km,fm]=ImposemCC1dim(K,f,fixed,val);u=Km\fm %solució
FEM 1-Dim (Codi MATLAB)
• Funció LinkBar_Mrigidesa:
function Ke=LinkBar_Mrigidesa (nod,elem,e,E,A)x1=nod(elem(e,1),1);x2=nod(elem(e,2),1);x21=x2-x1;Le=abs(x21); %Longitud de l’elementcoef=((E(e)*A(e))/Le);
%%Matriu de cada element%
Ke=[1, -1; -1, 1];Ke=coef*Ke;
FEM 1-Dim (Codi MATLAB)
Funció
ImposemCC1dim:
function [Km,fm]=ImposemCC1Dim(K,f,fixed,val)Km=K;fm=f;nfix=size(fixed,2);%modifiquem el vector de forces (LOADS)%passem cap els termes independents les columnes%associades a valors fixats. for i=1:nfix
fm=fm-val(1,i)*Km(:,fixed(i));end%fixem els valors donatsf(fixed)=val;%fem que les equacions corresponents als valors fixats%siguin la identitat.Km(fixed,:)=0;Km(:,fixed)=0;for i=1:nfix
ni=fixed(i);Km(ni,ni)=1; %diagonal igual a 1
end
Element 2-dim: PlaneLINK (Codi MATLAB)
• Funció PlaneLinkBar_Mrigidesa:
function Ke=PlaneLinkBar_Mrigidesa(nod,elem,e,E,A)x1=nod(elem(e,1),1);y1=nod(elem(e,1),2);x2=nod(elem(e,2),1);y2=nod(elem(e,2),2);x21=x2-x1;y21=y2-y1;Le=sqrt(x21*x21+y21*y21); %Longitud coef=((E(e)*A(e))/Le^3);Ke=[x21*x21, x21*y21, -x21*x21, -x21*y21;
x21*y21, y21*y21, -x21*y21, -y21*y21;-x21*x21, -x21*y21, x21*x21, x21*y21;-x21*y21, -y21*y21, x21*y21, y21*y21];
Ke=coef*Ke;
Exemple 2D:
(Codi Matlab)
%% Exemple de FEM per elements lineals: LINK% (2-Dim: desplaçaments en x i y)%-----------------------------------------------------------nod=load('nodes2.txt','-ascii');[num_nod,ndim]=size(nod);elem=load('conectivitat2.txt','-ascii');[num_elem,ndim_elem]=size(elem);%------------------------------------%Pintem els nodes i els elements%------------------------------------figure(1)pintemNodElem(nod,elem);%------------------------------------%Propietats del material%------------------------------------% mòdul de YoungY=50;E=Y*ones(1, num_elem); %tots els elements del mateix materialE(3)=100;%------------------------------------%Constants reals: Area de secció de la barra%------------------------------------Area=2;A=Area*ones(1,num_elem);A(2)=1;A(3)=2*sqrt(2);%------------------------------------%Pintem la matriu de rigidesa%------------------------------------figure(2)K=zeros(num_nod*ndim);for e=1:num_elem
Ke=PlaneLinkBar_Mrigidesa(nod,elem,e,E,A)files=[elem(e,1)*2-1; elem(e,1)*2; elem(e,2)*2-1; elem(e,2)*2];colums=files; K(files,colums)=K(files,colums)+Ke;spy(K)pause(0.1);
end%matriu de rigidesaK
%------------------------------------% SOLVE: Apliquem condicions de contorn%------------------------------------%Inicialitzem forcesf=zeros(num_nod*ndim,1);fixed=zeros(1,num_nod*ndim);val=zeros(1,num_nod*ndim);fapp=zeros(num_nod*ndim,1);
% Fixem els punts: 1 all DOF, 3% codifiquem amb un 1 els punts en els que fixem desplaçaments% exemp: fixed=[1,1,0,1,0,0];fixed(1*ndim-1)=1; %(u1_x=0)fixed(1*ndim)=1; %(u1_y=0)fixed(2*ndim)=1; %(u2_y=0)% codifiquem les forces i els valors dels desplaçaments% exemp: val=[0,0,0,0,2,1];% forces al node 3 : (fx=2, fy=1)nodf=3; %node en el que apliquem la forçaval(nodf*ndim-1)=2;val(nodf*ndim)=1;fapp(nodf*ndim-1)=2; %copiem les forces aplicadesfapp(nodf*ndim)=1; %per aplicar-ho a les forces de reacció[Km,fm]=ImposemBC(K,f,fixed,val);Kmfm%------------------------------------% SOLVE: Resolem el sistema i calculem els desplaçaments%------------------------------------u=Km\fm%------------------------------------% POSTPROCES: Pintem desplaçaments i calculem forces i tensions%------------------------------------
% Representem la solució desplaçadafigure(3)esc=2; %escala per representar els desplaçamentspintemNodElemDespl(nod,elem,u,esc);%Forces de Reacciófr=K*u-fapp%Tensions Axials[T, F]=calculTensionsAxials (nod,elem,u,E,A)
Exemple 2D:
(Codi Matlab)function [Tensions Forces]=calculTensionsAxials(nod,elem,u,E,A)[num_nod,ndim]=size(nod);[num_elem,ndim_elem]=size(elem);Forces=zeros(1,num_elem);Tensions=zeros(1,num_elem);for e=1:num_elem
x1=nod(elem(e,1),1);x2=nod(elem(e,2),1);if (ndim==1)
y1=0;y2=0;ux1=u(elem(e,1));ux2=u(elem(e,2));uy1=0;uy2=0;
elsey1=nod(elem(e,1),2);y2=nod(elem(e,2),2); ux1=u(elem(e,1)*ndim-1);uy1=u(elem(e,1)*ndim);ux2=u(elem(e,2)*ndim-1);uy2=u(elem(e,2)*ndim);
endx21=x2-x1;y21=y2-y1;Le=sqrt(x21*x21+y21*y21);ux21=ux2-ux1;uy21=uy2-uy1;d=(x21*ux21+y21*uy21)/Le;Forces(e)=E(e)*A(e)*d/Le;Tensions(e)=Forces(e)/A(e);
end
Element 2-dim: LINKExemple 2D:Un problema típic en enginyeria és dissenyar un pont. Considereu el següent model formatper barres d'acer que tenen un mòdul de Young de E = 200GPa i un àrea de secció A = 3250mm^2.
Les fletxes indiquen les càrregues del pont. Són forces puntuals de 280, 210, 280 i 360 kN .L'objectiu és l'estudi de les deformacions, les forces de reacció i les tensions axials.
Element 2-dim: LINKExemple 2D:
Nodes: 0 03600 07200 010800 01800 31185400 31189000 3118
Elements:
1 22 33 41 55 25 62 66 36 73 77 4
Element 2-dim: LINKExemple 2D:
Nodes: 0 03600 07200 010800 01800 31185400 31189000 3118
Elements:
1 22 33 41 55 25 62 66 36 73 77 4