USO DE LA LIBRERÍA GMSH EN PYTHON

Importamos las funciones de A_PREMEF

In [1]:
from A_PREMEF import *

Usamos la función 'MallaSimpleHueca' para crear el mallado de una superficie hueca con mayor nivel de refinamiento cerca al agujero.

In [2]:
archivo_mesh = MallaSimpleHueca(tm=5,tmr=1)

Ahora realizamos el mallado de una superficie recangular usando elementos cuadriláteros 'Quad4'. La altura es de 10m y el ancho de 0.5m.

In [3]:
archivo_mesh = GenQuadMesh(H=10,B=0.5,tm=1.0,fd='./INPUT')

Creamos la clase ElementData con información del tipo de Elemento Finito:

In [4]:
class ElementData:
	dof = 2
	nodes = 4
	noInt =  4
	type = 'Quad4'

Creamos la clase ProblemData con información del problema:

In [5]:
class ProblemData:
	SpaceDim = 2
	pde="Elasticidad"

Leemos el Mesh creado anteriormente:

In [6]:
Mesh = gmsh_read(archivo_mesh,ProblemData, ElementData)
Leyendo archivo msh...
Ha terminado la lectura!

Chequeamos el número total de nodos y elementos leídos:

In [7]:
print("El número de nodos es:\t%s\nEl número elementos es:\t%s"%(Mesh.NN,Mesh.NC))
El número de nodos es:	105
El número elementos es:	68

Importamos la librería matplotlib.pyplot para visualizar el mallado desde python:

In [8]:
import matplotlib.pyplot as plt

Asignamos las coordenadas X y Y de los nodos a las siguientes variables:

In [9]:
x = Mesh.Nodos[0,:]
y = Mesh.Nodos[1,:]

Configuramos el ploteo y lo mostramos:

In [10]:
plt.figure(figsize=(4,8))
plt.plot(x,y,'ko',markersize= 1.5)
plt.axis([-3,3.5,-0.1,10.1])
plt.show()

Listo! Ahora que tenemos el mallado en las clase Mesh podemos realizar diferentes operaciones para el MEF.