Sunteți pe pagina 1din 16

Universidad de Concepcin

Departamento de Ingeniera Civil


Facultad de Ingeniera Civil










Tarea N3: Mtodo de los
Elementos Finitos
Placa cuadrada con carga
puntual central









Profesor : Patricio Cendoya H.

Integrantes : Miguel Umanzor O.
Leonel Vega A.


Fecha : 01 de Septiembre de 2011





Se desea conocer el Campo de Momentos flectores y torsores , adems de el Campo de
desplazamientos de la siguiente placa.

Para la resolucin del problema entregado, emplearemos el programa FemGv para poder
generar la malla de elementos finitos cuadrados, as como la utilizacin del toolbox Calfem
implementado en Matlab, para la solucin de los sistemas de ecuaciones generados, y de esta
manera poder determinar numricamente los campos de momentos M(x,y) y desplazamientos
w(x,y) , sujetos a las condiciones entregadas anteriormente para esta placa delgada.
Se tiene los siguientes datos acerca de la placa:
E= 10.92 (Mdulo de elasticidad)
v= 0.3 (Mdulo de Poisson)
h= 0.01 (espesor de la placa)
P= -4 (carga puntual aplicada en el centro de la placa)
L= 10 (largo de la placa)
Todos los datos anteriores estn expresados en unidades equivalentes.





A continuacin se proceder a determinar el valor terico de la flecha o deflexin en el centro
de la placa la cual est dada de acuerdo a la tabla adjuntada a continuacin:

Que corresponde a la rigidez flexional de la placa




Para nuestro caso en particular, la flecha terica se determina como sigue:





A continuacin procederemos a determinar numricamente el campo de desplazamientos y
momentos utilizando la siguiente malla de 10x10, generada con FEMGV


Resolviendo la malla adjunta, a travs del toolbox CALFEM, se obtuvieron los siguientes
resultados
Campo de desplazamientos w(x,y)

Como se puede apreciar el desplazamiento mximo ocurre justo en el centro de la placa y este
corresponde a -0.47E7.
Campo de Momento flector (Mxx)

Se puede observar que el momento mximo ocurre en el centro de la placa y corresponde a
0.855

Campo de Momento flector (Myy)

Como se puede observar el momento flector mximo, tambin corresponde a la zona central
y es de 0.855, esto se debe a la simetra de la placa , al ser cuadrada los esfuerzos
generalizados (momentos flectores y torsores se deben distribuir de manera equitativa.)
Campo de Momentos Torsores (Mxy=Myx)

Los momentos torsores mximos ocurren en los extremos de los bordes o puntas de la placa,
el resultado es coherente debido a que es en este lugar donde os esfuerzos de corte presentan
un mayor brazo de palanca, y por ende un mayor momento torsor. Este corresponde a 0.246.
Ahora refinaremos ms la malla utilizando una de 20x20

A continuacin se adjuntan los campos de momentos y desplazamientos obtenidos:
Campo de desplazamientos w(x,y)

Como se puede apreciar el desplazamiento mximo ocurre en el centro de la placa y
corresponde a un valor de- 0.466E7.




Campo de Momento flector (Mxx)

En el grafico anterior se puede apreciar que el momento flector mximo corresponde a 1.14 y
se genera en el centro de la placa.
Campo de Momento flector (Myy)

Como se mencion con anterioridad los momentos flectores, tanto en la direccin x como y,
son iguales, debido a la simetra de la plaza, y al tener las mismas longitudes, presentan las
iguales rigideces , es por ello que los esfuerzos generalizados, para este caso , los momentos
flectores, se reparte o distribuyen de igual manera, tomando un valor de 1.14 en ambas
direcciones.


Campo de Momentos Torsores (Mxy=Myx)

Como se puede ver, en el grafico al generar una malla con ms elementos, el campo de
momentos torsores se suaviza, el momento torsor corresponde a -0.244.
Finalmente analizaremos la placa utilizando una malla de 40x40 elementos



A continuacin se adjuntan los campos de momentos y desplazamientos obtenidos:
Campo de desplazamientos w(x,y)

Para esta malla, el desplazamiento corresponde a -0.465E7

Campo de Momentos flectores (Mxx)

Se puede observar el campo de Momentos, que el momento mximo en el centro de la placa
corresponde a 1.43

Campo de Momentos flectores (Myy)

Se puede observar el campo de Momentos, que el momento mximo en el centro de la placa
corresponde a 1.43, que corresponde al mismo para Mxx, por lo mencionado con anterioridad.

Campo de Momentos Torsores (Mxy=Myx)





Conclusiones
Se anexa la siguiente tabla con los valores de la flecha, obtenida con los distintos tipos de
mallas empleadas
Malla Flecha en el centro w(x,y)
10x10 -0.474E7
20x20 -0.467E7.
40x40 -0.465E7

