Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Funciones La Granje PDF
Funciones La Granje PDF
Resumen
El presente trabajo describe los pasos para generar funciones de forma bidimensionales y tridimensionales
mediante producto matricial y tensorial.
Notación
l(1) Función de forma unidimensional Lagrangiana
(1) 1 1
l1 = − ξ+
2 2
(1) 1 1
l2 = ξ+
2 2
1
Función de forma Lagrangiana unidimensional de 3 nodos:
(1) 1 2 1
l1 = ξ − ξ
2 2
(1)
l2 = −ξ 2 + 1
(1) 1 2 1
l3 = ξ + ξ
2 2
2
" #
(1)
− 12 ξ + 12
l1
(1) = 1 1
l2 2ξ + 2
" # " #
(1) h (2) (2)
l1 l1 l4
i
(1) (1)
(1) l1 l2 = (2) (2)
l2 l2 l3
(2) 1 2 2 1 2 1 1
l1 = ξ η − ξ η − ξη 2 + ξη
4 4 4 4
(2) 1 2 2 1 2 1 2 1
l2 = − ξ η + ξ η+ η − η
2 2 2 2
(2) 1 2 2 1 2 1 2 1
l3 = ξ η − ξ η + ξη − ξη
4 4 4 4
(2) 1 2 2 1 2 1 2 1
l4 = − ξ η + ξ − ξη + ξ
2 2 2 2
3
(2) 1 2 2 1 2 1 1
l1 = ξ η − ξ η − ξη 2 + ξη
4 4 4 4
(2) 1 2 2 1 2 1 2 1
l2 = − ξ η + ξ η+ η − η
2 2 2 2
(2) 1 2 2 1 2 1 2 1
l3 = ξ η − ξ η + ξη − ξη
4 4 4 4
(2) 1 2 2 1 2 1 2 1
l4 = − ξ η + ξ − ξη + ξ
2 2 2 2
(2) 1 2 2 1 2 1 2 1
l5 = ξ η + ξ η + ξη + ξη
4 4 4 4
(2) 1 2 2 1 2 1 2 1
l6 = − ξ η − ξ η+ η + η
2 2 2 2
(2) 1 2 2 1 2 1 2 1
l7 = ξ η + ξ η − ξη − ξη
4 4 4 4
(2) 1 2 2 1 2 1 2 1
l8 = − ξ η + ξ + ξη − ξ
2 2 2 2
(2)
l9 = ξ2 η2 − ξ2 − η2 + 1
4
5
3. Funciones de forma tridimensionales
3.1. Método
Las l(3) también se generar a partir de l(1) , realizando un producto tensorial [2].
h i h iT h iT h i
l(1) l(1) l(1) = l(3)
T
En donde l(1) es una matriz columna con j-elementos, l(1) es una matriz fila con j-elementos y l(3) es una
hipermatriz.
(3) 1 1 1 1 1 1 1 1
l1 = − ξηζ + ξη + ξζ − ξ + ηζ − η − ζ +
8 8 8 8 8 8 8 8
(3) 1 1 1 1 1 1 1 1
l2 = ξηζ − ξη − ξζ + ξ + ηζ − η − ζ +
8 8 8 8 8 8 8 8
(3) 1 1 1 1 1 1 1 1
l6 = − ξηζ − ξη + ξζ + ξ − ηζ − η + ζ +
8 8 8 8 8 8 8 8
(3) 1 1 1 1 1 1 1 1
l5 = ξηζ + ξη − ξζ − ξ − ηζ − η + ζ +
8 8 8 8 8 8 8 8
(3) 1 1 1 1 1 1 1 1
l4 = ξηζ − ξη + ξζ − ξ − ηζ + η − ζ +
8 8 8 8 8 8 8 8
(3) 1 1 1 1 1 1 1 1
l3 = − ξηζ + ξη − ξζ + ξ − ηζ + η − ζ +
8 8 8 8 8 8 8 8
(3) 1 1 1 1 1 1 1 1
l7 = ξηζ + ξη + ξζ + ξ + ηζ + η + ζ +
8 8 8 8 8 8 8 8
(3) 1 1 1 1 1 1 1 1
l8 = − ξηζ − ξη − ξζ − ξ + ηζ + η + ζ +
8 8 8 8 8 8 8 8
6
Elemento hexaédrico de 27 nodos:
(1)
1 2
ξ − 12 ξ
l1 2
(1)
l2 = −ξ 2 + 1
(1) 1 2 1
l3 2ξ + 2ξ
(1) (3) (3) (3) (3) (3) (3)
(3) (3) (3)
l l l l19 l8 l17 l26 l7 l16 l25
1(1) (1) 1(3) 10
h ih i
(1) (1) (1) (1) (1) (3) (3) (3) (3) (3) (3) (3) (3)
l2 l1 l2 l3 l1 l2 l3 = l2 l11 l20 l9 l18 l27 l6 l15 l24
(1) (3) (3) (3) (3) (3) (3) (3) (3) (3)
l3 l3 l12 l21 l4 l13 l22 l5 l14 l23
7
(3) 1 2 2 2 1 2 2 1 1 1 1 1 1
l1 = ξ η ζ − ξ η ζ − ξ 2 ηζ 2 + ξ 2 ηζ − ξη 2 ζ 2 + ξη 2 ζ + ξηζ 2 − ξηζ
8 8 8 8 8 8 8 8
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l2 = − ξ η ζ + ξ η ζ + ξ ηζ − ξ ηζ + η ζ − η ζ − ηζ + ηζ
4 4 4 4 4 4 4 4
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l3 = ξ η ζ − ξ η ζ − ξ ηζ + ξ ηζ + ξη ζ − ξη ζ − ξηζ + ξηζ
8 8 8 8 8 8 8 8
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l12 = − ξ η ζ + ξ η + ξ ηζ − ξ η − ξη ζ + ξη + ξηζ − ξη
4 4 4 4 4 4 4 4
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l21 = ξ η ζ + ξ η ζ − ξ ηζ − ξ ηζ + ξη ζ + ξη ζ − ξηζ − ξηζ
8 8 8 8 8 8 8 8
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l20 = − ξ η ζ − ξ η ζ + ξ ηζ + ξ ηζ + η ζ + η ζ − ηζ − ηζ
4 4 4 4 4 4 4 4
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l19 = ξ η ζ + ξ η ζ − ξ ηζ − ξ ηζ − ξη ζ − ξη ζ + ξηζ + ξηζ
8 8 8 8 8 8 8 8
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l10 = − ξ η ζ + ξ η + ξ ηζ − ξ η + ξη ζ − ξη − ξηζ + ξη
4 4 4 4 4 4 4 4
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l11 = ξ η ζ − ξ η − ξ ηζ + ξ η − η ζ + η + ηζ − η
2 2 2 2 2 2 2 2
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l8 = − ξ η ζ + ξ η ζ + ξ ζ − ξ ζ + ξη ζ − ξη ζ − ξζ + ξζ
4 4 4 4 4 4 4 4
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l9 = ξ η ζ − ξ η ζ− ξ ζ + ξ ζ− η ζ + η ζ+ ζ − ζ
2 2 2 2 2 2 2 2
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l13 = − ξ η ζ + ξ η ζ + ξ ζ − ξ ζ − ξη ζ + ξη ζ + ξζ − ξζ
4 4 4 4 4 4 4 4
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l22 = ξ η ζ − ξ η − ξ ζ + ξ + ξη ζ − ξη − ξζ + ξ
2 2 2 2 2 2 2 2
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l27 = − ξ η ζ − ξ η ζ + ξ ζ + ξ ζ − ξη ζ − ξη ζ + ξζ + ξζ
4 4 4 4 4 4 4 4
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l26 = ξ η ζ + ξ η ζ− ξ ζ − ξ ζ− η ζ − η ζ+ ζ + ζ
2 2 2 2 2 2 2 2
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l17 = − ξ η ζ − ξ η ζ + ξ ζ + ξ ζ + ξη ζ + ξη ζ − ξζ − ξζ
4 4 4 4 4 4 4 4
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l18 = ξ η ζ − ξ η − ξ ζ + ξ − ξη ζ + ξη + ξζ − ξ
2 2 2 2 2 2 2 2
(3)
l14 = −ξ 2 η 2 ζ 2 + ξ 2 η 2 + ξ 2 ζ 2 − ξ 2 + η 2 ζ 2 − η 2 − ζ 2 + 1
(3) 1 2 2 2 1 2 2 1 1 1 1 1 1
l7 = ξ η ζ − ξ η ζ + ξ 2 ηζ 2 − ξ 2 ηζ − ξη 2 ζ 2 + ξη 2 ζ − ξηζ 2 + ξηζ
8 8 8 8 8 8 8 8
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l6 = − ξ η ζ + ξ η ζ − ξ ηζ + ξ ηζ + η ζ − η ζ + ηζ − ηζ
4 4 4 4 4 4 4 4
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l5 = ξ η ζ − ξ η ζ + ξ ηζ − ξ ηζ + ξη ζ − ξη ζ + ξηζ − ξηζ
8 8 8 8 8 8 8 8
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l14 = − ξ η ζ + ξ η − ξ ηζ + ξ η − ξη ζ + ξη − ξηζ + ξη
4 4 4 4 4 4 4 4
8
(3) 1 2 2 2 1 2 2 1 1 1 1 1 1
l23 = ξ η ζ + ξ η ζ + ξ 2 ηζ 2 + ξ 2 ηζ + ξη 2 ζ 2 + ξη 2 ζ + ξηζ 2 + ξηζ
8 8 8 8 8 8 8 8
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l24 = − ξ η ζ − ξ η ζ − ξ ηζ − ξ ηζ + η ζ + η ζ + ηζ + ηζ
4 4 4 4 4 4 4 4
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l25 = ξ η ζ + ξ η ζ + ξ ηζ + ξ ηζ − ξη ζ − ξη ζ − ξηζ − ξηζ
8 8 8 8 8 8 8 8
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l16 = − ξ η ζ + ξ η − ξ ηζ + ξ η + ξη ζ − ξη + ξηζ − ξη
4 4 4 4 4 4 4 4
(3) 1 2 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 1 2 1
l15 = ξ η ζ − ξ η + ξ ηζ − ξ η − η ζ + η − ηζ + η
2 2 2 2 2 2 2 2
9
Conclusiones
Se implementó la forma de cálculo en Python [3], usando IPython notebook [4], Numpy [5], Sympy [6], Matplotlib
[7] y Mayavi [8]; también se realizo una tabla comparativa de los tiempos de ejecución de las funciones:
10
Elemento 1D Elemento 2D Elemento 3D
2 nodos 0.003 seg. 4 nodos 0.021 seg. 8 nodos 0.060 seg.
3 nodos 0.003 seg. 9 nodos 0.006 seg. 27 nodos 0.014 seg.
4 nodos 0.055 seg. 16 nodos 0.345 seg. 64 nodos 4.637 seg.
5 nodos 0.074 seg. 25 nodos 0.469 seg. 125 nodos 7.197 seg.
6 nodos 0.167 seg. 36 nodos 1.530 seg. 216 nodos 57.337 seg.
Para generar elementos de mayor grado y reducir el tiempo de cálculo se optimizará el código y se usara Numba
[9].
Se estudiarán las propiedades de las matrices l(2) :
Rango
Traza
Determinante
En el caso de las matrices l(3) :
Hiperdeterminante
Los archivos del trabajo se encuentran en https://github.com/ClaudioVZ/Teoria-FEM-Python.
Referencias
[1] O.C.Zienkiewicz; R.L.Taylor. El Método de los Elementos Finitos Volumen 1. McGrall-Hill; CIMNE. 1994.
[2] ClaudioVZ. Hipermatriz. 2013.
11