Tutorial para correr desde Python
Crear estructuras desde scripts de python
Se puede crear y correr una estructura desde un script de python (archivo .py), corriendolo desde una consola de Python o desde el 'Command prompt' de windows. Se pueden encontrar ejemplos de scripts en el Gitlab del proyecto.
Ubicación:
El archivo .py debe guardarse en el mismo directorio que la carpeta AteneaSec.
*Para guardar y correr el archivo desde otro directorio, debe poder importarse de manera correcta el paquete AteneaSec, donde quiera que esté en la computadora.
Estructura del archivo
El archivo debe importar todas las funciones del paquete core de AteneaSec (que está en el mismo directorio que el archivo de la estructura):
from AteneaSec.source.core import *
Y para plotear debe importar el paquete de matplotlib
import matplotlib.pyplot as plt
Crear figuras:
Se deben crear primero las figuras que luego compondrán la sección.
figuras = {}
tipo = {'Tipo':'Tri', 'Prop':'Lleno'} # Figura triangular llena
geometria = {'A':[0,0], 'alpha':0, 'b':1, 'h':2} # Ubicación y dimensiones del triángulo
figuras[1] = sectionlib.Figura(tipo, geometria)
tipo = {'Tipo':'Circ', 'Prop':'Hueco'} # Figura circular como vacío
geometria = {'g':[0.2,0.2], 'alpha':0, 'd':0.4} # Ubicación y dimensiones del círculo
figuras[2] = sectionlib.Figura(tipo, geometria)
Crear sección:
Se crea la sección y se define ángulo de rotación de ejes uv si fuera necesario.
seccion = sectionlib.Seccion(figuras)
seccion.RotAxis(35) # Calcular propiedades según angulos rotados 35 grados
Plotear la sección y los ejes principales y rotados
seccion.plot_seccion(princ=True, uv=True)
Plotear gráfico de momentos de inercia vs ángulo de rotación de ejes
seccion.plot_juv(juv=True, j12=True)
Crear tensiones:
Se tiene que definir el tipo de elemento de barra
seccion.computeSigma(My=1, Mz=1, N=10)
Plotear diagrama de tensiones, con centro de presiones, línea de fuerzas y eje neutro:
seccion.plot_sigmas(princ=True, mom=True, en=True, lf=True, cp=True, par=True, tot=True)
Plotear diagrama de tensiones en 3D:
seccion.plot_sigma3d()
Mostrar gráficos en pantalla
plt.show()