```
from funciones_forma_lagrange import lagrangiana_1D, lagrangiana_2D, lagrangiana_3D
from funciones_forma_lagrange import recorrer_matriz_espiral, guardar_matriz_espiral
from funciones_forma_lagrange import recorrer_matriz_3d_espiral, guardar_matriz_3d_espiral
from sympy import Symbol, lambdify, latex
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
from mayavi import mlab

x = Symbol('x')
y = Symbol('y')
z = Symbol('z')
```

# Generación rápida de funciones de forma bidimensionales y tridimensionales Lagrangianas

### Introducción

Las funciones de forma son usadas en el método de los elementos finitos, generalmente usan el sistema de coordenadas naturales $(\xi, \eta, \zeta)$.

Entre ellas están las funciones de forma Lagragianas, la fórmula para generarlos es la siguiente:

\begin{equation}
l^{(n)} = \prod_{i=0, i \neq j}^k \frac{x - x_{i}}{x_{j} - x_{i}}
\end{equation}

El dominio de las funciones de forma es $-1 \leqslant \xi \leqslant 1$ y el rango es $-1 \leqslant \eta \leqslant 1$.


```
import matplotlib.patches as mpatches

relleno = mpatches.Rectangle((-1, -1), 2, 2, color='#0099FF')

fig = plt.figure()
ax = fig.add_subplot(111)
ax.add_patch(relleno)
plt.xlabel(r'$\xi$', fontsize=20)
plt.ylabel(r'$\eta$', fontsize=20)
plt.xlim(-1.5, 1.5)
plt.ylim(-1.5, 1.5)
plt.grid(True)
plt.show()
```

Debido a esto se llaman funciones de forma rectangulares. 

### Notación

$l^{(1)}$ Función de forma unidimensional Lagrangiana

$l^{(2)}$ Función de forma bidimensional Lagrangiana

$l^{(3)}$ Función de forma trididimensional Lagrangiana

### Método

Las $l^{(2)}$ se generar a partir de $l^{(1)}$, multiplicando matrices:

\begin{equation}
\left [ l^{(1)} \right ] \left [ l^{(1)} \right ]^{T} = \left [ l^{(2)} \right ]
\end{equation}

En donde $\left [ l^{(1)} \right ]$ es una matriz columna con $j$-elementos, $\left [ l^{(1)} \right ]^{T}$ es una matriz fila con $j$-elementos y $\left [ l^{(2)} \right ]$ es una matriz cuadrada.

Si recorremos los elementos que forman parte de la matriz $\left [ l^{(2)} \right ]$, uno a uno desde $l^{(2)}_1$ hasta $l^{(2)}_n$ forman una espiral, si graficamos las funciones que forman la matriz en el orden anterior observamos que el punto $(\xi, \eta)$ en el que la función vale $1$ también hace un recorrido en espiral.

**Ejemplo 1**: Elemento rectangular de 4 nodos:

\begin{equation}
\left [
\begin{matrix}
l^{(1)}_1 \\\
l^{(1)}_2
\end{matrix}
\right ]
\left [
\begin{matrix}
l^{(1)}_1 & l^{(1)}_2
\end{matrix}
\right ] = \left [
\begin{matrix}
l^{(2)}_1 & l^{(2)}_4 \\\
l^{(2)}_2 & l^{(2)}_3
\end{matrix}
\right ]
\end{equation}

**Ejemplo 2**: Elemento rectangular de 9 nodos:

\begin{equation}
\left [
\begin{matrix}
l^{(1)}_1 \\\
l^{(1)}_2 \\\
l^{(1)}_3
\end{matrix}
\right ]
\left [
\begin{matrix}
l^{(1)}_1 & l^{(1)}_2 & l^{(1)}_3
\end{matrix}
\right ] = \left [
\begin{matrix}
l^{(2)}_1 & l^{(2)}_8 & l^{(2)}_7 \\\
l^{(2)}_2 & l^{(2)}_9 & l^{(2)}_6 \\\
l^{(2)}_3 & l^{(2)}_4 &  l^{(2)}_5
\end{matrix}
\right ]
\end{equation}

Las $l^{(3)}$ también se generar a partir de $l^{(1)}$, pero realizando una multiplicación con matrices 3D (ver **Matrices 3D**):

