(mètode dels elements finits 1-dim) - mat-web.upc.edu · (mètode dels elements finits 1-dim)...

34
(Mètode dels Elements Finits 1-dim) Mètodes Numèrics-Dept. MA1-ETSEIB Toni Susin MEF 1-dim

Upload: others

Post on 20-Oct-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

(Mètode dels Elements Finits 1-dim)

Mètodes Numèrics-Dept. MA1-ETSEIBToni Susin

MEF 1-dim

Visió General: Modelització

Visió General: Descomposició

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

• Exemple 1:

• Exemple 2:

Element 1-dim: LINK

Elements

Nodes

B=1

2

1

2

3

31 2

3

B=1

9

3

10

• 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

• 2-Dim:

Element 2-dim: PlaneLINK• Matriu de rigidesa 2-Dim:

On

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;

Element 2-dim: LINKExemple 2D:

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

Element 3-dim: LINK

3-Dim:

Element 3-dim: LINK

Matriu de rigidesa 3-Dim:

On

i