Documentos de Académico
Documentos de Profesional
Documentos de Cultura
10.1 Introducción.
La idea del método de los elementos finitos para aproximar las soluciones de una ecuación
en derivadas parciales consiste en aproximar las soluciones de la misma por polinomios.
Como una aproximación directa con en toda la región de integración Ω. Para utilizar
polinomios de grado bajo con precisión suficiente lo que se hace es subdividir Ω en
regiones más pequeñas en lo que se llama una partición o triangulación Th = {Kj }. En
cada elemento de la triangulación se plantea el problema de modo más sencillo mediante
polinomios de orden bajo.
En por esto que es de gran interés antes de desarrollar el método entender cómo
se puede aproximar una función en Ω ⊂ R2 mediante polinomios a trozos sobre los
elementos de una partición.
167
En este caso la base es {1, x, y, x2 , xy, y 2 } y dim [P2 (K)] = 6. En general tenemos
X
Pr (K) = v : v(x) = αij xi y j , x ∈ K, αij ∈ R
0≤i+j≤r
(r+1)(r+2)
y dim [Pr (K)] = 2 .
S
Esto es, vamos a considerar un espacio de funciones continuas sobre Ω̄ = Ω ∂Ω com-
puestas de funciones lineales a trozos en cada subregión Kj de la región Ω̄. Como paráme-
tros para describir las funciones de Vh tomaremos sus valores en los vértices. La pregunta
que surge inmediatamente es ¿queda una función lineal a trozos y continua completa-
mente determinada por sus valores en los vértices? La respuesta es que sı́. Para verlo
denotemos a las coordenadas de los tres vértices de un triángulo cualquiera Kj como
Evidentemente la función lineal a trozos definida sobre el triángulo debe coincidir con
los valores de la función aproximada en los vértices de forma que
Ası́ que los coeficientes αij deben satisfacer el sistema de ecuaciones lineales
1 x1 y1 α00 v1
1 x2 y2 α10 = v2 , (10.5)
1 x3 y3 α01 v3
Esta tarea es fácil de realizar ya que las funciones φj (x) corresponden a la solución del
Lo que en realidad vamos buscando es una función v que sea continua no sólo en
los nodos sino en todo Ω̄, sin embargo es fácil ver que si la función es lineal a trozos y
continua en los nodos debe ser continua en todas las fronteras. La razón es muy sencilla,
cada interpolante en un borde de K debe ser lineal y coindir en dos puntos y por lo
tanto es la recta que los une. Esta recta es única, de manera que los interpolantes entre
diferentes triángulos contiguos Ki , Kj empalman de manera continua 1 . Evidentemente
esto es suficiente para asegurar que las funciones v ∈ Vh ⊂ C 0 (Ω̄).
Una base del espacio discreto Vh puede construirse definiendo las funciones base
globales como las funciones lineales a trozos que satisfacen
(
1, j = i
Φj (xi ) = (10.9)
0, j 6= i
(a) (b)
Figura 10.6: Elemento rectangular con (a) cuatro nodos (b) seis nodos
los vértices y tres en algún punto intermedio, que suele tomarse como el punto medio
del lado correspondiente.
Conocido el valor de una función a aproximar en esos seis puntos podemos construir
su aproximante cuadrático en K. La unión de estos empalmes nos proporciona una fun-
ción cuadrática a trozos en P2 (K) y sobre Ω̄. Del mismo modo que se hizo anteriormente
podemos construir una base de funciones locales de P2 (Kj ), denotadas por φj (x) como
aquellas funciones cuadráticas que valen cero en todos los nodos de Kj excepto en uno
de ellos. No entraremos aquı́ a detallar su forma explı́cita.
Esta elección del polinomio tiene la ventaja de que si los lados del cuadrado son paralelos
a los ejes de coordenadas se satisface automáticamente el requisito de continuidad entre
elementos.
Si denotamos a los vértices del cuadrado por x1 , ..., x4 como en la figura 10.6(a), la
forma de las funciones base locales puede encontrarse fácilmente, y es
(x − x2 )(y − y4 )
φ1 (x) = , (10.11a)
(x1 − x2 )(y1 − y4 )
(x − x1 )(y − y3 )
φ2 (x) = , (10.11b)
(x2 − x1 )(y2 − y3 )
(x − x4 )(y − y2 )
φ3 (x) = , (10.11c)
(x3 − x4 )(y3 − y2 )
(x − x3 )(y − y1 )
φ4 (x) = . (10.11d)
(x4 − x3 )(y4 − y1 )
En algunos casos puede interesar describir una función que depende más fuertemente
de una variable que de otras. En estos casos a veces se usan los elementos rectangulares
de seis nodos (Fig. 10.6(b)). Con seis nodos se nos presenta un nuevo problema. Si
utilizamos un polinomio cuadrático como (10.2) no es posible imponer el requisito de
continuidad en L1 y L3 entre distintos elementos. La única forma de conseguir que el
empalme se realice de manera continua con seis parámetros libres es tomar un polinomio
de tipo
v(x) = α00 + α10 x + α01 y + α11 xy + α20 x2 + α21 x2 y, (10.12)
Es fácil comprobar que si los lados L1 y L2 del elemento son paralelos al eje Y en-
tonces la aproximación por elementos de este tipo sobre una triangulación lleva a una
aproximación continua en Ω̄.
Utilizando nueve nodos puede construirse un elemento que proporciona una aproxi-
mación isótropa sobre el cuadrado del tipo de la figura 10.7. Si se utiliza un polinomio
de grado 4 incompleto como
v(x) = α00 + α10 x + α01 y + α11 xy + α20 x2 + α02 y 2 + α21 x2 y + α12 xy 2 + α22 x2 y 2 , (10.13)
es posible obtener una aproximación globalmente continua en Ω̄.
Si se desea tener polinomios completos, lo cual es conveniente desde el punto de
vista del orden de los esquemas (un problema que no hemos tratado aquı́) lo mejor es
completar con puntos interiores a los cuadrados.
10.6 Resumen.
En este tema hemos visto que un elemento finito en R2 es un objeto definido por varios
ingredientes:
−△u = f, x ∈ Ω (10.14)
u = 0, x ∈ ∂Ω (10.15)
El teorema de Green en R2
nos dice que
∂u
Z Z Z
2
v(x)∇ u(x)dx + ∇u(x) · ∇v(x)dx = v(s) ds, (10.16)
Ω Ω ∂Ω ∂n
y por lo tanto
∂u
Z Z Z
∇u(x) · ∇v(x)dx + v(s)
= vf dx. (10.17)
Ω ∂Ω ∂n Ω
∂u
R
Pero v se anula sobre la frontera de manera que ∂Ω v(s) ∂n = 0 por lo que hemos
trasformado el problema de resolver (10.14) en el de encontrar una función u tal que
para toda v se cumpla Z Z
∇u · ∇v dx = vf dx. (10.18)
Ω Ω
v y u. Entonces basta tomar una base {Φj } de Vh para proyectar la solución, de modo
que llegamos a
N
X
a(Φj , Φi )ξi = (f, Φj ) ≡ fj (10.19)
i=1
Vamos a considerar el caso más sencillo de funciones lineales a trozos (elementos lineales),
entonces
∂Φi ∂Φj ∂Φi ∂Φj X Z bi bj + ci cj
Z
a(Φi , Φj ) = + dx = dx =
Th ∂x ∂x ∂y ∂y K 4A2
Ki,j
X bi bj + ci cj Z X bi bj + ci cj
dx = (10.21)
4A2 K 4A
Ki,j Ki,j
donde Ki,j es el conjunto de triángulos que tienen como vértices comunes a xi y xj . Por
otro lado en cada punto es necesario calcular (f, Φi ). Obsérvese que para los elementos
triangulares no es necesario calcular la matriz de rigidez mediante integrales ya que
existen fórmulas exactas, en cambio las integrales de f sı́ que deben ser calculadas por
integración numérica.
En cuanto al error de la aproximación mediante funciones lineales a trozos es posible
obtener que ku − uh k∞ = O(h2 ), donde h es el diámetro de la malla.
donde los pesos ωi y los puntos s dependen de la precisión que se desee obtener.
En las aplicaciones nos centraremos en el método de los elementos finitos para regio-
nes acotadas planas Ω con particiones Th en triángulos. En este caso particular algunas
fórmulas son
Z
g(x)dx ≃ g(a123
K )AK , (10.23a)
K
3
AK
Z
g(ajK )
X
g(x)dx ≃ , (10.23b)
K 3
j=1
AK
Z
g(aij
X
g(x)dx ≃ K) , (10.23c)
K 3
1≤i≤j≤3
3
AK 2AK 9AK
Z
g(ajK ) g(aij
X X
g(x)dx ≃ + K) + g(a123
K ) , (10.23d)
K 20 15 20
j=1 1≤i≤j≤3
j
donde AK es el área del triángulo K, a123
K es su centro geométrico, aK son las coordenadas
ij
de sus vértices y aK son los puntos medios
R de los lados que unen distintos vértices.
PN
i
La precisión de estas fórmulas es K gdx − i=1 g s ∼ O(hrK ). Evidentemente, si
g es un polinomio de grado menor que r las fórmulas son exactas. Las fórmulas (10.23a)
y (10.23b) tienen r = 2 y son por lo tanto de precisión O(h2K ). Por otro lado la fórmula
(10.23c) tiene r = 3 y (10.23d) es de precisión r = 4.
0.04
0.03
0.02
0.01 1
0 0.8
1
0.6
0.8
0.6 0.4
0.4
0.2
0.2
0 0
Figura 10.9: Solución del problema (10.25) sobre la malla de la figura 10.8.
Al ejecutar el código anterior se obtiene una solución aproximada cuyo error es e ∼ 10−17 .
Los resultados para la solución se presentan en la figura 10.9
o equivalentemente
h
a11 ... 0 ... a1n u1 a1j f1
a21 ... 0 ... a . .
2n . a2j ..
. . . . . . . . . . . . . . . . . . . . . . . . . . .h ..
0 ... ajj = 1 ... 0 uj + . uj = fj (10.29)
.. .. ..
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
unh anj fn
an1 ... 0 ... ann
Escrito de esta forma es evidente que podemos pasar del sistema de ecuaciones N × N
a otro sistema de ecuaciones con N − 1 incógnitas donde la columna y la fila corres-
pondientes a uj no se consideran. La forma final del sistema reordenando los términos
es
h
a11 ... a1,j−1 a1,j+1 ... a1n
u1 f1 − a1j uj
a21 ... a2,j−1 a2,j+1 ... a2n . ..
..
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . h .
uj−1 fj−1 − aj−1,j uj
aj−1,1 ... aj−1,j−1 aj−1,j+1 ... aj−1,n = (10.30)
h
aj+1,1 ... aj+1,j−1 aj+1,j+1 ... aj+1,n uj+1 fj+1 − aj+1,j uj
. .
..
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
unh f − a u
an1 ... an,j−1 an,j+1 ... ann n n,j j
10.11 Planteamiento
Consideremos ahora el problema de resolver la ecuación de Poisson con condiciones de
contorno de tipo Neumann
−△u = f, x ∈ Ω ⊂ R2 , (10.31a)
∂u
= g, sobre ∂Ω, (10.31b)
∂n
∂
donde ∂n denota como antes la derivada según la normal saliente. El primer paso es
escribir la forma débil de la ecuación en derivadas parciales. Para ello definamos
Z Z
a(u, v) = [∇u · ∇v] dx, hg, vi = g(x)v(x) dx,
Ω ∂Ω
∂u
Z Z Z
−v△u dx = ∇u · ∇v dx − v dx = a(u, v) − hg, vi. (10.32)
Ω Ω ∂Ω ∂n
Esta igualdad nos permite reformular el problema (10.31) como el de encontrar u ∈
H 1 (Ω) tal que
a(u, v) = (f, v) + hg, vi, ∀v ∈ H 1 (Ω) (10.33)
Es importante hacer énfasis en que toda solución u ∈ H 1 (Ω) es solución del problema
de contorno con condiciones de tipo Neumann, para verlo no hay más que invertir el
razonamiento anterior. La importancia de este hecho radica en que ası́ como los métodos
de diferencias finitas presentaban dificultades en el tratamiento de las condiciones de
contorno de tipo Neumann los elementos finitos las incorporan de manera natural ya
que quedan incorporadas a la ecuación diferencial.
Las condiciones de contorno mixtas también son fáciles de implementar eligiendo
apropiadamente la partición de Ω.
Figura 10.10: (a) Región Ω1 y triangulación de la misma. Las coordenadas cartesianas de cada
vértice se indican tras el número del mismo. Las coordenadas locales de cada vértice se presentan
en letra pequeña y los números de cada triángulo rodeados por un cı́rculo y con fondo oscuro.
(b) Condiciones de contorno en las fronteras del triángulo Ω1
En cuanto al vector de cargas sobre el elemento hay que tener en cuenta el término de
la condición de Neumann
Z Z −0.6
(1)
fi = − 2Φi (x, y) dxdy + (−x)Φi (x, 0)dx
A1 −1.5
Integrando se obtiene
0.3900
(1)
fi = 0.2550
−0.1500
Elemento 2: Los coeficientes geométricos son
a1 = x2 y3 − x3 y2 = 0 b1 = y 2 − y 3 = 0 c1 = x3 − x2 = 0.6
a2 = x3 y1 − x1 y3 = 0 b2 = y3 − y1 = −0.5 c2 = x1 − x3 = −0.75
a3 = x1 y2 − x2 y1 = 0.3 b3 = y1 − y2 = 0.5 c3 = x2 − x1 = 0.15
Como los vértices locales 1,2 y 3 del elemento 2 corresponden a los globales 2,3,6 res-
pectivamente, la contribución de esta matriz a la matriz del sistema total es del tipo
0 0 0 0 0 0
0 a(2) a(2) 0 0 a(2)
11 12 13
0 a(2) a
(2)
0 0 a
(2)
21 22 23 (10.36)
0 0 0 0 0 0
0 0 0 0 0 0
(2) (2) (2)
0 a31 a32 0 0 a33
Las condiciones de contorno para el elemento dos son también Neumann por lo que
Z Z 0.0
(2)
fi = 2Φi (x, y) dxdy + (−x)Φi (x, 0)dx
A2 −0.6
e integrando
−0.1
(2)
fi = 0.02
0.04
Elemento 3: La matriz de rigidez local es
0.26667 0.06667 −0.33333
(3)
aij = 0.95417 −1.02083 (10.37)
1.35417
Por último hay que considerar las condiciones Dirichlet del problema. Se conocen
u1 = 5.000, u2 = 4.875 y u4 = 6.000, de donde se llega a que el sistema de ecuaciones
puede simplificarse a
h
0.27200 − a13 uh1 − a23 uh2 − a43 uh4
2.257 0 −0.6042 u3 8.35
0 2.257 −1.021 uh5 = −0.01700 − a15 uh1 − a25 uh2 − a45 uh4 = 6.647
−0.6042 −1.021 1.408 uh6 −0.11300 − a16 uh1 − −a26 uh2 − a46 uh4 −1.17
(10.40)
Figura 10.11: Dibujo de la solución del problema con condiciones de contorno mixtas
La solución del sistema de ecuaciones anterior es uh3 = 5.09, uh5 = 5.29, uh6 = 5.19. El
mayor error de estas corresponde a la componente 6, y es |u6h −u6 | = 0.19 que no está mal
dada la sencillez de la triangulación. La gráfica de la solución se presenta en la figura
10.11
Ejercicios
9 10 11
7 8
4 5 6
1 2
−△u + u = f, (x, y) ∈ Ω
∂u
= g(x, y), (x, y) ∈ Γ = ∂Ω
∂n
1. Escribir el problema en forma variacional. ¿Es simétrica la forma bilineal
a asociada al problema?
2. Supongamos que queremos discretizar el problema sobre la malla de la
figura. Escribir la matriz de rigidez indicando cuales serán los elementos
no nulos de la misma (no es necesario calcularla, sólo indicar los elementos
no nulos)
3. ¿Cuántas ecuaciones tendremos que resolver si en vez de condiciones de
contorno Neumann tuviésemos condiciones mixtas según se indica en la
figura?