Como se determin al principio la flecha terica corresponde a -0.464E7.
Nos podemos percatar que a medida que se aumenta la cantidad de elementos de la malla, la
solucin numrica utilizando elementos finitos se aproxima de muy buena manera, con un
error relativo de apenas 0.3%, valor que es nfimo.
La diferencia entre el momento terico y los determinados numricamente presentan un
mayor error relativo , debido a que el momento depende en un segundo orden de la flecha, es
decir, se redondea una vez para determinar, el giro ( derivada de la flecha), y una segunda vez
debido a la determinacin de la curvatura ( segunda derivada de la flecha, o primera derivada
del giro), por lo anterior se genera un mayor error relativo al aproximar numricamente los
momentos.
Para finalizar, cabe resaltar que el mtodo de los elementos finitos presenta una potente
herramienta de aproximacin para problemas complejos, en este caso la determinacin del
campo de momentos tanto flectores como torsores, asi como , el campo de desplazamientos
verticales.












Finalmente se Anexa el cdigo matlab con los cuales se determin el Campo de Momentos y
desplazamientos.
%--------------------Interfaz Femgen ? Matlab--------------------%
clc;
clear all;
fem='PASTEL.ANL'; %nombre del modelo construido en Femgen
ne=4;
auxne=ne+8;
fich=fopen(fem,'r');
orde=fscanf(fich,'%s',4);
coord=fscanf(fich,'%f',[5,inf]);
coord=coord';
infcoord=length(coord);
coord(infcoord,:)=[];
coord(:,1)=[];
R=fscanf(fich,'%s',1);
while 1
P=fscanf(fich,'%s',1);
aux=P;
if length(aux)>=2
aux=aux(1:2);
else
aux=aux;
end
if aux=='-3'
break
end
end
P=fscanf(fich,'%s',2);
conexi=fscanf(fich,'%f',[auxne,inf]);
conexi=conexi';
infconexi=size(conexi);
infconexi=infconexi(1);
conexi(infconexi,:)=[];
conexi(:,1)=[];
conexi(:,[2:7])=[];
fclose(fich);
clear fem auxne P R aux fem fich infconexi infcoord orde ans ne;

%%%%%%%%%%%%%%%%% Determinacion de la Matriz de Rigidez
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