\begin{equation}
\left [ l^{(1)} \right ] \left [ l^{(1)} \right ]^{T} \left [ l^{(1)} \right ]^{T} = \left [ l^{(3)} \right ]
\end{equation}

En donde $\left [ l^{(1)} \right ]$ es una matriz columna con $j$-elementos, $\left [ l^{(1)} \right ]^{T}$ es una matriz fila con $j$-elementos y $\left [ l^{(3)} \right ]$ es una matriz 3D cúbica.

**Ejemplo 3**: Elemento hexaédrico de 8 nodos:

\begin{equation}
\left [
\begin{matrix}
l^{(1)}_1 \\\
l^{(1)}_2
\end{matrix}
\right ]
\left [
\begin{matrix}
l^{(1)}_1 & l^{(1)}_2
\end{matrix}
\right ]
\left [
\begin{matrix}
l^{(1)}_1 & l^{(1)}_2
\end{matrix}
\right ] = \left [
\left [
\begin{matrix}
l^{(3)}_1 & l^{(3)}_5 \\\
l^{(3)}_2 & l^{(3)}_6
\end{matrix}
\right ]
\left [
\begin{matrix}
l^{(3)}_4 & l^{(3)}_8 \\\
l^{(3)}_3 & l^{(3)}_7
\end{matrix}
\right ]
\right ]
\end{equation}

**Ejemplo 4**: Elemento hexaédrico de 27 nodos:

\begin{equation}
\left [
\begin{matrix}
l^{(1)}_1 \\\
l^{(1)}_2 \\\
l^{(1)}_3
\end{matrix}
\right ]
\left [
\begin{matrix}
l^{(1)}_1 & l^{(1)}_2 & l^{(1)}_3
\end{matrix}
\right ]
\left [
\begin{matrix}
l^{(1)}_1 & l^{(1)}_2 & l^{(1)}_3
\end{matrix}
\right ] = \left [
\left [
\begin{matrix}
l^{(3)}_1 & l^{(3)}_10 & l^{(3)}_19 \\\
l^{(3)}_2 & l^{(3)}_11 & l^{(3)}_20 \\\
l^{(3)}_3 & l^{(3)}_12 & l^{(3)}_21
\end{matrix}
\right ]
\left [
\begin{matrix}
l^{(3)}_8 & l^{(3)}_17 & l^{(3)}_26 \\\
l^{(3)}_9 & l^{(3)}_18 & l^{(3)}_27 \\\
l^{(3)}_4 & l^{(3)}_13 & l^{(3)}_22
\end{matrix}
\right ]
\left [
\begin{matrix}
l^{(3)}_7 & l^{(3)}_16 & l^{(3)}_25 \\\
l^{(3)}_6 & l^{(3)}_15 & l^{(3)}_24 \\\
l^{(3)}_5 & l^{(3)}_14 & l^{(3)}_23
\end{matrix}
\right ]
\right ]
\end{equation}

### Función de forma Lagrangiana unidimensional de 3 nodos


```
A1 = lagrangiana_1D(x, 3)

for i in range(len(A1)):
    print A1[i]

X1 = np.arange(-1, 1, 0.01)

for i in range(len(A1)):
    Y1 = lambdify(x, A1[i])
    plt.plot(X1, Y1(X1))
    plt.title('Funcion de forma de ' + str(i + 1) + ' nodos')
plt.show()
```

Las ecuaciones obtenidas son:

\begin{eqnarray}
l^{(1)}_1 &=& \frac{1}{2} \xi^{2} - \frac{1}{2} \xi \\\
l^{(1)}_2 &=& - \xi^{2} + 1 \\\
l^{(1)}_3 &=& \frac{1}{2} \xi^{2} + \frac{1}{2} \xi
\end{eqnarray}

### Función de forma rectangular Lagragiana de 9 nodos


```
A2 = lagrangiana_2D(x, y, 3)
recorrer_matriz_espiral(A2)
B2 = guardar_matriz_espiral(A2)

X2 = np.arange(-1, 1, 0.01)
Y2 = np.arange(-1, 1, 0.01)
X2, Y2 = np.meshgrid(X2, Y2)

for i in range(len(B2)):
    fig = plt.figure()
    Z2 = lambdify((x, y), B2[i])
    ax = fig.add_subplot(111, projection='3d')
    ax.plot_wireframe(X2, Y2, Z2(X2, Y2), rstride=10, cstride=10)
    ax.set_title('Funcion ' + str(i + 1))
plt.show()
```

