Generación de datos gráficamente para OpenSees

Generación de mallas gráficamente para OpenSees

Ingreso de datos en texto Vs gráficamente

Cuando se desean manejar cantidades grandes de datos, el ingreso de nudos y de barras a través de texto puede hacerse muy tedioso. Es en casos así (que es la situación de la mayoría de los problemas prácticos) que es necesario acudir a la ayuda de programas de manejo de entorno gráfico que nos ayuden con la consepción geométrica de la estructura.

GMSH

Este es un programa muy liviano y de fácil instalación que nos ayudará a generar una malla de nudos, barras y placas para poderlas ingresar dentro del programa de OpenSees. Lo puedes descargar e istalar desde INSTALACIÓN DE GMSH

Aquí daremos una breve introducción al software, pero más que nada mostraremos como el programa puede generarnos un archivo de texto con nudos y barras fáciles de transportar a OpenSees.

Por ejemplo si deseamos dibujar un pórtico como el mostrado a continuación…

…dibujaremos todo este pórtico en coordenadas XY sobre el plano de GMSH. El primer paso es crear un documento nuevo. dentro de File –> new –> creamos un documento nuevo de extensión .geo en la ubicación que nosotros deseemos.

Posteriormente en el espacio en blanco de GMSH podemos dibujar nuestros primeros nudos. Para eso, en la lista de la izquierda del entorno gráfico nos vamos a Geometry –> Elementary Entities –> Add –> Point. Y agregamos los nudos en coordenadas en el recuadro de ayuda. Una vez terminado el ingreso de nudos de la base, terminamos el comando cerrando esa ventana y presionando «q» sobre el gráfico.

Lo que acabamos de dibujar son nudos en las siguientes coordenadas de base del pórtico:
– [0, 0, 0]
– [3.2, 0, 0]
– [7.7, 0, 0]
– [12.3, 0, 0]
– [17.5, 0, 0]

Si queremos ver mejor los nodos dibujados podemos irnos a Tools –> Options –> Geometry –> Aspect. Dentro de esa ventana cambiamos «point display» a «3D Sphere» y cerramos la ventana. Los nudos se verán más elegantes ahora.

Ahora dentro del menú de la izquierda iremos a Geometry –> Elementary Entities –> Extude –> Translate. Lo que haremos aquí será extruir todos estos puntos en líneas. Para esto en el menú escribimos en X=0, Y=4, Z=0. De esta manera arrastraremos y convertiremos en líneas todos los nudos de la base una distancia de 4m en Y. Ahora nos vamos al gráfico y seleccionamos todos los nudos dibujados. Estos deberían pintarse en rojo.

Finalmente presionamos «e» para ejecutar el comando. Los puntos deberían barrerse en la dirección Y una distancia de 4m. Presionamos «q» para terminar el comando y deberíamos obtener algo como lo siguiente.

Con la nueva fila de nudos formados arriba, volvemos a repetir el proceso, esta vez extruyendo los nudos una distancia de 3m hacia Y positivo. Hacemos esto para conformar las columnas del primer piso del modelo. repetimos el proceso 3 veces. Al final del proceso obtendremos algo como lo siguiente:

El siguiente paso es dibujar las vigas del pórtico. Para esto nos vamos a Geometry –> Elementary Entities –> Add –> Line. Ahora, tal cual dibujamos una línea en Autocad, seleccionamos el primer nudo, luego el segundo y repetimos el proceso para todas las vigas. Finalmente el pórtico queda así:

El siguiente que ejecutaremos es un paso mucho menos intuitivo. Cuando dibujamos un nudo en GMSH existe una propiedad de cada nudo que hace que los elementos finitos dibujados al rededeor de cada nudo tomen un tamaño en particular. Por defecto este valor es igual a 1. Sin embargo si dejamos este valor en 1, la malla de elementos finitos que se dibuje para columnas y vigas tendrá una longitud de 1m o menor. y nosotros no queremos que por ejemplo la columna de 4m se divida en 4 partes sino que en la generación de malla se respete la longitud de la columna. Por tanto cambiaremos esta propiedad incrementando el tamaño de elementos al rededor de cada nudo a un valor de 10m (cualquier valor grande superior a cualquiera de las cotas del pórtico).

Para esto nos vamos a Geometry –> edit Script. Se abrirá un editor de texto como se muestra a continuación:

Cambiamos los valores de 1.0 marcados a un valor de 10.0. Guardamos el documento, cerramos el editor de texto y recargamos el modelo yendo a Geometry –> Reload Script. Pareciera que nada sucedió, pero se cambió la estructura de enmallado internamente.

Una vez recargado el modelo desplegamos del menú de la izquierda: Mesh –> 1D. Dependiendo de como esté configurado GMSH puede que se vea la nueva malla de elementos finitos generada como puede que no. Para configurar la visualización de la numeración de nudos y barras, nos vamos a Tools –> Options –> Mesh –> Visibility. Y ahí tiqueamos Nodes y 1D Elements así como sus Labels:

El paso final antes de exportar los datos consiste en identificar y generar grupos de elementos para diferenciar las columnas de vigas y apoyos dentro del archivo de texto. Para eso vamos a Geometry –> Physical Groups –> Add. Asignaremos a los nudos de base la Etiqueta «Apoyos», a las vigas le asignaremos la etiqueta «Vigas» y a columnas la etiqueta «Columnas». Por tanto dentro de Physical Groups –>Add –> Point, seleccionamos todos los nudos de la base del pórtico y en la ventana emergente escripimos «Apoyos». Luego en el gráfico presionamos «e» para ejecutar la selección y «q» para terminar el comando. Hacemos lo mismo para las vigas y columnas a partir del comando Physical Groups –> Curve.

Y con esto termina la generación de la malla. Esta malla ahora debemos exportarla a un archivo de texto. Para eso nos vamos a File –> Save Mesh. Luego Nuevamente a File –>Export, y dentro de la ventana de exportación en TIPO escogemos Mesh – Abaqus INP. Luego guardamos el archivo con extensión .inp dentro de la casilla «nombre», y presionamos Guardar y por defecto presionamos «OK» a la ventana emergente. Aquí termina nuestro trabajo en GMSH.

El archivo exportado

El archivo generado de extensión INP tiene toda la información necesaria para nosotros. Si abrimos el documento en un editor de texto como SUBLIME TEXT podremos ver el archivo más o menos como sigue:

Qué sigue

Toda esta lista de datos ya es muy fácil de trasladar al programa de OpenSees para su procesamiento. Este tratamiento de datos lo explicaremos en la siguiente publicación.

autor: Marcelo Pardo

←←← VOLVER A TABLA DE CONTENIDO DE OPENSEES ←←←

Deja una respuesta