Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Metropolitana
Departamento de mecánica
Programación en Matlab de
análisis estructural 2D por
método de los nodos
Profesor
Christian Muñoz
1
Figure 3: Diagrama de cuerpo libre de la armadura.
Σx = 0 : R1x + 500 = 0
Σy = 0 : R1y + R3y = 0
ΣM = 0 : −2 ∗ 500 + 2 ∗ R3y = 0
Desarrolando las ecuaciones llegamos a:
Nodo 1:
2
Σy = 0 : F2−1 − F2−3 ∗ sen(α) = 0 con : F1−2 − F2−1 ⇒ F2−3 = 707, 1(N )
Nodo 3:
3
Resultado de estas fuerzas aplicadas en los nodos, crea desplazamientos
u 1 y u0 2.
0
Donde
" #
(e) (e) (e) T (e) (e) (e) cos2 (α) sen(α)cos(α)
K11 = −K12 = [L ] k L =k (7)
sen(α)cos(α) sen2 (α)
Por último, conociendo los desplazamientos de cada nodo con respecto a los
ejes globales y el aporte de cargas externas, se resuelve:
(e) (e)
Fx1
cos (α) 2
sen(α)cos(α) −cos (α) −sen(α)cos(α) 2
u1
(e) (e)
Fy1 sen(α)cos(α) sen2 (α) −sen(α)cos(α) −sen2 (α) v1
=
(e)
−cos2 (α) −sen(α)cos(α) cos2 (α) sen(α)cos(α) (e)
Fx2
u2
2
(e) −sen(α)cos(α) −sen (α) sen(α)cos(α) sen2 (α) (e)
Fy2 v2
4
El esfuerzo de un elemento se define por σ = Eε, utilizando las mismas
definiciones expresadas se demuestra[2] :
u02 − u01
( )
E u01 E
σ=E = [−1 1] = [−1 1]u0 (9)
Le Le u02 Le
Figure 7: Pre-proceso.
5
Por último, para finalizar la etapa de pre-proceso, creamos las ecuaciones
matriciales base, para completar debidamente en la etapa de proceso. Las
magnitudes de esta matriz corresponderán a las otorgadas por los grados
de libertad (Gdl) de nuestro problema, en este caso 6 grados de libertad
Figure(6), y nos resultará lo siguiente.
F K v
0 0 0 0 0 0
0 0 0 0 0 0
=
0 0 0 0 0 0
0 0 0 0 0 0
Figure 8: Proceso.
Donde:
6
Gracias a esto, se puede completar la matriz de rigidez global K explicada
anteriormente usando la lı́nea de programación:
k1=((30e6*0.01)/Lel)*[C*C C*S -C*C -C*S; C*S S*S -C*S -S*S; -C*C
-C*S C*C C*S;-C*S -S*S C*S S*S];
K(eGdl,eGdl) = K(eGdl,eGdl)+k1
Donde k1 será la contribución de cada elemento, a la matriz de rigidez
global K.
Ahora se determina los vectores de desplazamientos para poder hallar las
reacciones.
Donde se crea la variable aGd que puede separar los grados de libertad que
están libres, gracias a que crea una diferenciación entre variables (comando
setdiff).
[1 : Gdl] = 123456
}aGdl = 345
Sopor = 126
Ası́ solo ocupamos parte de la matriz de rigidez para resolver el sistema
de ecuaciones, ya que los puntos 1 2 6 no tienen desplazamientos (apoyos)
y que harán 0 cualquier elemento dentro de la matriz de rigidez global al
multiplicarse por estos.
Luego para encontrar las reacciones, solo se debe ensamblar los resultados
de los desplazamientos a una matriz de desplazamiento global v1 (para que
pueda ser multiplicada por la matriz de rigidez global K) cuyo rango será de
6x1.
Por último, para finalizar la etapa de proceso se determina las fuerzas
ejercidas en cada barra utilizando la definición de la ecuación 10 y aplicando
la metodologı́a de ensamble de la matriz Figure(10).
7
• Reacciones en los apoyos.
Comenzando con crear los nuevos nodos desplazados para luego poder
visualizar. Esto se logra gracias a la siguiente lı́nea de programación, en
donde a cada nodo se le suma su desplazamiento.
8
y azul representa la armadura deformada en compresión y tracción respec-
tivamente y se creó con el subcomando ‘-r’y’-b’. Para finalizar la etapa de
post-proceso, se crea una pequeña programación para que, al momento de
graficar muestre al operador (de forma textual) cuales elementos están siendo
comprimidos y cuales están siendo traccionados.
• text(X,Y,’texto’)
• text((xx(m(1))+abs(xT/2)),(yy(m(1))+yT/2),’Compresión’)
9
Figure 15: Gráfico final estructura 1
Bibliografı́a
1 E.Oñate. Structural Analysis with the Finite Element Method, 2009
2 J. Hurtado. Análisis matricial de estructuras
10