Las ecuaciones obtenidas son:

\begin{eqnarray}
l^{(2)}_1 &=& \frac{1}{4} \xi^{2} \eta^{2} - \frac{1}{4} \xi^{2} \eta - \frac{1}{4} \xi \eta^{2} + \frac{1}{4} \xi \eta \\\
l^{(2)}_2 &=& - \frac{1}{2} \xi^{2} \eta^{2} + \frac{1}{2} \xi^{2} \eta + \frac{1}{2} \eta^{2} - \frac{1}{2} \eta \\\
l^{(2)}_3 &=& \frac{1}{4} \xi^{2} \eta^{2} - \frac{1}{4} \xi^{2} \eta + \frac{1}{4} \xi \eta^{2} - \frac{1}{4} \xi \eta \\\
l^{(2)}_4 &=& - \frac{1}{2} \xi^{2} \eta^{2} + \frac{1}{2} \xi^{2} - \frac{1}{2} \xi \eta^{2} + \frac{1}{2} \xi \\\
l^{(2)}_5 &=& \frac{1}{4} \xi^{2} \eta^{2} + \frac{1}{4} \xi^{2} \eta + \frac{1}{4} \xi \eta^{2} + \frac{1}{4} \xi \eta \\\
l^{(2)}_6 &=& - \frac{1}{2} \xi^{2} \eta^{2} - \frac{1}{2} \xi^{2} \eta + \frac{1}{2} \eta^{2} + \frac{1}{2} \eta \\\
l^{(2)}_7 &=& \frac{1}{4} \xi^{2} \eta^{2} + \frac{1}{4} \xi^{2} \eta - \frac{1}{4} \xi \eta^{2} - \frac{1}{4} \xi \eta \\\
l^{(2)}_8 &=& - \frac{1}{2} \xi^{2} \eta^{2} + \frac{1}{2} \xi^{2} + \frac{1}{2} \xi \eta^{2} - \frac{1}{2} \xi \\\
l^{(2)}_9 &=& \xi^{2} \eta^{2} - \xi^{2} - \eta^{2} + 1
\end{eqnarray}

### Función de forma hexaédrica Lagragiana de 27 nodos


