Desde hace poco más de un mes (enero de 2021), se encuentra disponible la edición para estudiantes de Abaqus 2020.
Esta nueva versión, no sólo incluye novedades en temas como las interacciones y contactos, la compatibilidad de ciertos tipos de elementos, mejoras en algunos modelos constitutivos de material… Sino que incorpora una auténtica revolución para los usuarios de Abaqus/Scripting.
Actualizaciones en el entorno de Python
Así es, Abaqus 2020 trae una serie de actualizaciones cruciales en el intérprete de Python que utiliza Abaqus/Scripting. Aunque sigue tratándose de Python 2.7, esta nueva versión incluye tres nuevos módulos que multiplican lo que podemos hacer a través del scripting en Abaqus:
Matplotlib
Es una librería con la que realizar gráficos de todo tipo en 2D y 3D (histogramas, contours, imágenes rasterizadas…). Se utiliza ampliamente en publicaciones científicas e informes de todo tipo
SciPy
Es un módulo de cálculo científico que se apoya en numpy para poder llevar a cabo todo tipo de operaciones matemáticas complejas, como por ejemplo, la resolución de ecuaciones no lineales
SymPy
Se trata de una librería para desarrollos de matemática simbólica, similar a otros softwares como Mathematica
¿Qué ha cambiado exactamente?
En la siguiente tabla se resumen los cambios principales entre la versión de Abaqus 2019 y 2020, en cuanto a las librerías disponibles de Python:
Abaqus 2019 | Abaqus 2020 | |
---|---|---|
python | 2.7.3 | 2.7.15 |
numpy | 1.6.2 | 1.15.4 |
matplotlib | - | 2.2.4 |
scipy | - | 1.2.0 |
sympy | - | 1.3 |
¿Qué más se puede hacer ahora con Abaqus/Scripting?
En este artículo no vamos a hablar en profundidad de cada una de las nuevas librerías que nos trae Abaqus 2020, pero sí vamos a destacar la posibilidad de crear gráficos de máxima calidad directamente desde nuestros scripts dentro de Abaqus utilizando Matplotlib.
Desde ahora, no solo podremos exportar los resultados numéricos en forma de archivos de texto, csv o excel, sino que tendremos la capacidad de producir gráficos con los que visualizar los resultados de cientos de simulaciones diferentes u obtener figuras que podemos incluir directamente en nuestros informes y proyectos.
Ejemplo en Matplotlib
Si queremos probar cómo funciona matplotlib en Abaqus 2020, podemos copiar y pegar las siguientes líneas de código en la consola dentro de Abaqus/CAE (command line interface). También podemos copiar estas líneas en un script (con extensión .py) y lanzarlo desde Abaqus/CAE (File > Run Script…)
Python
import matplotlib.pyplot as plt import numpy as np # Create a figure with one axes fig, ax = plt.subplots() # Generate 100 points evenly spaced between -5 and 5 x0 = np.linspace(-5., 5., 100) # y = f(x), function to plot in the next line y0 = np.exp(-x0**2) # Plot x vs. y with black dots, label will be used in the legend ax.plot(x0, y0, 'k.', label=r'$e^{-x^2}$') # Label of the x axis ax.set_xlabel(r'$x$') # Label of the y axis ax.set_ylabel(r'$y$') # Display the legend, i.e. the label of the plotted line ax.legend() # Export the figure into a pdf file (vector quality) fig.savefig('mylines.pdf') # Display the figure on the screen, otherwise we will not see it plt.show()
El ejemplo anterior crea un sencillo gráfico de la curva: \(y(x) = e^{-x^2}\) en \(-5 \leq x \leq 5\) con puntos negros. Además, exporta la figura a un archivo pdf que podemos utilizar posteriormente.
Puedes descargar el script que genera una figura como la que se ve en la imagen, en este enlace.
Las capacidades de personalización que permite Matplotlib son casi infinitas. Si quieres descubrir qué tipo de cosas se pueden llegar a conseguir, te recomiendo que le eches un vistazo a la amplísima galería con ejemplos que hay en su sitio web.
¡Espero que estos consejos te sirvan de ayuda!
0 comentarios