Sei sulla pagina 1di 3

Universidad EAFIT

Tarea 2 - Modelación computacional

Discretización de dominios

Angie Urrego
Juan Sebastian Evans
Roxana Quesada
Diana Yela

Presentado a: Carlos Alberto Álvarez Henao

7 de octubre de 2019
1. Introducción
La herramienta Gmsh es un software que nos permite realizar mallados de figuras, sean éstas
bidimensionales o tridimensionales. Para esta tarea, se implementó dicho software en unión con
el lenguaje de programación Python para desarrollar el mallado que represente el dominio de
integración de cálculo de los tres primeros momentos de masa (momentos de masa por unidad de
longitud, centro de masa e inercia) para una geometrı́a dada (columna de hormigón armado).

2. Paso a paso
Para comenzar con el desarrollo de la tarea, se creó la geometrı́a de un una columna de hor-
migón armado como se ve en la figura 1 (a), la cual está formada por una probeta en hormigón y 4
varillas de acero uniformemente espaciadas. Lo que se representa es una vista del área transversal
de esta columna. Desde el script del archivo de geometrı́a, para crear la probeta de hormigón, se
añadieron cinco puntos, uno en el origen (0,0,0), y los otros cuatro centros, correspondientes a las
varillas de acero, a un valor dado por (Rmayor-rmenor-recubrimiento) -con sus respectivos signos-
espaciados respecto al origen desde eje X y Y. Con la función circle se creó la geometrı́a de un
cı́rculo de radio 0,3. Se procedió igualmente para las varillas circulares.

(a) Geometrı́a de (b) Mallado de la viga


la viga

Figura 1: Viga de concreto con 4 varillas de acero

Una vez creada la geometrı́a, se procedió a crear las superficies, que son cada uno de los cı́rculos,
seguido se realizó la creación de los grupos fı́sicos, el número 1 corresponde al concreto, conformada
por el cı́rculo de diámetro 0.6 en su totalidad y el número 2 al acero (las cuatro varillas), luego se
procedió al mallado de las figuras realizadas. La malla consiste en miles de triángulos que dividen el
área y permiten hacer cálculos relacionados con la geometrı́a fácilmente, de una forma aproximada.

Luego de esto procedimos a desarrollar analı́ticamente las expresiones para calcular los momen-
tos de masa:
Z
m = ρ(x)dS (1)
Z
1
(cx , cy ) = ρ(x)xdS (2)
m
(y − cy )2
Z  
(x − cx )(y − cy )
[I] = ρ(x) (3)
(x − cx )(y − cy ) (x − cx )2
Con las expresiones ya simplificadas empezamos a escribir el código en python para el cálculo de
los momentos de masa para un triángulo, en este punto empezamos definiendo una función llama-
da ”momentos”que recibe como argumento la ruta del archivo y los parámetros de los materiales,
retornando los valores flotantes de los momentos de masa. Dentro de la función se llaman a los
diccionarios mesh, cells, cell, data, con el propósito de usar los datos que contiene la malla como:
las coordenadas de los nodos de los triángulos y a que grupo fı́sico corresponde cada triángulo.
También se define el número de triángulos que componen la malla, creando la lista triangles que
llama la malla de nuestra sección transversal con el diccionario de datos celldata,para esto es

1
necesario definir el tamaño a partir de la cantidad de triángulos.

El centroide inicial en los ejes X y Y es igual a 0, de la misma forma la masa y el área inicial
también son iguales a 0, puesto que el centro de la figura radica en las coordenadas (0, 0) del sistema
cartesiano. Luego, se determinan los nodos (0, 1, 2) de los triángulos, con ayuda de los elementos
que están en la lista triangles, que tienen como argumento las coordenadas de estos; para definir
los vectores del triángulo y su área hacemos uso del producto cruz (producto vectorial), con ayuda
de la biblioteca de datos numpy.

Para hallar la masa de la columna en sección transversal, se debe calcular el área total de
esta, sumando las áreas de cada triangulo que compone la malla, pues la masa se calcula como la
multiplicación entre el área total y la densidad de cada grupo fı́sico. El cálculo de los centroides en
X y Y de cada componente de la malla se hace de la forma:

xc = (x0 + x1 + x2 )/3 yc = (y0 + y1 + y2)/3 (4)

y la sumatoria de estos es igual al área total por el centroide de cada figura, es necesario hacer
este cómputo para encontrar el centroide en X y Y de toda el área transversal. Esto debe ir den-
tro de un bucle que repita todo el procedimiento el número de veces que satisfaga la cantidad de
triángulos.

Es necesario crear un arreglo numpy como matriz de ceros para la inercia pues se trabajará con
un tensor de inercias que funciona como matriz, para esto se debe repetir parte del bucle anterior,
con el fin de usar el área total del triángulo para multiplicarlo por la matriz compuesta de los
vectores directores de cada lado del triángulo junto con sus centroides y sumarlo con la matriz
inicial de ceros. Finalmente obtendremos como resultado la masa, centroide en X y Y junto con la
inercia de la sección transversal.

Los resultados obtenidos con un mallado conformado por 7915 triángulos se pueden ver en el
cuadro 1

Variable Resultado teórico Resultado experimental


Masa [kg] 682.91 681.75
Centroide (0, 0) (-9.26,-4.10)
(10−18 )
6,36 ∗ 10−3 6,35 ∗ 10−3 −1,56 ∗ 10−9
   
0
Inercia
0 6,36 ∗ 10−3 −1,56 ∗ 10−9 6,35 ∗ 10−3

Cuadro 1: Resultados experimentales y teóricos obtenidos

Para la implementación del algoritmo nos basamos en [1]

Referencias
[1] E. G. J. E. . A. L. M. Epifanio. GeneraciÓn automÁtica de mallas triangulares con control de
error y aplicaciones en la industria. 8:101–111, 2009.

Potrebbero piacerti anche