```
A3 = lagrangiana_3D(x, y, z, 3)
recorrer_matriz_3d_espiral(A3)
B3 = guardar_matriz_3d_espiral(A3)

mlab.figure(size=(400, 400),bgcolor=(1, 1, 1))
mlab.clf()
xi, eta, zeta = np.ogrid[-1:1:100j, -1:1:100j, -1:1:100j]
s = 0.125*xi**2*eta**2*zeta**2 - 0.125*xi**2*eta**2*zeta - 0.125*xi**2*eta*zeta**2 + 0.125*xi**2*eta*zeta - 0.125*xi*eta**2*zeta**2 + 0.125*xi*eta**2*zeta + 0.125*xi*eta*zeta**2 - 0.125*xi*eta*zeta
p1 = mlab.contour3d(s, contours=40, transparent=True)
mlab.title('Funcion de forma hexaedrica l1', color=(0, 0, 0))

mlab.show()
```

    0.125*x**2*y**2*z**2 - 0.125*x**2*y**2*z - 0.125*x**2*y*z**2 + 0.125*x**2*y*z - 0.125*x*y**2*z**2 + 0.125*x*y**2*z + 0.125*x*y*z**2 - 0.125*x*y*z
    -0.25*x**2*y**2*z**2 + 0.25*x**2*y**2*z + 0.25*x**2*y*z**2 - 0.25*x**2*y*z + 0.25*y**2*z**2 - 0.25*y**2*z - 0.25*y*z**2 + 0.25*y*z
    0.125*x**2*y**2*z**2 - 0.125*x**2*y**2*z - 0.125*x**2*y*z**2 + 0.125*x**2*y*z + 0.125*x*y**2*z**2 - 0.125*x*y**2*z - 0.125*x*y*z**2 + 0.125*x*y*z
    -0.25*x**2*y**2*z**2 + 0.25*x**2*y**2 + 0.25*x**2*y*z**2 - 0.25*x**2*y - 0.25*x*y**2*z**2 + 0.25*x*y**2 + 0.25*x*y*z**2 - 0.25*x*y
    0.125*x**2*y**2*z**2 + 0.125*x**2*y**2*z - 0.125*x**2*y*z**2 - 0.125*x**2*y*z + 0.125*x*y**2*z**2 + 0.125*x*y**2*z - 0.125*x*y*z**2 - 0.125*x*y*z
    -0.25*x**2*y**2*z**2 - 0.25*x**2*y**2*z + 0.25*x**2*y*z**2 + 0.25*x**2*y*z + 0.25*y**2*z**2 + 0.25*y**2*z - 0.25*y*z**2 - 0.25*y*z
    0.125*x**2*y**2*z**2 + 0.125*x**2*y**2*z - 0.125*x**2*y*z**2 - 0.125*x**2*y*z - 0.125*x*y**2*z**2 - 0.125*x*y**2*z + 0.125*x*y*z**2 + 0.125*x*y*z
    -0.25*x**2*y**2*z**2 + 0.25*x**2*y**2 + 0.25*x**2*y*z**2 - 0.25*x**2*y + 0.25*x*y**2*z**2 - 0.25*x*y**2 - 0.25*x*y*z**2 + 0.25*x*y
    0.5*x**2*y**2*z**2 - 0.5*x**2*y**2 - 0.5*x**2*y*z**2 + 0.5*x**2*y - 0.5*y**2*z**2 + 0.5*y**2 + 0.5*y*z**2 - 0.5*y
    -0.25*x**2*y**2*z**2 + 0.25*x**2*y**2*z + 0.25*x**2*z**2 - 0.25*x**2*z + 0.25*x*y**2*z**2 - 0.25*x*y**2*z - 0.25*x*z**2 + 0.25*x*z
    0.5*x**2*y**2*z**2 - 0.5*x**2*y**2*z - 0.5*x**2*z**2 + 0.5*x**2*z - 0.5*y**2*z**2 + 0.5*y**2*z + 0.5*z**2 - 0.5*z
    -0.25*x**2*y**2*z**2 + 0.25*x**2*y**2*z + 0.25*x**2*z**2 - 0.25*x**2*z - 0.25*x*y**2*z**2 + 0.25*x*y**2*z + 0.25*x*z**2 - 0.25*x*z
    0.5*x**2*y**2*z**2 - 0.5*x**2*y**2 - 0.5*x**2*z**2 + 0.5*x**2 + 0.5*x*y**2*z**2 - 0.5*x*y**2 - 0.5*x*z**2 + 0.5*x
    -0.25*x**2*y**2*z**2 - 0.25*x**2*y**2*z + 0.25*x**2*z**2 + 0.25*x**2*z - 0.25*x*y**2*z**2 - 0.25*x*y**2*z + 0.25*x*z**2 + 0.25*x*z
    0.5*x**2*y**2*z**2 + 0.5*x**2*y**2*z - 0.5*x**2*z**2 - 0.5*x**2*z - 0.5*y**2*z**2 - 0.5*y**2*z + 0.5*z**2 + 0.5*z
    -0.25*x**2*y**2*z**2 - 0.25*x**2*y**2*z + 0.25*x**2*z**2 + 0.25*x**2*z + 0.25*x*y**2*z**2 + 0.25*x*y**2*z - 0.25*x*z**2 - 0.25*x*z
    0.5*x**2*y**2*z**2 - 0.5*x**2*y**2 - 0.5*x**2*z**2 + 0.5*x**2 - 0.5*x*y**2*z**2 + 0.5*x*y**2 + 0.5*x*z**2 - 0.5*x
    -1.0*x**2*y**2*z**2 + 1.0*x**2*y**2 + 1.0*x**2*z**2 - 1.0*x**2 + 1.0*y**2*z**2 - 1.0*y**2 - 1.0*z**2 + 1.0
    0.125*x**2*y**2*z**2 - 0.125*x**2*y**2*z + 0.125*x**2*y*z**2 - 0.125*x**2*y*z - 0.125*x*y**2*z**2 + 0.125*x*y**2*z - 0.125*x*y*z**2 + 0.125*x*y*z
    -0.25*x**2*y**2*z**2 + 0.25*x**2*y**2*z - 0.25*x**2*y*z**2 + 0.25*x**2*y*z + 0.25*y**2*z**2 - 0.25*y**2*z + 0.25*y*z**2 - 0.25*y*z
    0.125*x**2*y**2*z**2 - 0.125*x**2*y**2*z + 0.125*x**2*y*z**2 - 0.125*x**2*y*z + 0.125*x*y**2*z**2 - 0.125*x*y**2*z + 0.125*x*y*z**2 - 0.125*x*y*z
    -0.25*x**2*y**2*z**2 + 0.25*x**2*y**2 - 0.25*x**2*y*z**2 + 0.25*x**2*y - 0.25*x*y**2*z**2 + 0.25*x*y**2 - 0.25*x*y*z**2 + 0.25*x*y
    0.125*x**2*y**2*z**2 + 0.125*x**2*y**2*z + 0.125*x**2*y*z**2 + 0.125*x**2*y*z + 0.125*x*y**2*z**2 + 0.125*x*y**2*z + 0.125*x*y*z**2 + 0.125*x*y*z
    -0.25*x**2*y**2*z**2 - 0.25*x**2*y**2*z - 0.25*x**2*y*z**2 - 0.25*x**2*y*z + 0.25*y**2*z**2 + 0.25*y**2*z + 0.25*y*z**2 + 0.25*y*z
    0.125*x**2*y**2*z**2 + 0.125*x**2*y**2*z + 0.125*x**2*y*z**2 + 0.125*x**2*y*z - 0.125*x*y**2*z**2 - 0.125*x*y**2*z - 0.125*x*y*z**2 - 0.125*x*y*z
    -0.25*x**2*y**2*z**2 + 0.25*x**2*y**2 - 0.25*x**2*y*z**2 + 0.25*x**2*y + 0.25*x*y**2*z**2 - 0.25*x*y**2 + 0.25*x*y*z**2 - 0.25*x*y
    0.5*x**2*y**2*z**2 - 0.5*x**2*y**2 + 0.5*x**2*y*z**2 - 0.5*x**2*y - 0.5*y**2*z**2 + 0.5*y**2 - 0.5*y*z**2 + 0.5*y


