UNIVERSIDAD NACIONAL DE
INGENIERÍA
FACULTAD DE INGENIERÍA MECÁNICA
Especialidad de Ingeniería Mecánica-Eléctrica
CALCULO POR ELEMENTOS FINITOS
(MC516 - F)
Práctica N°4: Armaduras en el espacio
PRESENTADO POR:
Apellidos y nombres Código
Mayta Aliaga Diego José 20184029A
PROFESOR
Cueva Pacheco, Ronald
LIMA, 2021
Página | 0
INDICE
1. DESARROLLO DEL PROBLEMA ........................................................................2
1.1 Enunciado del problema ..........................................................................................2
1.2 Modelado del cuerpo................................................................................................3
1.3 Grados de libertad nodales .......................................................................................6
1.4 Vector carga .............................................................................................................6
1.5 Cosenos directores ...................................................................................................7
1.6 Matrices de Rigidez Locales ....................................................................................8
1.7 Matriz de Rigidez del Modelo .................................................................................8
1.8 Ecuación de Rigidez y condiciones de contorno ...................................................10
1.9 Cálculo de esfuerzos ..............................................................................................10
1.10 Resultados ............................................................................................................11
2. DIAGRAMA DE FLUJO DEL PROGRAMA ......................................................16
3. DIGITACIÓN Y EJECUCIÓN (MATLAB) .........................................................20
3.1 Código de Matlab ...................................................................................................20
3.2 Vista en el “Command Window”...........................................................................25
4. CONCLUSIONES ....................................................................................................28
Página | 1
1. DESARROLLO DEL PROBLEMA
1.1 Enunciado del problema
En la figura se muestra una viga con dos apoyos simples, conformada mediante una
armadura en 3D; con las cargas de servicio indicadas.
DATOS:
𝑙 = 750 𝑚𝑚 𝑏 = 500 𝑚𝑚
∅ = 50 𝑚𝑚
𝑁
𝐸 = 2.10 ∙ 105
𝑚𝑚2
𝑃𝐴 = 12000 𝑁 𝑃𝐵 = 8000 𝑁
𝛽 = 60°
HALLAR:
• El esfuerzo en cada elemento finito.
• Las reacciones en los apoyos.
• La deformada de la armadura (gráfico).
FIGURA:
𝑷𝑨
𝟐
𝑷𝑨
𝟐
𝟔𝟎° 𝑷𝑩
𝟐
𝟔𝟎° 𝑷𝑩
𝟐
Página | 2
1.2 Modelado del cuerpo
Dado que cada barra de la armadura es de sección constante, estas pueden ser modeladas
como elementos finitos. Asimismo, como solo se mostraron dos vistas de la armadura, la
configuración real queda a criterio del estudiante. Para este análisis se consideró una
armadura de 33 barras y, por lo tanto, un sistema de 33 elementos finitos, 12 nodos y 26
de grados de libertad. A continuación, se enumeran los nodos del sistema:
Parte izquierda z
(4)
1 x
(1) 4 y
12
(3)
2 (2) 3
11 10
6 8
5
9 (6)
(5)
Parte central
(3)
(2) 3
15
19 (8)
13
(7) 14
10 8 23
7
26
21 25
24 22
9 (6)
18
(5) 20
16
17 (10)
(9)
Página | 3
Parte derecha
(8)
(7) 14 29
32 (12)
27
(11) 28
25
22
24 31
33
z
30
17 (10) y
x
(9)
Tomando el nodo 4 como origen de coordenadas y siguiendo la dirección positiva de los
ejes tal y como se muestra en las figuras, se procede a calcular la posición de cada uno de
los 12 nodos:
Nodo X (mm) Y (mm) Z(mm)
1 500 0 0
2 500 750 0
3 0 750 0
4 0 0 0
5 500 750 -433.012702
6 0 750 -433.012702
7 500 1500 0
8 0 1500 0
9 500 1500 -433.012702
10 0 1500 -433.012702
11 500 2250 0
12 0 2250 0
Página | 4
Tabla de conectividad del modelo
A continuación, se muestra la tabla de conectividad de la armadura. Cabe resaltar que los
grados de libertad nodales siguen la dirección positiva de los ejes x, y, z establecidos
anteriormente.
Nodos GDL
(e) le (mm) Ae (mm2)
(1) (2) X1 Y1 Z1 X2 Y2 Z2
1 4 1 10 11 12 1 2 3 500 1963.49541
2 1 2 1 2 3 4 5 6 750 1963.49541
3 3 2 7 8 9 4 5 6 500 1963.49541
4 4 3 10 11 12 7 8 9 750 1963.49541
5 1 5 1 2 3 13 14 15 866.025404 1963.49541
6 4 6 10 11 12 16 17 18 866.025404 1963.49541
7 2 5 4 5 6 13 14 15 433.012702 1963.49541
8 3 6 7 8 9 16 17 18 433.012702 1963.49541
9 6 5 16 17 18 13 14 15 500 1963.49541
10 2 6 4 5 6 16 17 18 661.437828 1963.49541
11 1 6 1 2 3 16 17 18 1000 1963.49541
12 1 3 1 2 3 7 8 9 901.387819 1963.49541
13 2 7 4 5 6 19 20 21 750 1963.49541
14 8 7 22 23 24 19 20 21 500 1963.49541
15 3 8 7 8 9 22 23 24 750 1963.49541
16 5 9 13 14 15 25 26 27 750 1963.49541
17 10 9 28 29 30 25 26 27 500 1963.49541
18 6 10 16 17 18 28 29 30 750 1963.49541
19 3 7 7 8 9 19 20 21 901.387819 1963.49541
20 6 9 16 17 18 25 26 27 901.387819 1963.49541
21 7 5 19 20 21 13 14 15 866.025404 1963.49541
22 7 10 19 20 21 28 29 30 661.437828 1963.49541
23 8 6 22 23 24 16 17 18 866.025404 1963.49541
24 7 9 19 20 21 25 26 27 433.012702 1963.49541
25 8 10 22 23 24 28 29 30 433.012702 1963.49541
26 7 6 19 20 21 16 17 18 1000 1963.49541
27 7 11 19 20 21 31 32 33 750 1963.49541
28 12 11 34 35 36 31 32 33 500 1963.49541
29 8 12 22 23 24 34 35 36 750 1963.49541
30 11 9 31 32 33 25 26 27 866.025404 1963.49541
31 12 10 34 35 36 28 29 30 866.025404 1963.49541
32 8 11 22 23 24 31 32 33 901.387819 1963.49541
33 11 10 31 32 33 28 29 30 1000 1963.49541
Página | 5
1.3 Grados de libertad nodales (Vector Desplazamiento)
Para el sistema, el vector desplazamiento quedaría expresado como:
𝑸𝟏
𝑸𝟐
⋮
𝑸= 𝒎𝒎
𝑸𝟑𝟒
𝑸𝟑𝟓
[𝑸𝟑𝟔 ]
Asimismo, tomando en cuenta que en los nodos 1 y 4 existen apoyos fijos, se tiene:
Nodo 1: 𝑄1 = 0 𝑄2 = 0 𝑄3 = 0
Nodo 4: 𝑄10 = 0 𝑄11 = 0 𝑄12 = 0
También, considerando que en los nodos 11 y 12 existe restricción al movimiento en el
eje z, se tiene:
Nodo 11: 𝑄33 = 0
Nodo 12: 𝑄36 = 0
1.4 Vector Carga
Para el sistema, el vector carga quedaría expresado como:
𝑭𝟏
𝑭𝟐
⋮
𝑭= 𝑵
𝑭𝟑𝟒
𝑭𝟑𝟓
[𝑭𝟑𝟔 ]
Asimismo, tomando en cuenta que en los nodos 1 y 4 existen apoyos fijos, se tiene:
Nodo 1: 𝐹1 = 𝑅1 𝐹2 = 𝑅2 𝐹3 = 𝑅3
Nodo 4: 𝐹10 = 𝑅10 𝐹11 = 𝑅11 𝐹12 = 𝑅12
También, considerando que en los nodos 11 y 12 existe restricción al movimiento en el
eje z, se tiene:
Nodo 11: 𝐹31 = 0 𝐹32 = 0 𝐹33 = 𝑅33
Nodo 12: 𝐹34 = 0 𝐹35 = 0 𝐹36 = 𝑅36
Asimismo, tomando en cuenta que en los nodos 5, 6, 9 y 10 existen fuerzas concentradas:
Nodo 5: 𝐹13 = 0 𝐹14 = 0 𝐹15 = −6000 N
Nodo 6: 𝐹16 = 0 𝐹17 = 0 𝐹18 = −6000 N
Nodo 9: 𝐹25 = 0 𝐹26 = 3464.1016 N 𝐹27 = −2000 N
Nodo 10: 𝐹28 = 0 𝐹29 = 3464.1016 N 𝐹30 = −2000 N
Página | 6
1.5 Cosenos directores
Los cosenos directores en función de las coordenadas nodales, serán:
𝒙𝟐 −𝒙𝟏 𝒚𝟐 −𝒚𝟏 𝒛𝟐 −𝒛𝟏
𝒍= 𝒎= 𝒏=
𝒍𝒆 𝒍𝒆 𝒍𝒆
En la siguiente tabla se muestran los cosenos directores de los 33 elementos finitos que
conforman el sistema:
(e) l m n
1 1 0 0
2 0 1 0
3 1 0 0
4 0 1 0
5 0 0.8660254 -0.5
6 0 0.8660254 -0.5
7 0 0 -1
8 0 0 -1
9 1 0 0
10 -0.75592895 0 -0.65465367
11 -0.5 0.75 -0.4330127
12 -0.5547002 0.83205029 0
13 0 1 0
14 1 0 0
15 0 1 0
16 0 1 0
17 1 0 0
18 0 1 0
19 0.5547002 0.83205029 0
20 0.5547002 0.83205029 0
21 0 -0.8660254 -0.5
22 -0.75592895 0 -0.65465367
23 0 -0.8660254 -0.5
24 0 0 -1
25 0 0 -1
26 -0.5 -0.75 -0.4330127
27 0 1 0
28 1 0 0
29 0 1 0
30 0 -0.8660254 -0.5
31 0 -0.8660254 -0.5
32 0.5547002 0.83205029 0
33 -0.5 -0.75 -0.4330127
Página | 7
1.6 Matrices de Rigidez Locales
Las matrices de rigidez locales para cada elemento finito, se expresan como:
Para el sistema estudiado, ya que está conformado por 33 elementos finitos, se tendrían
33 matrices de rigidez locales.
1.7 Matriz de Rigidez del Modelo (global)
Una vez calculadas las matrices, calculamos la matriz de rigidez global según la siguiente
relación:
∈
𝑲𝒊𝒋 = ∑ 𝒌𝒆𝒔𝒓
𝒆
Para el sistema, la matriz de rigidez global es de 36x36 y está dada por:
Columnas de la 1 a la 11:
Página | 8
Columnas de la 12 a la 22:
Columnas de la 23 a la 33:
Página | 9
Columnas de la 34 a la 36:
1.8 Ecuación de Rigidez y condiciones de contorno
La ecuación de rigidez está determinada por la siguiente ecuación:
𝑭𝒊 = 𝑲𝒊𝒋 ∙ 𝑸𝒋
Al aplicar dicha relación, se obtienen los desplazamientos nodales y las reacciones en los
apoyos.
1.9 Cálculo de esfuerzos
Para calcular los valores de los esfuerzos por elemento finito, aplicamos la siguiente
relación:
𝒒𝟏
𝒒𝟐
𝒆
𝑬 𝒆 𝒒𝟑
𝝈 = ( ) [−𝒍 −𝒎 −𝒏 𝒍 𝒎 𝒏] 𝒒
𝒍𝒆 𝟒
𝒒𝟓
[𝒒𝟔 ]
Página | 10
1.10 Resultados
a) Desplazamientos nodales
Qi Eje Desplazamiento (mm)
Q1 x 0
Nodo 1 Q2 y 0
Q3 z 0
Q4 x -0.004943911850885
Nodo 2 Q5 y -0.006060686009485
Q6 z -0.051825411068185
Q7 x -0.007472012808427
Nodo 3 Q8 y -0.011301619531782
Q9 z -0.082768898875882
Q10 x 0
Nodo 4 Q11 y 0
Q12 z 0
Q13 x 0.027706570292329
Nodo 5 Q14 y -0.011984205604770
Q15 z -0.053721486786341
Q16 x 0.027706570292329
Nodo 6 Q17 y -0.020685791780852
Q18 z -0.082768898875882
Q19 x -0.011574163740345
Nodo 7 Q20 y -0.012121372018969
Q21 z -0.051209533827927
Q22 x -0.012551189272823
Nodo 8 Q23 y -0.024196411906317
Q24 z -0.068433927859567
Q25 x 0.002065903006078
Nodo 9 Q26 y -0.000475508093295
Q27 z -0.050975497205343
Q28 x 0.002863776641725
Nodo 10 Q29 y -0.004585497216704
Q30 z -0.067402128035450
Q31 x -0.025883644748302
Nodo 11 Q32 y -0.019124383548687
Q33 z 0
Q34 x -0.025883644748302
Nodo 12 Q35 y -0.031797497360425
Q36 z 0
Página | 11
b) Esfuerzos en cada elemento finito
(e) Esfuerzo (MPa)
Elemento 1 0
Elemento 2 -1.696992082655702
Elemento 3 1.061802402167515
Elemento 4 -3.164453468899077
Elemento 5 3.996700943044118
Elemento 6 5.691179395790121
Elemento 7 0.919547854076420
Elemento 8 0.000000000000007
Elemento 9 -0.000000000000002
Elemento 10 -1.404632548813137
Elemento 11 1.359194666148022
Elemento 12 -1.225161515533462
Elemento 13 -1.696992082655701
Elemento 14 0.410350723641058
Elemento 15 -3.610541864869813
Elemento 16 3.222435303212937
Elemento 17 -0.335106926971797
Elemento 18 4.508082477961460
Elemento 19 -0.689029987179471
Elemento 20 0.604122603980003
Elemento 21 0.275753163531828
Elemento 22 -0.099538186843592
Elemento 23 1.000792642422097
Elemento 24 -0.113501729921612
Elemento 25 -0.500396321211042
Elemento 26 0.094196284243431
Elemento 27 -1.960843228320916
Elemento 28 0
Elemento 29 -2.128303927150127
Elemento 30 2.264186731419466
Elemento 31 2.457553690514919
Elemento 32 -0.739770287505813
Elemento 33 0.820701447282129
Página | 12
c) Reacciones en los apoyos
Reacciones en el apoyo fijo del nodo 1:
𝑅1 (𝑒𝑗𝑒 𝑥) = 0 𝑁
𝑅2 (𝑒𝑗𝑒 𝑦) = −3464.1016 𝑁
𝑅3 (𝑒𝑗𝑒 𝑧) = 5079.3644 𝑁
𝑹𝑬𝑺𝑼𝑳𝑻𝑨𝑵𝑻𝑬 = 𝟔𝟏𝟒𝟖. 𝟏𝟔𝟓𝟖 𝑵
Reacciones en el apoyo fijo del nodo 4:
𝑅10 (𝑒𝑗𝑒 𝑥) = 0 𝑁
𝑅11 (𝑒𝑗𝑒 𝑦) = −3464.1016 𝑁
𝑅12 (𝑒𝑗𝑒 𝑧) = 5587.3023 𝑁
𝑹𝑬𝑺𝑼𝑳𝑻𝑨𝑵𝑻𝑬 = 𝟔𝟓𝟕𝟒. 𝟎𝟑𝟓𝟖 𝑵
Reacciones en el apoyo de rodillo del nodo 11:
𝑅31 (𝑒𝑗𝑒 𝑥) = 0 𝑁
𝑅32 (𝑒𝑗𝑒 𝑦) = 0 𝑁
𝑅33 (𝑒𝑗𝑒 𝑧) = 2920.6356 𝑁
𝑹𝑬𝑺𝑼𝑳𝑻𝑨𝑵𝑻𝑬 = 𝟐𝟗𝟐𝟎. 𝟔𝟑𝟓𝟔 𝑵
Reacciones en el apoyo de rodillo del nodo 12:
𝑅34 (𝑒𝑗𝑒 𝑥) = 0 𝑁
𝑅35 (𝑒𝑗𝑒 𝑦) = 0 𝑁
𝑅36 (𝑒𝑗𝑒 𝑧) = 2412.6977 𝑁
𝑹𝑬𝑺𝑼𝑳𝑻𝑨𝑵𝑻𝑬 = 𝟐𝟒𝟏𝟐. 𝟔𝟗𝟕𝟕 𝑵
Página | 13
d) Deformada de la armadura
Para obtener el gráfico de la deformada de la armadura, se utilizó el software SolidWorks.
Además, las barras están coloreadas de acuerdo a la magnitud del esfuerzo que soportan.
Los resultados fueron los siguientes:
Figura A. Vista isométrica de la armadura deformada
Figura B. Vista frontal de la armadura deformada
Página | 14
Figura C. Vista superior de la armadura deformada
Figura D. Vista lateral de la armadura deformada
Página | 15
2. DIAGRAMA DE FLUJO DEL PROGRAMA
Página | 16
Página | 17
Página | 18
Página | 19
3. DIGITACIÓN Y EJECUCIÓN (MATLAB)
3.1 Código de Matlab
clc
clear all
disp('................................................................
.............')
disp(' INGRESO DE DATOS')
disp('----------------------------------------------------------------
-------------')
E=input('Ingrese el valor del Módulo de elasticidad en MPa: ');
d=input('Ingrese diámetro de la seccion de cada barra(mm): ');
PA=input('Ingrese el valor de la fuerza PA (N): ');
PB=input('Ingrese el valor de la fuerza PB (N): ');
beta=input('Ingrese el valor del ángulo B (°): ');
nds=input('Ingrese el número de nodos: ');
k=input('Ingrese el número de elementos finitos: ');
nodos=input('Ingresar el nodo inicial y final de cada elemento finito:
[ni ni+1;...]:\n');
fprintf('\n')
%INGRESO DE LAS COORDENADAS DE CADA NODO
for i=1:nds
fprintf('Ingrese las cordenadas del nodo %.0f : \n',i)
coord = input('[x y z] = ');
ncoord(i,1) = coord(1);
ncoord(i,2) = coord(2);
ncoord(i,3) = coord(3);
end
fprintf('\n')
%DETERMINACIÓN DEL VECTOR FUERZA
f1=input('Ingrese el primer nodo donde actúa la fuerza PA/2: ');
f2=input('Ingrese el segundo nodo donde actúa la fuerza PA/2: ');
f3=input('Ingrese el primer nodo donde actúa la fuerza PB/2: ');
f4=input('Ingrese el segundo nodo donde actúa la fuerza PB/2: ');
fprintf('\n')
%CONDICIONES DE CONTORNO
a1=input('Ingrese el nodo en el cuál se encuentra el apoyo fijo 1: ');
a2=input('Ingrese el nodo en el cuál se encuentra el apoyo fijo 2: ');
b1=input('Ingrese el nodo en el cuál se encuentra el apoyo de tipo
rodillo 1: ');
b2=input('Ingrese el nodo en el cuál se encuentra el apoyo de tipo
rodillo 2: ');
fprintf('\n')
%DEFINIMOS LAS VARIABLES QUE UTILIZAREMOS MÁS ADELANTE
lm=[];
A=(pi*d^2)/4;
FC=[];
le=[];
l=[];
Página | 20
m=[];
n=[];
Ae = [];
ksr = [];
krs=zeros(3*nds);
Kij=zeros(3*nds);
ESFUERZOS=zeros(k,1);
F = zeros(3*nds,1);
%DEFINIMOS EL VECTOR FUERZA
F(3*f1)=-PA/2;
F(3*f2)=-PA/2;
F(3*f3)=-PB*cos(beta*pi/180)/2;
F(3*f4)=-PB*cos(beta*pi/180)/2;
F(3*f3-1)=PB*sin(beta*pi/180)/2;
F(3*f4-1)=PB*sin(beta*pi/180)/2;
F; %Vector que contiene las cargas de la armadura
%HALLAMOS LA LONGITUD Y LOS COSENOS DIRECTORES DE CADA ELEMENTO
for i=1:k
le(i)=sqrt((ncoord(nodos(i,2),1)-
ncoord(nodos(i,1),1))^2+(ncoord(nodos(i,2),2)-
ncoord(nodos(i,1),2))^2+(ncoord(nodos(i,2),3)-
ncoord(nodos(i,1),3))^2);
l(i)=(ncoord(nodos(i,2),1)-ncoord(nodos(i,1),1))/le(i);
m(i)=(ncoord(nodos(i,2),2)-ncoord(nodos(i,1),2))/le(i);
n(i)=(ncoord(nodos(i,2),3)-ncoord(nodos(i,1),3))/le(i);
Ae(i) = A*E/le(i);
end
le; %Vector columna que contiene las longitudes de cada elemento
finito
l; %Vector columna que contiene todas los cosenos directores l
m; %Vector columna que contiene todas los cosenos directores m
n; %Vector columna que contiene todas los cosenos directores n
%HALLAMOS LA MATRIZ DE RIGIDEZ LOCAL DE CADA ELEMENTO
for i=1:k
ks = Ae(i)*[l(i)^2 l(i)*m(i) l(i)*n(i) -l(i)^2 -l(i)*m(i) -
l(i)*n(i);
l(i)*m(i) m(i)^2 m(i)*n(i) -l(i)*m(i) -m(i)^2 -m(i)*n(i);
l(i)*n(i) m(i)*n(i) n(i)^2 -l(i)*n(i) -m(i)*n(i) -n(i)^2;
-l(i)^2 -l(i)*m(i) -l(i)*n(i) l(i)^2 l(i)*m(i) l(i)*n(i);
-l(i)*m(i) -m(i)^2 -m(i)*n(i) l(i)*m(i) m(i)^2 m(i)*n(i);
-l(i)*n(i) -m(i)*n(i) -n(i)^2 l(i)*n(i) m(i)*n(i) n(i)^2;];
ksr=[ksr ks];
end
ksr; %Vector que guarda todas las matrices de rigidez locales
%HALLAMOS LA MATRIZ DE RIGIDEZ GLOBAL
for i=1:k
ps1=nodos(i,1)*3-2;
ps2=nodos(i,1)*3-1;
Página | 21
ps3=nodos(i,1)*3;
ps4=nodos(i,2)*3-2;
ps5=nodos(i,2)*3-1;
ps6=nodos(i,2)*3;
krs(ps1,ps1)=l(i)^2;
krs(ps1,ps2)=l(i)*m(i);
krs(ps1,ps3)=l(i)*n(i);
krs(ps1,ps4)=-l(i)^2;
krs(ps1,ps5)=-l(i)*m(i);
krs(ps1,ps6)=-l(i)*n(i);
krs(ps2,ps1)=l(i)*m(i);
krs(ps2,ps2)=m(i)^2;
krs(ps2,ps3)=m(i)*n(i);
krs(ps2,ps4)=-l(i)*m(i);
krs(ps2,ps5)=-m(i)^2;
krs(ps2,ps6)=-m(i)*n(i);
krs(ps3,ps1)=l(i)*n(i);
krs(ps3,ps2)=m(i)*n(i);
krs(ps3,ps3)=n(i)^2;
krs(ps3,ps4)=-l(i)*n(i);
krs(ps3,ps5)=-m(i)*n(i);
krs(ps3,ps6)=-n(i)^2;
krs(ps4,ps1)=-l(i)^2;
krs(ps4,ps2)=-l(i)*m(i);
krs(ps4,ps3)=-l(i)*n(i);
krs(ps4,ps4)=l(i)^2;
krs(ps4,ps5)=l(i)*m(i);
krs(ps4,ps6)=l(i)*n(i);
krs(ps5,ps1)=-l(i)*m(i);
krs(ps5,ps2)=-m(i)^2;
krs(ps5,ps3)=-m(i)*n(i);
krs(ps5,ps4)=l(i)*m(i);
krs(ps5,ps5)=m(i)^2;
krs(ps5,ps6)=m(i)*n(i);
krs(ps6,ps1)=-l(i)*n(i);
krs(ps6,ps2)=-m(i)*n(i);
krs(ps6,ps3)=-n(i)^2;
krs(ps6,ps4)=l(i)*n(i);
krs(ps6,ps5)=m(i)*n(i);
krs(ps6,ps6)=n(i)^2;
Kij=Kij+Ae(i)*krs;
krs=zeros(3*nds);
end
Kij; %Matriz de Rigidez Global
%RESOLUCIÓN DE LA ECUACIÓN DE RIGIDEZ
%Primero reescribimos el sistema para agrupar las variables en un solo
%vector
Kmod=Kij;
for i=1:nds
if i==a1 || i==a2
Kmod(1:3*nds,3*i-2:3*i)=0;
Kmod(3*i-2,3*i-2)=-1;
Kmod(3*i-1,3*i-1)=-1;
Kmod(3*i,3*i)=-1;
elseif i==b1 || i==b2
Kmod(1:3*nds,3*i)=0;
Kmod(3*i,3*i)=-1;
end
Página | 22
end
Kmod; %Matriz de rigidez modificada
%Se resuelve la ecuación para todas las variables
RESULTADOS=inv(Kmod)*F;
%HALLAMOS EL VECTOR DE DESPLAZAMIENTOS
DESPLAZAMIENTOS=RESULTADOS;
for i=1:nds
if i==a1 || i==a2
DESPLAZAMIENTOS(3*i-2)=0;
DESPLAZAMIENTOS(3*i-1)=0;
DESPLAZAMIENTOS(3*i)=0;
elseif i==b1 || i==b2
DESPLAZAMIENTOS(3*i)=0;
end
end
DESPLAZAMIENTOS; %Vector columna que contiene los desplazamientos de
cada nodo
%HALLAMOS EL VECTOR DE REACCIONES
REACCIONES=RESULTADOS-DESPLAZAMIENTOS;
REACCIONES; %Vector columna que contiene las reacciones horizontales y
verticales en los 2 apoyos
%HALLAMOS EL VECTOR DE ESFUERZOS
for i=1:k
ESFUERZOS(i)=(E/le(i))*[-l(i) -m(i) -n(i) l(i) m(i)
n(i)]*[DESPLAZAMIENTOS(3*nodos(i,1)-2); DESPLAZAMIENTOS(3*nodos(i,1)-
1); DESPLAZAMIENTOS(3*nodos(i,1)); DESPLAZAMIENTOS(3*nodos(i,2)-2);
DESPLAZAMIENTOS(3*nodos(i,2)-1); DESPLAZAMIENTOS(3*nodos(i,2))];
end
ESFUERZOS; %Vector columna que contiene los esfuerzos en cada elemento
%RESULTADOS
disp('................................................................
.............')
disp(' RESULTADOS')
disp('----------------------------------------------------------------
-------------')
disp('El vector de desplazamientos en mm:')
disp(DESPLAZAMIENTOS)
disp('El vector de esfuerzos en MPa:')
disp(ESFUERZOS)
disp('La reacciones en el apoyo fijo 1: ')
disp(REACCIONES(3*a1-2:3*a1))
res=sqrt(REACCIONES(3*a1-2)^2+REACCIONES(3*a1-
1)^2+REACCIONES(3*a1)^2);
Página | 23
fprintf('Resultante: %.0f N\n',res)
fprintf('\n')
disp('La reacciones en el apoyo fijo 2: ')
disp(REACCIONES(3*a2-2:3*a2))
res=sqrt(REACCIONES(3*a2-2)^2+REACCIONES(3*a2-
1)^2+REACCIONES(3*a2)^2);
fprintf('Resultante: %.0f N\n',res)
fprintf('\n')
disp('La reacciones en el apoyo de rodillo 1: ')
disp(REACCIONES(3*b1-2:3*b1))
fprintf('Resultante: %.0f N\n',REACCIONES(3*b1))
fprintf('\n')
disp('La reacciones en el apoyo de rodillo 2: ')
disp(REACCIONES(3*b2-2:3*b2))
fprintf('Resultante: %.0f N\n',REACCIONES(3*b2))
fprintf('\n')
Página | 24
3.2 Vista en el “Command Window”
Página | 25
Página | 26
Página | 27
4. CONCLUSIONES
• Notamos que el valor de esfuerzo máximo se da en la barra 6 y es de 5.6912 MPa
(compresión) aproximadamente. Si revisamos la simulación en SolidWorks (Ver pág.
14), se observa que la barra 6 está coloreada de una tonalidad roja; lo cuál indica que
dicha barra soporta el mayor esfuerzo en la armadura.
• Notamos que la reacción en el eje x es igual a 0 N en los apoyos fijos que se
encuentran en los nodos 1 y 4. Esto tiene sentido puesto que, en toda la armadura, no
existe ninguna carga en la dirección del eje x.
• De los resultados obtenidos, notamos que los esfuerzos en las barras 1 y 28 es de 0
MPa. Esto era lo esperado dado que dichas barras se encuentran netamente en el eje
x y no existe ninguna carga neta en la dirección de dicho eje en los apoyos.
• De los resultados obtenidos, notamos que la mayoría de esfuerzos en las barras tienen
valores negativos. Esto indica que la mayoría de barras en la armadura están sujetas
a compresión.
• Para la aplicación de este tipo de métodos en la resolución de problemas de
estructuras, se puede decir que es imprescindible la utilización de algún software para
el cálculo (en este caso el Matlab). Por ejemplo, para el estudio de esta armadura de
12 nodos, se llegó a trabajar con una matriz de rigidez de 36x36; de haberse hecho los
cálculos manualmente el trabajo habría sido demasiado engorroso y probablemente
se hubiesen cometido algunos errores.
• Al hallar las reacciones en los apoyos aplicando las ecuaciones de la Estática, notamos
que los resultados son bastante similares a los encontrados con el Método de los
Elementos Finitos. Cabe resaltar que el pequeño margen de diferencia se debió a
pérdida de exactitud que implica trabajar con métodos iterativos en softwares, en este
caso el Matlab.
• Pudimos comprobar la versatilidad de aplicación del Método de los Elementos
Finitos. Por ejemplo, se utilizó la misma estructura del algoritmo para analizar una
placa triangular, una armadura plana y, por último, una armadura en el espacio.
Página | 28