nCoord=coord(:,2:4);
w=size(coord,1)*3;
ww=w-1;
www=w-2;
a=1:3:www;
b=2:3:ww;
c=3:3:w;
nDof=[a' b' c'];

[o,p]=size(conexi);
nEdof=zeros(o,13);
nEdof(:,1)=conexi(:,1);
for j =1:1:o %ciclo for crea la matriz nEdof
x=conexi(j,2:5);
y=[nDof(x(1),:) nDof(x(2),:) nDof(x(3),:) nDof(x(4),:)];
nEdof(j,2:13)=y ;
end
nEdof=nEdof; % matriz con [elem gl1 gl2 gl3 gl4 gl5 gl6 gl7 gl8
gl9 gl10 gl11 gl12]
[ta,tb]=size(nDof);
tc=ta*tb;
f=zeros(tc,1); % crea el vector de fuerzas

f(661)=-4; % carga aplicada en el centro de la placa que corresponde
al nodo 61%



f(2521)=-4; % carga aplicada en el centro de la placa que corresponde
al nodo 61%


bc_abajo=[1:41];
bc_arriba=[1641:1681];
bc_izquierda=[42:41:1600];
bc_derecha=[82:41:1640];% Modificar segn lineado!!!!!!!
bc_total=[bc_abajo bc_arriba bc_izquierda bc_derecha];
bc_z=[3*bc_total'-2];

bc_t=[bc_z]; %bc_x bc_y
[tbc1,tbc2]=size(bc_t);
bc=[bc_t zeros(tbc1,1)];


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

ep =[0.01]; % tipo de problema y espesor
eq =[0];

K=zeros(tc); %crea la matriz de rigidez global
n_el=size(nEdof); %numero de elementos
D=hooke(1,10.92,0.3);%calcula la matriz constitutiva para cada
%elemento en tensi?n plana (el?stico-lineal)

for i=1:n_el(1) %ciclo for donde se calcula la matriz de


ex=[nCoord(conexi(i,2),1) nCoord(conexi(i,3),1) nCoord(conexi(i,4),1)
nCoord(conexi(i,5),1)]; %coordenada x del elemento
ey=[nCoord(conexi(i,2),2) nCoord(conexi(i,3),2) nCoord(conexi(i,4),2)
nCoord(conexi(i,5),2)]; %coordenada y del elemento
k=platre(ex,ey,ep,D); %matriz de rigidez elemental
K=assem(nEdof(i,:),K,k); %matriz de rigidez global

end

%--------resuelve el sistema de ecuaciones------------------%

[a,Q]=solveq(K,f,bc);%resuelve el sistema de ecuaciones
stress=[]; %crea matriz de esfuerzos
def=[]; %crea matriz de deformaciones
Ed=[]; %crea matriz de deformaci?n por elemento
desplazamiento=a; %desplazamientos(variables nodales)


% POST PROCESO DETERMINACION DE TENSIONES GENERALIZADAS PRINCIPALES

for i=1:n_el(1)
ed=extract(nEdof(i,:),a);
ex=[nCoord(conexi(i,2),1) nCoord(conexi(i,3),1)
nCoord(conexi(i,4),1) nCoord(conexi(i,5),1)]; %coordenada x
del elemento
ey=[nCoord(conexi(i,2),2) nCoord(conexi(i,3),2)
nCoord(conexi(i,4),2) nCoord(conexi(i,5),2)]; %coordenada y
del elemento
D=hooke(1,10.92,0.3);
[es et]=platrs(ex,ey,0.01,D,ed);

[stress]=[stress;es]; %matriz de tensi?n.
[def]=[def;et]; %matriz de deformaci?n.
Ed(i,:)=ed;
end

Ed=Ed; %matriz de desplazamientos de los elementos

Mxx=stress(:,1)'; %
Myy=stress(:,2)'; %
Mxy=stress(:,3)'; %
sig=[Mxy']; %matriz de momentos principales
deflexion=a(181);
D_rig=(10.92*(0.01^3))/(12*(1-(0.3^2))); % rigidez flexional de la
placa
L=10; %lado de la placa
deformada=(0.0116*(-4)*L^2)/(D_rig); %deformada real centro placa i k
plotpar tb v



%-----------------alisado de tensiones principales----------%


for i=1 %alisado para la tensin principal mayor
stress=sig(:,i);
[nnel,n]=size(nEdof);
a=nEdof(:,2:n);
[ta,tb]=size(nDof);
tc=ta*tb;
mtzalisada=[];

for i=2:3:tc
elementosasoc=mod(find(a==i),nnel);
c=find(elementosasoc==0);
if c>0
elementosasoc(c)=nnel;
end
elementosasoc;
stressa=stress(elementosasoc,:);
[numelem,Y]=size(stressa);
%stressa=[stressa;0 0 0];
ptoalisado=sum(stressa)/numelem;
mtzalisada=[mtzalisada;ptoalisado];
end
mtzalisada;

end
liso=mtzalisada;

Sn=[liso ];
U=[desplazamiento(1:3:tc) desplazamiento(2:3:tc+1)
desplazamiento(3:3:tc+2)];

npnod=size(coord,1);
nelem=size(conexi,1);
nnode=4;
coor=coord(:,2:4);
conex=conexi(:,2:5);
uo=U(:,1);
vo=U(:,2);
wo=U(:,3);


%-----Interface Matlab-FemGv, crea archivo *.neu------------%

narchivo='RAKATA';%nombre del archivo de salida
narchivo=narchivo(:,[1:6]);
nestruct=narchivo;
salida=[narchivo,'.neu'];
nombre=[' 1C',nestruct];
enca=[nombre;' 2CCORRDE';' 3CCONECT';' 4CDESPLA'];
fid=fopen(salida,'w');
fprintf(fid,'%s\n',enca(1,:));
fprintf(fid,'%s\n',enca(2,:));
corde=zeros(npnod,5);
corde(:,1)=-1;
corde(:,2)=[1:npnod]';
corde(:,3)=coor(:,1);
corde(:,4)=coor(:,2);
corde(:,5)=coor(:,3);
fprintf(fid,'%3.0f%5.0f%12.8f%12.8f%12.8f\n',corde'); %12.8
fprintf(fid,'%3.0f\n',-3);
fprintf(fid,'%s\n',enca(3,:));
vuno=ones(nelem,1);
MALLA1=[conex(:,1),conex(:,2),conex(:,3),conex(:,4)];
MALLA1=[-2*vuno,MALLA1];
vvv=2*nnode+1;
uuu=nnode-2;
v2=[-1 1 vvv 1 uuu];
for i=1:nelem
v2(2)=i;
fprintf(fid,'%3.0f%5.0f%5.0f%5.0f%5.0f\n',v2);
fprintf(fid,'%3.0f%5.0f%5.0f%5.0f%5.0f\n',MALLA1(i,:)');
end












fprintf(fid,'%3.0f\n',-3);

fprintf(fid,'%s\n',enca(4,:));
corde(:,3)=uo;
corde(:,4)=zeros(ta,1);
corde(:,5)=zeros(ta,1);
fprintf(fid,'%3.0f%5.0f%16.6f%16.6f%16.6f\n',corde');
fprintf(fid,'%3.0f\n',-3);
enca2=[' 100CEsfu ';
' -4 Momento 2 1 0 ';
' -5 Mxx 1 2 1 0 0 ';
' -5 Myy 1 2 2 0 0 '];
for i=1:4
fprintf(fid,'%s\n',enca2(i,:));
end
corde(:,1)=-1;
corde(:,2)=[1:npnod]';
corde(:,3)=Sn(:,1);
fprintf(fid,'%3.0f%5.0f%12.3f%12.3f%12.3f\n',corde');
fprintf(fid,'%3.0f\n',-3);
fprintf(fid,'%5.0f\n',9999);
fclose(fid)


%--------------------------------Fin---------------------------------%

S-ar putea să vă placă și