Las ecuaciones obtenidas son:

\begin{eqnarray}
l^{(3)}_1 &=& \frac{1}{8} \xi^{2} \eta^{2} \zeta^{2} - \frac{1}{8} \xi^{2} \eta^{2} \zeta - \frac{1}{8} \xi^{2} \eta \zeta^{2} + \frac{1}{8} \xi^{2} \eta \zeta - \frac{1}{8} \xi \eta^{2} \zeta^{2} + \frac{1}{8} \xi \eta^{2} \zeta + \frac{1}{8} \xi \eta \zeta^{2} - \frac{1}{8} \xi \eta \zeta \\\
l^{(3)}_2 &=& - \frac{1}{4} \xi^{2} \eta^{2} \zeta^{2} + \frac{1}{4} \xi^{2} \eta^{2} \zeta + \frac{1}{4} \xi^{2} \eta \zeta^{2} - \frac{1}{4} \xi^{2} \eta \zeta + \frac{1}{4} \eta^{2} \zeta^{2} - \frac{1}{4} \eta^{2} \zeta - \frac{1}{4} \eta \zeta^{2} + \frac{1}{4} \eta \zeta \\\
l^{(3)}_3 &=& \frac{1}{8} \xi^{2} \eta^{2} \zeta^{2} - \frac{1}{8} \xi^{2} \eta^{2} \zeta - \frac{1}{8} \xi^{2} \eta \zeta^{2} + \frac{1}{8} \xi^{2} \eta \zeta + \frac{1}{8} \xi \eta^{2} \zeta^{2} - \frac{1}{8} \xi \eta^{2} \zeta - \frac{1}{8} \xi \eta \zeta^{2} + \frac{1}{8} \xi \eta \zeta \\\
l^{(3)}_12 &=& - \frac{1}{4} \xi^{2} \eta^{2} \zeta^{2} + \frac{1}{4} \xi^{2} \eta^{2} + \frac{1}{4} \xi^{2} \eta \zeta^{2} - \frac{1}{4} \xi^{2} \eta - \frac{1}{4} \xi \eta^{2} \zeta^{2} + \frac{1}{4} \xi \eta^{2} + \frac{1}{4} \xi \eta \zeta^{2} - \frac{1}{4} \xi \eta \\\
l^{(3)}_21 &=& \frac{1}{8} \xi^{2} \eta^{2} \zeta^{2} + \frac{1}{8} \xi^{2} \eta^{2} \zeta - \frac{1}{8} \xi^{2} \eta \zeta^{2} - \frac{1}{8} \xi^{2} \eta \zeta + \frac{1}{8} \xi \eta^{2} \zeta^{2} + \frac{1}{8} \xi \eta^{2} \zeta - \frac{1}{8} \xi \eta \zeta^{2} - \frac{1}{8} \xi \eta \zeta \\\
l^{(3)}_20 &=& - \frac{1}{4} \xi^{2} \eta^{2} \zeta^{2} - \frac{1}{4} \xi^{2} \eta^{2} \zeta + \frac{1}{4} \xi^{2} \eta \zeta^{2} + \frac{1}{4} \xi^{2} \eta \zeta + \frac{1}{4} \eta^{2} \zeta^{2} + \frac{1}{4} \eta^{2} \zeta - \frac{1}{4} \eta \zeta^{2} - \frac{1}{4} \eta \zeta \\\
l^{(3)}_19 &=& \frac{1}{8} \xi^{2} \eta^{2} \zeta^{2} + \frac{1}{8} \xi^{2} \eta^{2} \zeta - \frac{1}{8} \xi^{2} \eta \zeta^{2} - \frac{1}{8} \xi^{2} \eta \zeta - \frac{1}{8} \xi \eta^{2} \zeta^{2} - \frac{1}{8} \xi \eta^{2} \zeta + \frac{1}{8} \xi \eta \zeta^{2} + \frac{1}{8} \xi \eta \zeta \\\
l^{(3)}_10 &=& - \frac{1}{4} \xi^{2} \eta^{2} \zeta^{2} + \frac{1}{4} \xi^{2} \eta^{2} + \frac{1}{4} \xi^{2} \eta \zeta^{2} - \frac{1}{4} \xi^{2} \eta + \frac{1}{4} \xi \eta^{2} \zeta^{2} - \frac{1}{4} \xi \eta^{2} - \frac{1}{4} \xi \eta \zeta^{2} + \frac{1}{4} \xi \eta \\\
l^{(3)}_11 &=& \frac{1}{2} \xi^{2} \eta^{2} \zeta^{2} - \frac{1}{2} \xi^{2} \eta^{2} - \frac{1}{2} \xi^{2} \eta \zeta^{2} + \frac{1}{2} \xi^{2} \eta - \frac{1}{2} \eta^{2} \zeta^{2} + \frac{1}{2} \eta^{2} + \frac{1}{2} \eta \zeta^{2} - \frac{1}{2} \eta \\\
l^{(3)}_8 &=& - \frac{1}{4} \xi^{2} \eta^{2} \zeta^{2} + \frac{1}{4} \xi^{2} \eta^{2} \zeta + \frac{1}{4} \xi^{2} \zeta^{2} - \frac{1}{4} \xi^{2} \zeta + \frac{1}{4} \xi \eta^{2} \zeta^{2} - \frac{1}{4} \xi \eta^{2} \zeta - \frac{1}{4} \xi \zeta^{2} + \frac{1}{4} \xi \zeta \\\
l^{(3)}_9 &=& \frac{1}{2} \xi^{2} \eta^{2} \zeta^{2} - \frac{1}{2} \xi^{2} \eta^{2} \zeta - \frac{1}{2} \xi^{2} \zeta^{2} + \frac{1}{2} \xi^{2} \zeta - \frac{1}{2} \eta^{2} \zeta^{2} + \frac{1}{2} \eta^{2} \zeta + \frac{1}{2} \zeta^{2} - \frac{1}{2} \zeta \\\
l^{(3)}_13 &=& - \frac{1}{4} \xi^{2} \eta^{2} \zeta^{2} + \frac{1}{4} \xi^{2} \eta^{2} \zeta + \frac{1}{4} \xi^{2} \zeta^{2} - \frac{1}{4} \xi^{2} \zeta - \frac{1}{4} \xi \eta^{2} \zeta^{2} + \frac{1}{4} \xi \eta^{2} \zeta + \frac{1}{4} \xi \zeta^{2} - \frac{1}{4} \xi \zeta \\\
l^{(3)}_22 &=& \frac{1}{2} \xi^{2} \eta^{2} \zeta^{2} - \frac{1}{2} \xi^{2} \eta^{2} - \frac{1}{2} \xi^{2} \zeta^{2} + \frac{1}{2} \xi^{2} + \frac{1}{2} \xi \eta^{2} \zeta^{2} - \frac{1}{2} \xi \eta^{2} - \frac{1}{2} \xi \zeta^{2} + \frac{1}{2} \xi \\\
l^{(3)}_27 &=& - \frac{1}{4} \xi^{2} \eta^{2} \zeta^{2} - \frac{1}{4} \xi^{2} \eta^{2} \zeta + \frac{1}{4} \xi^{2} \zeta^{2} + \frac{1}{4} \xi^{2} \zeta - \frac{1}{4} \xi \eta^{2} \zeta^{2} - \frac{1}{4} \xi \eta^{2} \zeta + \frac{1}{4} \xi \zeta^{2} + \frac{1}{4} \xi \zeta \\\
l^{(3)}_26 &=& \frac{1}{2} \xi^{2} \eta^{2} \zeta^{2} + \frac{1}{2} \xi^{2} \eta^{2} \zeta - \frac{1}{2} \xi^{2} \zeta^{2} - \frac{1}{2} \xi^{2} \zeta - \frac{1}{2} \eta^{2} \zeta^{2} - \frac{1}{2} \eta^{2} \zeta + \frac{1}{2} \zeta^{2} + \frac{1}{2} \zeta \\\
l^{(3)}_17 &=& - \frac{1}{4} \xi^{2} \eta^{2} \zeta^{2} - \frac{1}{4} \xi^{2} \eta^{2} \zeta + \frac{1}{4} \xi^{2} \zeta^{2} + \frac{1}{4} \xi^{2} \zeta + \frac{1}{4} \xi \eta^{2} \zeta^{2} + \frac{1}{4} \xi \eta^{2} \zeta - \frac{1}{4} \xi \zeta^{2} - \frac{1}{4} \xi \zeta \\\
l^{(3)}_18 &=& \frac{1}{2} \xi^{2} \eta^{2} \zeta^{2} - \frac{1}{2} \xi^{2} \eta^{2} - \frac{1}{2} \xi^{2} \zeta^{2} + \frac{1}{2} \xi^{2} - \frac{1}{2} \xi \eta^{2} \zeta^{2} + \frac{1}{2} \xi \eta^{2} + \frac{1}{2} \xi \zeta^{2} - \frac{1}{2} \xi \\\
l^{(3)}_14 &=& - \xi^{2} \eta^{2} \zeta^{2} + \xi^{2} \eta^{2} + \xi^{2} \zeta^{2} - \xi^{2} + \eta^{2} \zeta^{2} - \eta^{2} - \zeta^{2} + 1 \\\
l^{(3)}_7 &=& \frac{1}{8} \xi^{2} \eta^{2} \zeta^{2} - \frac{1}{8} \xi^{2} \eta^{2} \zeta + \frac{1}{8} \xi^{2} \eta \zeta^{2} - \frac{1}{8} \xi^{2} \eta \zeta - \frac{1}{8} \xi \eta^{2} \zeta^{2} + \frac{1}{8} \xi \eta^{2} \zeta - \frac{1}{8} \xi \eta \zeta^{2} + \frac{1}{8} \xi \eta \zeta \\\
l^{(3)}_6 &=& - \frac{1}{4} \xi^{2} \eta^{2} \zeta^{2} + \frac{1}{4} \xi^{2} \eta^{2} \zeta - \frac{1}{4} \xi^{2} \eta \zeta^{2} + \frac{1}{4} \xi^{2} \eta \zeta + \frac{1}{4} \eta^{2} \zeta^{2} - \frac{1}{4} \eta^{2} \zeta + \frac{1}{4} \eta \zeta^{2} - \frac{1}{4} \eta \zeta \\\
l^{(3)}_5 &=& \frac{1}{8} \xi^{2} \eta^{2} \zeta^{2} - \frac{1}{8} \xi^{2} \eta^{2} \zeta + \frac{1}{8} \xi^{2} \eta \zeta^{2} - \frac{1}{8} \xi^{2} \eta \zeta + \frac{1}{8} \xi \eta^{2} \zeta^{2} - \frac{1}{8} \xi \eta^{2} \zeta + \frac{1}{8} \xi \eta \zeta^{2} - \frac{1}{8} \xi \eta \zeta \\\
l^{(3)}_14 &=& - \frac{1}{4} \xi^{2} \eta^{2} \zeta^{2} + \frac{1}{4} \xi^{2} \eta^{2} - \frac{1}{4} \xi^{2} \eta \zeta^{2} + \frac{1}{4} \xi^{2} \eta - \frac{1}{4} \xi \eta^{2} \zeta^{2} + \frac{1}{4} \xi \eta^{2} - \frac{1}{4} \xi \eta \zeta^{2} + \frac{1}{4} \xi \eta \\\
l^{(3)}_23 &=& \frac{1}{8} \xi^{2} \eta^{2} \zeta^{2} + \frac{1}{8} \xi^{2} \eta^{2} \zeta + \frac{1}{8} \xi^{2} \eta \zeta^{2} + \frac{1}{8} \xi^{2} \eta \zeta + \frac{1}{8} \xi \eta^{2} \zeta^{2} + \frac{1}{8} \xi \eta^{2} \zeta + \frac{1}{8} \xi \eta \zeta^{2} + \frac{1}{8} \xi \eta \zeta \\\
l^{(3)}_24 &=& - \frac{1}{4} \xi^{2} \eta^{2} \zeta^{2} - \frac{1}{4} \xi^{2} \eta^{2} \zeta - \frac{1}{4} \xi^{2} \eta \zeta^{2} - \frac{1}{4} \xi^{2} \eta \zeta + \frac{1}{4} \eta^{2} \zeta^{2} + \frac{1}{4} \eta^{2} \zeta + \frac{1}{4} \eta \zeta^{2} + \frac{1}{4} \eta \zeta \\\
l^{(3)}_25 &=& \frac{1}{8} \xi^{2} \eta^{2} \zeta^{2} + \frac{1}{8} \xi^{2} \eta^{2} \zeta + \frac{1}{8} \xi^{2} \eta \zeta^{2} + \frac{1}{8} \xi^{2} \eta \zeta - \frac{1}{8} \xi \eta^{2} \zeta^{2} - \frac{1}{8} \xi \eta^{2} \zeta - \frac{1}{8} \xi \eta \zeta^{2} - \frac{1}{8} \xi \eta \zeta \\\
l^{(3)}_16 &=& - \frac{1}{4} \xi^{2} \eta^{2} \zeta^{2} + \frac{1}{4} \xi^{2} \eta^{2} - \frac{1}{4} \xi^{2} \eta \zeta^{2} + \frac{1}{4} \xi^{2} \eta + \frac{1}{4} \xi \eta^{2} \zeta^{2} - \frac{1}{4} \xi \eta^{2} + \frac{1}{4} \xi \eta \zeta^{2} - \frac{1}{4} \xi \eta \\\
l^{(3)}_15 &=& \frac{1}{2} \xi^{2} \eta^{2} \zeta^{2} - \frac{1}{2} \xi^{2} \eta^{2} + \frac{1}{2} \xi^{2} \eta \zeta^{2} - \frac{1}{2} \xi^{2} \eta - \frac{1}{2} \eta^{2} \zeta^{2} + \frac{1}{2} \eta^{2} - \frac{1}{2} \eta \zeta^{2} + \frac{1}{2} \eta
\end{eqnarray}


```

```

464441eb3e40ec0481c1a35ff2bb82d51bc2a91b
ipynb
Jupyter Notebook
Funciones de forma/Lagrangianas.ipynb
ClaudioVZ/Teoria-FEM-Python
8a4532f282c38737fb08d1216aa859ecb1e5b209
Artistic-2.0
2021-09-28T00:23:45.000Z
2021-09-28T00:23:45.000Z
Funciones de forma/Lagrangianas.ipynb
ClaudioVZ/Teoria-FEM-Python
8a4532f282c38737fb08d1216aa859ecb1e5b209
Artistic-2.0
Funciones de forma/Lagrangianas.ipynb
ClaudioVZ/Teoria-FEM-Python
8a4532f282c38737fb08d1216aa859ecb1e5b209
Artistic-2.0
2015-12-04T12:42:00.000Z
2019-10-31T21:50:32.000Z
Qwen/Qwen-72B
1. YES
2. YES