FACULTAD DE INGENIERÍA MECÁNICA
LABORATORIO Nº 01 DE CÁLCULO POR ELEMENTOS FINITOS (MC-516)
2015-I
UNIVERSIDAD NACIONAL DE INGENIERÍA
1
Índice
PRIMERA PRÁCTICA
Enunciado del Problema......................................................................................................................2
Solución......................................................................................................................................................2
Grados de Libertad Nodales..............................................................................................................3
Diagrama de Flujo...................................................................................................................................4
Uso de Matlab...........................................................................................................................................8
SEGUNDA PRÁCTICA
Enunciado del Problema.....................................................................................................................9
Solución.....................................................................................................................................................10
Grados de Libertad Nodales............................................................................................................10
Uso de Matlab..........................................................................................................................................11
Conclusiones....................................................................................................................................15
2
PRIMERA PRÁCTICA CALIFICADA
ENUNCIADO DEL PROBLEMA
En la figura se muestra una estructura de armadura simple hecho de dos miembros. Cada miembro tiene un módulo elástico de E = 30 * 106 Psi y áreas de sección transversal A1 = 0,5 pulg2 y A2 = 0.4 pulg2 donde el subíndice indica el número de elemento como se muestra en la figure. Una fuerza de F= (1000+5*xx) libras se aplica en la punta en la dirección hacia abajo.
Encuentra los desplazamientos y tensiones de los miembros.
OBS: xx son los últimos dígitos del código.
SOLUCION POR ELEMENTOS FINITOS
CODIGO: 20124538G
Como se puede observar que mi código termina en 38, entonces:
Carga: F=1000+5×38
F=1190 lb−f
3
Ahora se detallan los elementos del sistema:
elementos nodos localesfinitos 1 2
1 1 22 2 3
FIG. 1 INDICANDO LOS NODOS Y ELEMENTOS
4
DIAGRAMA DE FLUJO
INICIO
INGRESO DE DATOS
CONSTANTES : modulo, área, longitud, ángulo
VECTORES: L, A, F
CALCULO DE VECTORES
F= [R1R2R3R4 ] ; K=
[EA1
L1−EA1
L10 0
−EA1
L1EA2
L2+ EA
1
L1− EA
2
L20
0 − EA2
L2EA3
L3+EA
2
L2−EA
3
L3
0 0 − EA3
L3EA3
L3]
TRAFORMACION DE ECUACION MATRICIAL
[AL1 γ2
AL2 γ2 +
AL1 γ2
AL3 γ2
+ AL2 γ2
+PA
AL3 γ2
]=
[−1 −EA1
L10 0
0 EA2
L2+ EA
1
L1− EA
2
L20
0 − EA2
L2EA3
L3+EA
2
L2−EA
3
L3
0 0 − EA3
L3EA3
L3][R1Q2Q3Q4 ]
IMPRESIÓN DE RESULTADOS
Tensión, desplazamiento
FIN
5
SOLUCIÓN MATLAB
Código fuente en MATLAB:
%=====================================================================%CURSO: CÁLCULO POR ELEMENTOS FINITOS (MC-516) SECCIÓN: 'C'%=====================================================================% % PRIMER EJERCICIO% ==================%% APELLIDOS Y NOMBRES: CONTRERAS DIAZ, ALEXANDER JHOEL% CÓDIGO: 20124538G% PROFESOR: ING. VERA ERMITAÑO% %=====================================================================% % DESCRIPCIÓN DEL PROGRAMA:
% Este programa nos permite encontrar la deflexión y la tensión de % la armadura hecha de dos miembros.Para este caso usaremos 2 % elementos finitos.% %%=====================================================================%% descripciones de variables%% k= matriz de rigidez elemental% kk= matriz de rigidez del sistema% ff = fuerza de sistema de vector% index = Índice de un sistema que contiene el vector dofs asociado % con cada elemento% gcoord = coordinar matriz global% disp = desplazamiento nodal vector% elforce = fuerza elemento del vector% eldisp = elemento de desplazamiento nodal% stress= Vector tensión para cada elemento% elprop = matriz de propiedad del elemento% nodes = matriz de conectividad nodal para cada elemento% bcdof = un vector que contiene valores de condiciones de contorno % asociadas con los dofs en bcdof% bcval=vertor %%datos de entrada de control%nel=2; % el número de elementosnnel=2; % Número de nodos por elementondof=2; % número de dofs por nodonnode=3; % Número total de los nodos en el sistemasdof=nnode*ndof; % dofs totales del sistema%%coordenadas nodales%gcoord(1,1)=0.0;gcoord(1,2)=0.0; % Coordenadas x, y del nodo 1gcoord(2,1)=10.0;gcoord(2,2)=0.0; % Coordenadas x, y del nodo 2gcoord(3,1)=0.0;gcoord(3,2)=10.0; %Coordenadas x, y del nodo 3%
6
%propiedades del material %elprop(1,1)=30000000; % Módulo de elasticidad del primer elemento elprop(1,2)=0.4; % Sección transversal del elemento elprop(2,1)=30000000; % Módulo de elasticidad del segundo elemento elprop(2,2)=0.5; % Sección transversal del segundo elemento%%Conectividad nodal%nodes(1,1)=1;nodes(1,2)=2; nodes(2,1)=2;nodes(2,2)=3; %%Restricciones aplicada%bcdof(1)=1; % primer punto se ve limitada(disposicion horizontal)bcval(1)=0; % Cuyo valor descrito es 0bcdof(2)=2; % Segundo punto se ve limitada(disposicion verticales) bcval(2)=0; % Cuyo valor descrito es 0bcdof(3)=5; % quinto punto se ve limitada(disposicion horizontal)bcval(3)=0; % Cuyo valor descrito es 0bcdof(4)=6; % Sexto punto se ve limitada(disposicion verticales)bcval(4)=0; % Cuyo valor descrito es 0%%inicialización de cero%ff=zeros(sdof,1); % Vigor sistema de vectorkk=zeros (sdof,sdof); % De la matriz de rigidez del sistemaindex=zeros(nnel*ndof,1); % Vector índiceelforce=zeros(nnel*ndof,1); % Vigor del elemento del vectoreldisp=zeros(nnel*ndof,1); % Elemento nodal vector de desplazamientok=zeros(nnel*ndof,nnel*ndof);stress=zeros(nel,1); % Vector tensión para cada elemento%% Fuerza nodal aplicado%ff(4)=-1000; % Segundo nodo tiene 1000 libras en dirección descendente%%bucle para los elementos%for iel=1:nelnd(1)=nodes(iel,1); % primer nodo conectado a la (iel) ésimo elemento nd(2)=nodes(iel,2); % Segundo nodo conectado a la (iel) ésimo elemento%x1=gcoord (nd(1),1); y1=gcoord(nd(1),2); % coordenadas delprimer nodox2=gcoord(nd(2),1); y2=gcoord(nd(2),2);% coordenadas del segundo nodo%leng=sqrt((x2-x1)^2 +(y2-y1)^2); % Longitud del elemento%if(x2-x1)==0;beta=2*atan(1); else beta=atan((y2-y1)/(x2-x1)); % angulo entre ejes locales y globalesend%el=elprop(iel,1); % extracto del módulo elásticoarea=elprop(iel,2); % extracto de área de sección transversal%index= feeldof(nd,nnel,ndof); % extracto del sistema dofs para el elemento
7
k=fetruss2(el,leng,area,0,beta,1); % Matriz elemento de cómputo%kk=feasmbl1(kk,k,index); % Ensamblarse en matriz del sistema%end%%Aplicar restricciones y resolver la matriz%[kk,ff]=feaplyc2(kk,ff,bcdof,bcval); % Aplicar condiciones de frontera%disp=kk\ff; % Resolver ecuacion de la matriz de desplazamientos nodales%%Puesto cómputo para el cálculo de la tensión%for iel=1:nel % bucle para el numeros de elementos % nd(1)=nodes(iel,1); % conectado nodo para el (iel)-ésimo elemento nd(2)=nodes(iel,2); % conectada nodo para el (iel)-ésimo elemento % x1=gcoord(nd(1),1);y1=gcoord(nd(1),2); x2=gcoord(nd(2),1); y2=gcoord(nd(2),2); % leng=sqrt((x2-x1)^2+(y2-y1)^2);% Longitud del elemento % if(x2-x1)==0; beta=2*atan(1); % angulo entre LOAL y ejes globales elsebeta=atan((y2-y1)/(x2-x1)); end % el=elprop(iel,1); % extracto de módulo elástico area=elprop(iel,2); % Extracto para área de la sección % index=feeldof(nd,nnel,ndof); % Sistema de extracción dofs para el elemento % k=fetruss2(el,leng,area,0,beta,1); % Matriz elemento de cómputo % for i=1:(nnel*ndof) eldisp(i)=disp(index(i)); % (iel)-ésimo elemento end % elforce=k*eldisp; % Vigor elemento del vector stress(iel)=sqrt(elforce(1)+elforce(2))/area; %tension % if((x2-x1)*elforce(3))<0; % chequeo si la tensión o compresión stress(iel)=-stress(iel); end %end
8
EJECUCIÓN DEL PROGRAMA
RESULTADOS:
Se muestra los resultados con su respectivo análisis e indicando si es compresión o tracción.
9
SEGUNDA PRÁCTICA CALIFICADA
ENUNCIADO DEL PROBLEMA
Encontrar las tensiones de la estructura de armadura mostrada en la figura. Todos los miembros tienen un módulo elástico de 200 GPa y el área de sección transversal de 2,5 * 10-3 m 2.
Carga F1=400+7*xx
Carga F2=1200+8*xx
SOLUCION POR ELEMENTOS FINITOS
CODIGO: 20124538G
Como se puede observar que mi código termina en 38, entonces:
Carga F1=666N
Carga F2=1504N
10
Ahora se detallan los elementos del sistema:
elementos nodos localesfinitos 1 2
1 1 2
2 1 3
3 2 3
4 2 4
5 3 4
6 3 5
7 4 5
8 4 6
9 5 6
FIG.2 GRAFICAS DE LOS NODOS Y ELEMENTOS
11
SOLUCIÓN MATLAB
Código fuente en MATLAB:
%=====================================================================%CURSO: CÁLCULO POR ELEMENTOS FINITOS (MC-516) SECCIÓN: 'C'%=====================================================================% % SEGUNDO EJERCICIO% ==================%% APELLIDOS Y NOMBRES: CONTRERAS DIAZ, ALEXANDER JHOEL% CÓDIGO: 20124538G% PROFESOR: ING. VERA ERMITAÑO% %=====================================================================% % DESCRIPCIÓN DEL PROGRAMA:
% Este programa nos permite encontrar las tensiones de la % estructura de armadura .Para este caso usaremos 9 % elementos finitos. %%=====================================================================%k=matriz de rigidez elemental%kk=matriz de rigidez del sistema%ff=vector de fuerza del sistema %index = vector que contiene dofs sistema asociado a elemento %gcoord = matriz de coordenadas global%disp= desplazamiento nodal vector%elforce=vector de fuerza de elementos%eldisp=desplazamiento nodal vector%stress=vector de tensión para cada elemento%prop=matriz de propiedades del material%nodes= matriz de conectividad nodal para cada elemento%bcdof =vector que contiene dofs asociados con condiciones de frontera%bcval=vector que contiene valores de condiciones de contorno asociada %%datos de entrada de control%nel=9; % número de elementosnnel=2; % Número de nodos por elementondof=2; % número de dofs por nodonnode=6; %numero total de los nodos en el sistemasdof=nnode*ndof; %dofs totales del sistema%% coordenadas nodales%gcoord(1,1)=0.0;gcoord(1,2)=0.0;gcoord(2,1)=4.0;gcoord(2,2)=0.0;gcoord(3,1)=4.0;gcoord(3,2)=3.0;gcoord(4,1)=8.0;gcoord(4,2)=0.0;gcoord(5,1)=8.0;gcoord(5,2)=3.0;gcoord(6,1)=12.;gcoord(6,2)=0.0;% propiedades del material%prop(1)=200e9;
12
prop(2)=0.0025; %%Conectividad nodal%nodes(1,1)=1;nodes(1,2)=2;nodes(2,1)=1;nodes(2,2)=3;nodes(3,1)=2;nodes(3,2)=3;nodes(4,1)=2;nodes(4,2)=4;nodes(5,1)=3;nodes(5,2)=4;nodes(6,1)=3;nodes(6,2)=5;nodes(7,1)=4;nodes(7,2)=5;nodes(8,1)=4;nodes(8,2)=6;nodes(9,1)=5;nodes(9,2)=6;%%restricciones aplicada%bcdof(1)=1; bcval(1)=0; % Cuyo valor descrito es 0bcdof(2)=2; bcval(2)=0; % Cuyo valor descrito es 0bcdof(3)=12; bcval(3)=0; % Cuyo valor descrito es 0%%inicialización de cero%ff=zeros (sdof,1); % Vigor sistema de vectorkk=zeros(sdof,sdof); %matriz de rigidez del sistemaindex=zeros(nnel*ndof,1);%vectorelforce=zeros(nnel*ndof,1);% vigor elemento del vectork=zeros(nnel*ndof,nnel*ndof); % Matriz de rigidez elementostress=zeros(nel,1); % Vector tensión para cada elemento%%Fuerza nodal aplicado%ff(8)= -600; % Cuarto nodo tiene 600N en dirección descendenteff(9)=200; %quinto nodo tiene 200 N %%bucle para los elementosfor iel=1:nel %nd(1)=nodes(iel,1); nd(2)=nodes(iel,2);%x1=gcoord(nd(1),1); y1=gcoord(nd(1),2); %coordenadas del primer nodo x2=gcoord(nd(2),1); y2=gcoord(nd(2),2);%coordenadas del segundo nodo%leng=sqrt((x2-x1)^2+(y2-y1)^2); % Longitud del elementoif(x2-x1)==0;beta=2*atan(1); % Angulo entre ejes locales y globales elsebeta=atan((y2-y1)/(x2-x1));end%
13
el=prop(1); % extracto de módulo elásticoarea=prop(2); % extracto de área de sección transversal%index=feeldof(nd,nnel,ndof); %k=fetruss2(el,leng,area,0,beta,1); %kk=feasmbl1(kk,k,index);% Ensamblarse en matriz del sistema%end%%Aplicar restricciones y resolver la matriz%[kk,ff]=feaplyc2(kk,ff,bcdof,bcval); % Aplicar condiciones de frontera%disp=kk\ff; % Resolver para encontrar los desplazamientos nodales%Puesto cómputo para el cálculo de la tensión%for iel=1:nel % de bucle para el número de elementos%nd(1)=nodes(iel,1);nd(2)=nodes(iel,2);%x1=gcoord(nd(1),1);y1=gcoord(nd(1),2);x2=gcoord(nd(2),1);y2=gcoord(nd(2),2);%leng=sqrt((x2-x1)^2+(y2-y1)^2); % Longitud del elemento%if(x2-x1)==0;beta=2*atan(1); elsebeta=atan((y2-y1)/(x2-x1));%angulo entre ejes locales y globalesend%el=prop(1); % modulo de elasticidaarea=prop(2); % area transversal%index=feeldof(nd,nnel,ndof); k=fetruss2(el,leng,area,0,beta,1);%for i=1:(nnel*ndof) ; eldisp(i)=disp(index(i)); end%elforce=k*eldisp; % vigor elemento del vectorstress(iel)=sqrt(elforce(1)^2+elforce(2)^2)/area; % tension%if((x2-x1)*elforce(3))<0; % chequeo si la tensión o compresiónstress(iel)=-stress(iel);end%end
14
EJECUCIÓN DEL PROGRAMA
RESULTADOS:
Se muestra los desplazamientos nodales de cada elemento y sus respectivas tensiones.
15
CONCLUSIONES
Los desplazamientos resultaron positivos quiere decir hay tracción, el materia está
siendo estirado, y cuando resulta negativo el elemento está en compresión.
Los problemas tiene una o dos incógnita que es la reacción en el piso, como
también incógnitas en los nodos, por lo tanto para la solución se genera un sistema
de ecuaciones de “n+1” incógnitas, el cual dependiendo que tan grande sea “n” se
verá si la solución del sistema es laboriosa o no, por ello hacemos uso del Matlab el
cual es una herramienta matemática que facilita esta operación.
Notamos que la suposición en cuando a la reacción en el piso es correcta ya que el
resultado fue positivo de caso contrario solo se cambiaba de dirección.
Podemos concluir también que de la elección de la cantidad de elementos finitos
radica la precisión de la respuesta (reacción) y da un mejor análisis del cuerpo
estudiado, no obstante mientras más elementos finitos se generan más incógnitas
haciendo tediosa la solución.
Recommended