You are on page 1of 20

Capı́tulo 10

Métodos de elementos finitos

Contenidos del capı́tulo
10.1 Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
10.2 Espacios de polinomios a trozos . . . . . . . . . . . . . . . . . 168
10.3 Elemento triangular plano con tres nodos . . . . . . . . . . . 168
10.4 Elemento triangular plano con seis nodos . . . . . . . . . . . 171
10.5 Elementos rectangulares planos . . . . . . . . . . . . . . . . . 172
10.6 Resumen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
10.7 Planteamiento del problema con condiciones nulas . . . . . 174
10.8 Construcción del vector de cargas: Fórmulas de cuadratura
bidimensionales . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
10.9 Ejemplo de aplicación del método con condiciones de con-
torno nulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
10.10Tratamiento del problema de Dirichlet con condiciones de
contorno no nulas . . . . . . . . . . . . . . . . . . . . . . . . . 178
10.11Planteamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.12Ejemplo de aplicación del MEF a condiciones de contorno
mixtas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

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

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
168 Métodos Numéricos

Figura 10.1: Triangulaciones de una región con frontera poligonal Ω̄

10.2 Espacios de polinomios a trozos
Vamos a considerar en primer lugar un Ω ⊂ R2 con una frontera poligonal Γ. Sea
Th una triangulación de Ω (ver Figura 10.1) y denotemos un punto de Ω como x =
(x1 , x2 ) ≡ (x, y). Vamos a plantearnos como aproximar una función v(x, y) definida
sobre Ω mediante polinomios a trozos sobre la malla
Denotaremos Pr (K) = {v : v es un polinomio de grado ≤ r, x ∈ K}. Por ejemplo
P1 (K) es el espacio de los polinomios de primer grado definidos sobre el elemento
geométrico en el que se particiona Ω, esto es, funciones de la forma

v(x) = α00 + α10 x + α01 y, x ∈ K (10.1)

donde αij ∈ R. Evidentemente el conjunto {Φ1 , Φ2 , Φ3 } con Φ1 (x) = 1, Φ2 (x) = x, Φ3 (x) =
y es una base de P1 (K), que tiene dimensión dim [P1 (K)] = 3.
Definamos ahora P2 (K) como el espacio de polinomios cuadráticos completos sobre
K, esto es, funciones de la forma

v(x) = α00 + α10 x + α01 y + α11 xy + α20 x2 + α02 y 2 , x ∈ K (10.2)

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 .

10.3 Elemento triangular plano con tres nodos
Vamos a estudiar en detalle el tipo más sencillo posible de elementos bidimensionales,
sea
Vh = v ∈ C 0 (Ω̄) : v ∈ P1 (K), ∀Kj ∈ Th

(10.3)

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
Métodos de elementos finitos 169

Figura 10.2: Un elemento triangular

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

x1 = (x1 , y1 ), x2 = (x2 , y2 ), x3 = (x3 , y3 )

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

v1 = v(x1 ) = α00 + α10 x1 + α01 y1 , (10.4a)
v2 = v(x2 ) = α00 + α10 x2 + α01 y2 , (10.4b)
v3 = v(x3 ) = α00 + α10 x3 + α01 y3 . (10.4c)

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

