Contenido bajo licencia Creative Commons BY-NC-ND. El contenido de este Notebook es creado por Ana Beatriz Acevedo Jaramillo y Daniela González González 2020. Este material es parte del curso Análisis de Estructuras del programa de Ingeniería Civil de la Universidad EAFIT.
Los parámetros que definen la matriz de rigidez de una cercha plana son (para cada elemento): Área de la sección transversal (A), módulo de rigidez (E) y longitud (L).
Considere un elemento con estas propiedades: Área = A (mm$^{2}$), Longitud = L (mm) y Módulo de elasticidad = E (GPa).
NOTA: Para la programación es más apropiado utilizar las coordenadas de los nodos iniciales y finales del elemento y a partir de ellas calcular la longitud L. Esta es la forma que se utiliza en este cuaderno.
Ingrese las coordenadas del nodo incial y final del elemento:
Xi = 0 #Coordenada X del nodo inicial en mm
Yi = 0 #Coordenada Y del nodo final en mm
Xf = 3000 #Coordenada X del nodo final en mm
Yf = 4000 #Coordenada Y del nodo final en mm
Longitud del elemento: $L=\sqrt{(X_f-X_i)^{2}+(Y_f-Y_i)^{2}}$
L = ((Xf-Xi)**2+(Yf-Yi)**2)**0.5 #Longitud en mm
print(L)
5000.0
Dibujo del elemento:
import matplotlib.pyplot as plt
import numpy as np
x_data = (Xi,Xf)
y_data = (Yi,Yf)
plt.plot(x_data, y_data)
plt.show()
Ahora ingrese los valores de las demás propiedades de los elementos: área de la sección transversal (A) y módulo de elasticidad (E).
A = 500 #Área de la sección transversal en mm^2
E = 200 #Módulo de elasticidad en GPa
Genere la matriz de rigidez del elemento en coordenadas locales (k). Las unidades son (kN/mm). En el código esta matriz se llamará MAL.
import numpy as np
MAL = np.zeros((4,4), dtype =float) #genera una matriz de ceros de dimensión 4x4
MAL[0,0]=A*E/L
MAL[2,0]=-A*E/L
MAL[0,2]=-A*E/L
MAL[2,2]=A*E/L
print(MAL)
[[ 20. 0. -20. 0.] [ 0. 0. 0. 0.] [-20. 0. 20. 0.] [ 0. 0. 0. 0.]]
Esta matriz es única para el elemento: No importa la dirección del elemento, está siempre será su matriz de rigidez local.
Modifique los valores de las propiedades de los elementos para ver sus efectos en la matriz de rigidez local.
Ahora considere la posición del elemento en el espacio:
$ \begin{bmatrix}T\end{bmatrix}=$ Matriz de transformación de coordenadas
Cosenos directores: $CX=\frac{X_f-X_i}{L}$; $CY=\frac{Y_f-Y_i}{L}$
Cálculo de los cosenos directores del elemento:
CX=(Xf-Xi)/L
CY=(Yf-Yi)/L
print(CX)
print(CY)
0.6 0.8
Cálculo la matriz de transformación del elemento. En el código la matriz se almacena como MT.
MT = np.zeros((4,4), dtype =float) #generación de una matriz de ceros de dimensión 4x4.
MT[0,0]=CX
MT[1,0]=CY
MT[2,2]=CX
MT[3,2]=CY
print(MT)
[[0.6 0. 0. 0. ] [0.8 0. 0. 0. ] [0. 0. 0.6 0. ] [0. 0. 0.8 0. ]]
Modifique la dirección del elemento para ver su efecto en la matriz de transformación.
Cálculo de la matriz de rigidez del elemento en coordenadas globales (K).
K=np.dot(MT,np.dot(MAL,np.transpose(MT)))
print(K)
[[ 7.2 9.6 -7.2 -9.6] [ 9.6 12.8 -9.6 -12.8] [ -7.2 -9.6 7.2 9.6] [ -9.6 -12.8 9.6 12.8]]