Importamos las funciones de A_PREMEF
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.
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.
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:
class ElementData:
dof = 2
nodes = 4
noInt = 4
type = 'Quad4'
Creamos la clase ProblemData con información del problema:
class ProblemData:
SpaceDim = 2
pde="Elasticidad"
Leemos el Mesh creado anteriormente:
Mesh = gmsh_read(archivo_mesh,ProblemData, ElementData)
Chequeamos el número total de nodos y elementos leídos:
print("El número de nodos es:\t%s\nEl número elementos es:\t%s"%(Mesh.NN,Mesh.NC))
Importamos la librería matplotlib.pyplot para visualizar el mallado desde python:
import matplotlib.pyplot as plt
Asignamos las coordenadas X y Y de los nodos a las siguientes variables:
x = Mesh.Nodos[0,:]
y = Mesh.Nodos[1,:]
Configuramos el ploteo y lo mostramos:
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.