que tiene determinante de la matriz de coeficientes distinto de cero, ya que su deter-
minante es el doble del área del triángulo y por lo tanto el sistema de ecuaciones tiene
solución única α00 , α10 , α01 .
Vamos a calcular ahora la forma analı́tica de las funciones base locales de P1 (K),
esto es, las funciones φj (x), j = 1, 2, 3 tales que
(
1, i=j
φj (xi ) = (10.6)
0, i 6= j

Esta tarea es fácil de realizar ya que las funciones φj (x) corresponden a la solución del

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
170 Métodos Numéricos

Figura 10.3: Las funciones base locales φj (x)

sistema de ecuaciones (10.4) con vi = 1, si i = j, vi = 0, si i 6= j.
1
φ1 (x) = [x2 y3 − x3 y2 + (y2 − y3 )x + (x3 − x2 )y] , (10.7a)
det D
1
φ2 (x) = [x3 y1 − x1 y3 + (y3 − y1 )x + (x1 − x3 )y] , (10.7b)
det D
1
φ3 (x) = [x1 y2 − x2 y1 + (y1 − y2 )x + (x2 − x1 )y] , (10.7c)
det D
donde D es la matriz del sistema de ecuaciones (10.5). Para simplificar la notación suelen
definirse a1 = x2 y3 − x3 y2 , b1 = y2 − y3 , c1 = x3 − x2 y sus permutaciones cı́clicas para
definir a2 , b2 , c2 , a3 , b3 , c3 . Es fácil comprobar por medio de consideraciones geométricas
elementales que det D = 2A, esto es, el doble del área del triángulo. Lógicamente las
funciones base locales (10.7a-10.7c) satisfacen las condiciones (10.6), por ejemplo si
calculamos
1
φ1 (x1 ) = [a1 + b1 x1 + c1 y1 ] = 1,
det D
1
φ1 (x2 ) = [a1 + b1 x2 + c1 y2 ] = 0,
det D
1
φ1 (x3 ) = [a1 + b1 x3 + c1 y3 ] = 0,
det D
y lo mismo ocurre para φ2 y φ3 .
Las gráficas de las funciones base locales de P1 (K) se presentan en la figura 10.3
Una vez que tenemos estas funciones base podemos definir el espacio discreto
n o
Vh = v : v|Kj ∈ P1 (Kj ), ∀ Kj ∈ Th y v es continua en los nodos (10.8)

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

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
Métodos de elementos finitos 171

Figura 10.4: Las funciones Φj (x) de la base global de P1 (K)

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

para cualquier par de nodos xi , xj de la triangulación. El aspecto de las funciones base
globales es el que se presenta en la figura 10.4
Evidentemente la restricción de la función base global sobre un nodo coincide con la
función base local.

10.4 Elemento triangular plano con seis nodos
En el ejemplo anterior hemos construido un espacio de funciones lineales a trozos sobre
una triangulación Th de Ω. Vamos a construir ahora aproximantes de mayor orden, en
particular cuadráticos. Una función cuadrática sobre un triángulo en R2 es del tipo (10.2)
y por lo tanto tiene seis constantes libres que son los coeficientes αij , 0 ≤ i + j ≤ 2.
Tenemos que considerar entonces seis grados de libertad sobre los triángulos, ¿cómo
podrı́amos elegirlos? La forma más natural de hacerlo es recordar que vamos a querer
construir funciones globalmente continuas; para ello será necesario que las funciones
cuadráticas sobre cada triángulo K empalmen de manera continua con el vecino. Hay
una manera de conseguir esta condición fácilmente que es colocar tres nodos sobre cada
lado del triángulo y hacer coincidir la función sobre elementos contiguos en esos puntos
(ver figura 10.5). Evidentemente, las dos parabolas del contorno deben coincidir en todo
el borde ya que lo hacen en tres puntos. La única forma de elegir seis puntos sobre el
contorno que coincidan tres a tres con los vecinos es tomar tres grados de libertad en
1
Y por supuesto no diferenciable ya que se corresponde con la intersección de dos planos con distintos
vectores directores

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
172 Métodos Numéricos

Figura 10.5: Los grados de libertad en P2 (K)

(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.

10.5 Elementos rectangulares planos
Consideremos ahora un elemento de forma rectangular y consideremos cuatro nodos
situados en sus vértices como en la figura 10.6(a)
Este elemento, que se denomina a veces elemento de Melosh, aunque tiene forma
sencilla presenta algunos inconvenientes. En primer lugar tenemos cuatro grados de
libertad por lo que no hay suficientes datos para determinar un polinomio cuadrático de
forma completa. Una opción es tomar un polinomio cuadrático incompleto del tipo

v(x) = α00 + α10 x + α01 y + α11 xy (10.10)

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.

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
Métodos de elementos finitos 173

Figura 10.7: Elemento rectangular con seis nodos

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.

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
174 Métodos Numéricos

10.6 Resumen.
En este tema hemos visto que un elemento finito en R2 es un objeto definido por varios
ingredientes:

1. Un objeto geométrico K plano (por ejemplo un triángulo).

2. Un espacio lineal PK de funciones definidas sobre K (por ejemplo polinomios)

3. Un conjunto de grados de libertad de manera que cualquier función de PK queda
determinada de manera única por los grados de libertad.

10.7 Planteamiento del problema con condiciones nulas
Vamos a considerar el siguiente problema de Dirichlet para la ecuación de Poisson

−△u = f, x ∈ Ω (10.14)
u = 0, x ∈ ∂Ω (10.15)

siendo Ω ⊂ R2 un dominio plano con frontera ∂Ω.
El primer paso para establecer la formulación de elementos finitos de un problema
particular es escribir la forma débil del mismo tal y como ya vimos en la formulación del
método para problemas de contorno. Para ello multipliquemos en la ecuación (10.14)
por una función v arbitraria que se anule en la frontera e integremos a todo Ω para
obtener Z Z
− v△u dx = vf dx,
Ω Ω

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)
Ω Ω

Ası́ pues, hemos trasformado el problema de resolver la ecuación diferencial direc-
tamente a la forma débil, que es más apropiada para la aplicación del método de los
elementos finitos.
El siguiente paso es realizar una triangulación Th del dominio Ω y elegir un tipo de
elementos finitos (un espacio discreto Vh ) para realizar la aproximación de las funciones

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
Métodos de elementos finitos 175

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

donde j = 1, ..., N recorre todos los nodos de la triangulación y se definen
Z
a(u, v) = ∇u · ∇vdx, (10.20a)
ZΩ
(f, g) = f gdx. (10.20b)

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.

10.8 Construcción del vector de cargas: Fórmulas de cua-
dratura bidimensionales
Para la aplicación del método de los elementos finitos a problemas multidimensionales
nos falta aún un ingrediente que es disponer de fórmulas de integración sobre domi-
nios de geometrı́a arbitraria. Las más utilizadas son fórmulas de integración gaussiana
multidimensional. Las integrales sobre un elemento particular son fórmulas del tipo
Z q
X
g(x)dx ≃ g(si )ωi , (10.22)
K i=1

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

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
176 Métodos Numéricos

Figura 10.8: Triangulación uniforme del dominio ΩS

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.

10.9 Ejemplo de aplicación del método con condiciones de
contorno nulas
Un ejemplo elemental de aplicación del método lo proporciona el estudio de la ecuación
de Laplace en una región cuadrada ΩS = [0, 1] × [0, 1], que triangulamos como se indica
en la figura
La matriz de rigidez puede calcularse con las fórmulas (10.21). Tomemos por ejemplo
el vértice 1 que comparte triángulos con los vértices 2,4 de modo que los a11 , a12 , a14 y
a15 son no nulos. Al ser la triangulación uniforme las áreas de los triángulos son A = 21 h2 .

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
Métodos de elementos finitos 177

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.

Calculemos por ejemplo
X b2 + c2
1 1
a11 = =4
K1
4 12 h2
b1 b2 + c1 c2 (−h)h + 0 · h
a12 = 2 1 2 =2 = −1
42h 2h2
a15 = 0 (hacer como ejercicio)

y continuando el cálculo se obtiene ajj = 4 y que para elementos contı́guos aij = −1 de
modo que las ecuaciones que tienen que satisfacerse son, tomando la regla Gaussiana
con valores en los vértices
  h  
4 −1 0 −1 0 0 0 0 0 u1 b1

−1 4 −1 0 −1 0 0 0 0  uh2  b2 
   h  
 0 −1 4 0 0 −1 0 0 0  u3  b3 
   h  
−1 0 0 4 −1 0 −1 0 0 u4h  b4 
   

 0 −1 0 −1 4 −1 0 −1 0  u  = b5  (10.24)
   5  
0 0 −1 0 −1 4 0 0 −1 uh  b6 
   6  
0 0 0 −1 0 0 4 −1 0  uh  b7 
   7  
0 0 0 0 −1 0 −1 4 −1 uh8  b8 
0 0 0 0 0 −1 0 −1 4 uh9 b9

Para fijar ideas consideremos el siguiente problema

−△u = y(y − 1) + x(x − 1), (x, y) ∈ Ω ≡ [0, 1] × [0, 1] (10.25a)
u = 0, (x, y) ∈ ∂Ω (10.25b)

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
178 Métodos Numéricos

Cuya solución única es u(x, y) = 21 xy (x − 1) (y − 1). Para aplicar el método de los
elementos finitos basta calcular el término de la derecha en (10.24). Para ello utilizamos
reglas de integración gaussiana, en particular (10.23b)
Z
f (x, y)Φj (x, y) dxdy ≃ h2 f (xj ) (10.26)
Sop Φj

Para esta geometrı́a y eligiendo la fórmula de integración gaussiana de vértices vemos
que las ecuaciones de elementos finitos son las mismas que las de diferencias finitas
sobre una malla cuadrada. Sin embargo los elementos finitos proporcionan mucha mayor
flexibilidad. La solución en este caso puede construirse mediante el siguiente código
MATLAB
h=0.25;
A=[4 -1 0 -1 0 0 0 0 0; -1 4 -1 0 -1 0 0 0 0; 0 -1 4 0 0 -1 0 0 0; ...
-1 0 0 4 -1 0 -1 0 0; 0 -1 0 -1 4 -1 0 -1 0; 0 0 -1 0 -1 4 0 0 -1 ;...
0 0 0 -1 0 0 4 -1 0 ; 0 0 0 0 -1 0 -1 4 -1; 0 0 0 0 0 -1 0 -1 4];
x=[1 2 3 1 2 3 1 2 3]*h; y=[1 1 1 2 2 2 3 3 3]*h;
f =-h*h*(y.*(y-1) + x.*(x-1));
uh = (A\f’)’;

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

10.10 Tratamiento del problema de Dirichlet con condi-
ciones de contorno no nulas
Tanto en el tratamiento de la sección (10.7) como en el ejemplo anterior las condi-
ciones de contorno Dirichlet eran nulas por lo que basta con no considerar la fron-
tera. ¿Qué puede hacerse cuando las condiciones de contorno no son nulas sino que
u(x, y) = u0 (x, y), (x, y) ∈ ∂Ω?
Una primera forma de abordar el problema consiste en suponer desconocidos los
valores de la función en la frontera y escribir las ecuaciones de suponiendo incógnita la
solución en los nodos de la frontera, esto nos lleva a
   uh   f 
a11 a12 ... a1n 1 1
u h  f2 
 a21 a22 ... a2n   2
 .  =.  (10.27)
  
 ..   .. 
. . . . . . . . . . . . . . . . . . 
an1 an2 ... ann uhn fn
Supongamos que uno de los valores uj es conocido por corresponder a un vértice de la
frontera (si hay más se procede de la misma forma). Reescribamos el problema anterior
como   h  
a11 ... a1j ... a1n

u1 f1
 a21 ... a2j ... a2n   ..   .. 
. . . . . . . . . . . . . . . . . . . . . .  .h   . 
    
. . . . . . . . . . . . . . . . . . . . . . uj  =  fj  (10.28)
    
   ..   .. 
. . . . . . . . . . . . . . . . . . . . . .  .   . 
an1 ... anj ... ann uhn fn

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
Métodos de elementos finitos 179

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

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
180 Métodos Numéricos

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 Ω.

10.12 Ejemplo de aplicación del MEF a condiciones de
contorno mixtas
Vamos a desarrollar un ejemplo de aplicación del MEF con funciones lineales a trozos
para condiciones de contorno mixtas. Consideremos el problema de resolver la ecuación
de Poisson
△u = −2, x ∈ Ω1 , (10.34)
donde Ω1 es el triángulo de la figura 10.10.
Para aplicar el método de los elementos finitos podemos considerar separadamente
cada vértice para escribir la ecuación asociada como hicimos en el ejemplo anterior,
sin embargo esta no es la forma usual de proceder cuando se aplica el método de los
elementos finitos en la práctica por varias razones. La manera más común de proceder
consiste en estudiar localmente los elementos utilizando las funciones base locales y
construir una matriz (3×3 en el caso de triángulos) que corresponde a cada uno de
los vértices del elemento. Una vez que se calculan todas las matrices locales y dada la
linealidad de las integrales que plantean el método de los elementos finitos el cálculo de
la matriz del sistema pasa por ir sumando las contribuciones de cada elemento, proceso
que se denomina ensamblado de la matriz de elementos.
Vamos a resolver este ejemplo mediante el cálculo de las matrices locales y ensam-
blando después los elementos
Elemento 1: Comenzamos calculando los coeficientes geométricos ai , bi , ci
a1 = x2 y3 − x3 y2 = −0.3 b1 = y2 − y3 = −0.5 c1 = x3 − x2 = −0.15
a2 = x3 y1 − x1 y3 = 0.75 b2 = y3 − y1 = 0.5 c2 = x1 − x3 = −0.75
a3 = x1 y2 − x2 y1 = 0 b3 = y 1 − y 2 = 0 c3 = x2 − x1 = 0.9
y su área, que es A1 = 12 (a1 + a2 + a3 ) = 0.225. La matriz de rigidez del sistema para el
elemento 1 es entonces
 
0.30278 −0.15278 −0.15
(1)
aij =  0.90278 −0.75
0.9
Como los vértices locales 1,2 y 3 del elemento 1 corresponden a los globales 1,3,2 res-
pectivamente la contribución de esta matriz a la matriz del sistema total es del tipo
 (1) (1) (1)

a11 a13 a12 0 0 0
 (1) (1) (1)
a31 a33 a32 0 0 0

 (1) (1) (1) 
a a a 0 0 0 (10.35)

 21 23 22 
 0 0 0 0 0 0
 
 0 0 0 0 0 0
0 0 0 0 0 0

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
Métodos de elementos finitos 181

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

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
182 Métodos Numéricos

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

y su área es A2 = 12 (a1 + a2 + a3 ) = 0.15. La matriz del sistema para el elemento 2 en
coordenadas locales es
 
0.60000 −0.75000 0.15000
(1)
aij =  1.35417 −0.60417
0.45417

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

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
Métodos de elementos finitos 183

y el vector local de cargas (sólo integrales de Ψi )
 
−0.1
(3)
fi = −0.0730
−0.0470
Elemento 1: La matriz de rigidez local es
 
0.40000 −0.33333 −0.06667
(4)
aij =  0.90278 −0.56944 (10.38)
0.63611
y el vector local de cargas (sólo integrales de Ψi )
 
−0.15
(4)
fi =  0.03 
0.09
Con estos resultados podemos ensamblar la matriz de rigidez y el vector de cargas
en la forma
 (1) (1) (1) 
a11 a13 a12 0 0 0
(1) (2) (3) (4) (1) (2) (4) (3) (4) (2) (3) 
a33 + a11 + a11 + a11 a23 + a12 a13 a13 + a12 a13 + a12 


 (1) (2) 
 a22 0 0 a23 
A= 
(4) (4)
=
 a33 a23 0 

 (3) (4) (3) 
 a33 + a22 a23 
(2) (3)
a33 + a22
 
0.30278 −0.15000 −0.15278 0 0 0

 2.1667 −1.5000 −0.66667 −0.66667 0.21667  

 2.25695 0 0 −0.60417  (10.39a)

 0.63611 −0.56944 0 

 2.25695 −1.02083
1.40833
 (1) 
f1 
0.39000

 (1) (2) (3) (4) 
f3 + f1 + f1 + f1  −0.50000
 (1) 2
  
 f2 + f(2)   0.27200 
f =
(4)  =  0.09000 
   (10.39b)
 f3   
 (3) (4)  −0.01700
 f3 + f2 
2 3 −0.11300
f(3) + f(3)

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)

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
184 Métodos Numéricos

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

10.1 Considérese el problema de Dirichlet
−△u + ρ(x)u = 0, x ∈ Ω,
u(x) = 0, x ∈ ∂Ω,

donde ρ(x) es una función real y Ω un recinto en forma de “L” como el de la
figura

9 10 11

7 8

4 5 6

3

1 2

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
Métodos de elementos finitos 185

1. Escribe la formulación de Galerkin del problema.
2. Para resolver numéricamente el problema empleamos elementos finitos
triangulares de grado 1, tal y como indica la figura. Discute si la formu-
lación integral del apartado anterior da lugar a un sistema de ecuaciones
lineales y, en caso afirmativo, indica los elementos no nulos de la matriz
de coeficientes del sistema.
3. Si empleásemos un número mayor de elementos, p.ej. 1000, ¿qué métodos
podrı́amos aplicar a la resolución numérica de las ecuaciones del apartado
(b)?

10.2 Determinar una elección de los nodos en un elemento K ⊂ R2 de geometrı́a
triángular que permita una aproximación globalmente continua de elementos
finitos por medio de polinomios cúbicos completos (en x e y)
10.3 Considérese el siguiente problema con condiciones de contorno Neumann

−△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?

Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html
Versión del 23/1/2007
http://matematicas.uclm.es/ind-cr/metnum/index.html