Introducción A Los Elementos Finitos: Uninorte
Introducción A Los Elementos Finitos: Uninorte
Introducción A Los Elementos Finitos: Uninorte
de
ot e
as s
Introducción a los elementos finitos
Florian Leydecker
Ricardo A. Prato T.
5 7 0.8
0.6
6 8
0.4
0.2
1 3 1
0
1 0.8
0.8 0.6
2 4 0.6 0.4
0.4
z 0.2
0.2
x 0 0
Uninorte
1 FEM
1.1 Motivación
Consideremos el problema de valores en la frontera
donde τ,q y f son funciones dadas, definidas en I . Asumimos además que τ y q son posi-
tivas y acotadas, es decir
Este problema tiene una única solución clasica u (x ) ∈ C 2 (I ), siempre que τ(x ) ∈ C 1 (I ) y
q (x ), f (x ) ∈ C (I ). Además, u depende continuamente de la función f . Por esto, se dice que
el problema esta “bien definido” (ver Birkhoff & Rota [BR89, Cap. 2]) En el caso que τ,q y f
tengan posibles discontinuidades, es necesario considerar soluciones debiles (o soluciones
variacionales). En lo sucesivo consideraremos el caso en que τ y q son funciones medibles
que satisfacen (1.2) y f una función medible en L 2 (I ), es decir satisface
Z 1
!1
2
2
kf k0 := f (x ) d x < ∞.
0
con norma
1
kw k1 := kw k20 + kw ′ k20 2 (1.3)
(El espacio H 01 (I ) puede verse tambien como la clausura del conjunto C0∞ (I ) bajo la
norma definida en (1.3) ).
Note que si u (x ) es una solución clasica de (1.1) y si v ∈ H 01 (I ), utilizando integración por
3
4 1.1. Motivación
partes se obtiene:
Z 1h Z 1
i
′ ′
− (τ(x )u (x )) v (x ) + q (x )u (x )v (x ) d x = f (x )v (x ) d x
0 0
Z 1h i Z 1
′ ′ ′
τ(x )u (x )v (x ) + q (x )u (x )v (x ) d x −[τ(x )u (x )v (x )]|10 = f (x )v (x ) d x
0
| {z } 0
=0
Z 1h Z 1
i
′ ′
τ(x )u (x )v (x ) + q (x )u (x )v (x ) d x = f (x )v (x ) d x
0 0
donde Z 1h i
B (u , v ) := τu ′ v ′ + q u v d x (1.5a)
0
Z 1
(f , v ) := f v dx (1.5b)
0
son respectivamente una forma bilineal y lineal. (1.4) se conoce con el nombre de repre-
sentación debil o variacional del problema de valores en la frontera (1.1), (1.2). Si τ,q y f
no son suaves, podemos ver una solución de (1.4) como una solución de (1.1). Especifica-
mente, la solución debil o variacional de (1.1) es una función en H 01 (I ) que satisface (1.4).
Observe que si u ∈ H 01 (I ) solo se requiere que u tenga derivada en L 2 (I ) ( en sentido debil).
El método de Galerkin se basa en las representaciones debiles, por ello es necesario
analizar con más cuidado (1.4).
Proposición 1.1 Asuma que se cumple (1.2). Entonces, la forma bilineal B (·, ·) satisface para
toda u , v, w ∈ H 01 (I ) y α, β ∈ R
(i) Simetría:
B (u , v ) = B (v, u ),
(ii) bilinealidad:
B (αu + β v, w ) = αB (u , w ) + β B (v, w )
B (u , αv + β w ) = αB (u , v ) + β B (u , w )
(iii) Continuidad:
|B (u , v )| ≤ C 1ku k1 kv k1 ,
(iv) Coercividad:
B (u , u ) ≥ C 2ku k21 ,
1. FEM 5
Tomando C 1 := max{τmax ,qmax } se obtiene la conclusión. (i), (ii) y (iv) se dejan de ejercicio.
Teorema 1.1 (Lax-Milgram) Sea H un espacio de Hilbert, B (·, ·) : H × H → R una forma bi-
lineal en un continua y H -coerciva, y F : H → R un funcional lineal continuo en H . Entonces,
existe un único u ∈ H que satisface
Prueba. Ejercicio
El método de Galerkin aproxima directamente la formulación variacional (1.4) de (1.1).
Sea S un subespacio finito dimensional de H 01 (I ). La aproximación de Galerkin U ∈ S a la
solución u se define por
Sea {φ j }Nj=1 una base para el espacio S; Por lo tanto, existen constantes c 1 , . . . , c N tales que
X
N
U (x ) = c j φ j (x ).
j =1
X
N
B (φ j , φk )c j = (f , φk ), k = 1, . . . , N
j =1
6 1.1. Motivación
BC = F (1.9)
donde
Bi j = B (φi , φ j ), Fi = (f , φi ) y Ci = c i i , j = 1, . . . , N
Proposición 1.2 La matriz B en (1.9) es simétrica y definida positiva, por tanto el sistema
(1.9) tiene una única solución i.e. existe un único U ∈ S que satisface (1.7)
X
N
ψ(x ) := γ j φ j (x ) ∈ S
j =1
X
N X
N XN X
N
B (ψ, ψ) = B γi φi (x ), γ j φ j (x ) = γi γ j B φi (x ), φ j (x )
i =1 j =1 i =1 j =1
N X
X N
= γi γ j Bi j = γT B γ ≥ C 2 kψk21 6= 0.
i =1 j =1
x0 x1 x j −1 xj x j +1 xn x n +1
Sea T : 0 = x 0 < x 1 < · · · < x n < x n +1 = 1 una partición T del intervalo [0, 1], con h :=
max h j donde h j := x j +1 − x j . Se define el espacio S h (T ) como el conjunto de todas las
1≤j ≤n +1
funciones continuas que se anulan en x = 0 y x = 1 y que son funciones lineales en el
subintervalo I j := [x j ,x j +1 ].
φ(x )
x0 = 0 x i −1 xi x i +1 x =1
PN
Note que φi (x j ) = δi j , por calculo directo sobre φ(x ) = i =1 c i φi (x ) obtenemos que
φ(x j ) = c j .
Sea φ ∈ S h . Como φ ′ (x ) es una función constante por secciones entonces φ ′ ∈ L 2 (0, 1).
Además, φ(1) = φ(0) = 0, es decir φ ∈ H 01 (0, 1) lo que implica que S h ⊂ H 01 (0, 1).
Probemos ahora que {φi }N i =1 son linealmente independentes: Para ello supongamos
X
N
c i φi (x ) = 0,
i =1
X
N
φ̃(x ) := c i φi (x ).
i =1
Observación 1.1
Note que:
0, 0 ≤ x < x j −1 0, 0 ≤ x < x j −1
h −1
j −1 (x − x j −1 ), x j −1 ≤ x ≤ x j ′ h −1
j −1 , x j −1 ≤ x ≤ x j
φ j (x ) = ⇒ φ j (x ) =
−1
h j (x j +1 − x ), x j ≤ x ≤ x j +1
−h −1j , x j ≤ x ≤ x j +1
0, x j +1 < x ≤ 1 0, x j +1 < x ≤ 1
Con esta elección de la base para S h (T ), la componente Bi j del sistema (i) puede ser
escrita como
Bi j = (τφi′ , φ j′ ) + (q φi , φ j ) = Ki j + Mi j
K es llamada la matriz de rigidez (stiffness matrix) y M la matriz de masa. Como el so-
porte1 de las funciones φi (x ) esta contenido en [x i −1 ,x i +1 ] las matrices K , M y B son ma-
trices tridiagonales, en casos generales las matrices pueden ser matrices bandas y sparse.
En el caso que h ≡ h j (partición uniforme), q (x ) ≡ q0 y τ(x ) ≡ τ0 las matrices toman la
forma K y M
2 −1 0 ··· ··· 0 4 1 0 ··· ··· 0
−1 2 −1 0 ··· 0 1 4 1 0 ··· 0
.. .. .. .. . . . . . . ..
. . . . . . .
1 0 −1 . h 0 1
K = τ0 . . , M = q0 . . .
h .. .. ... ... ... 0 6 .. . . . . . . . . . . . 0
.. .. .. ..
. . −1 2 −1 . . 1 4 1
0 ··· ··· 0 −1 2 0 ··· ··· 0 1 4
1 El nombre de “Elementos Finitos” viene del hecho de considerar funciones base con soportes “pequeños”
, es decir φ j (x ) = 0 fuera del intervalo [x i −1 , x i +1 ]
1. FEM 9
Z x i +1 Z xi
1 1
= 2 p (x ) d x + 2 (x − x i −1 )2 q (x ) d x
h x i −1
h x i −1
Z x i +1
1
+ (x i +1 − x )2 q (x ) d x ;
h2 xi
Z 1
Z 1
Z xi Z xi
1 1
=− 2 p (x ) d x + 2 (x i − x )(x − x i −1 )q (x ) d x
h x i −1
h x i −1
Por lo tanto,
1 1 h 3 π2 h 3 π2 2 2 π2
a i i = 2 (h + h) + 2 + = + hπ2 · = 20 +
h h 3 3 h 3 15
1 1 h π3 2 π 2
a i ,i −1 = a i ,i +1 = − 2 h + 2 · = −10 +
h h 6 60
πi π
b i = . . . = 40 sin 1 − cos
10 10
Obteniendo finalmente el sistema de ecuaciones lineales
~ = ~b ,
Aα α
~ = (α1 , . . . , α9 )
10 1.1. Motivación
con A = M + K :
−1 2 0 1 40
.
−1 . . . . . . 1 . . . . .
π2 .
K = 10 · .. .. ..
. . . , M= .. ... ...
60
.. .. .. ..
. . −1 . . 1
0 −1 2 0 1 4
X
9
Uh (x ) = αi φi (x )
i =1
u (x ) = sin(πx ) .
se pueden obtener estimativos del error cometido en el método, los cuales se muestran en la
siguiente tabla
i xi Uh (x i ) u (x i ) |u h (x i ) − u (x i )|
Elementos: e1 e2 e3 e4
DOF: U1 U2 U3 U4 U5
b b b b b
Nodos: N1 N2 N3 N4 N5
Coordenadas: x1 x2 x3 x4 x5
b b b b b
N1 N2 N3 N4 N5
n1 e1 n2 n1 e3 n2 n1
n1 e2 n2 n1 e4 n2
no se abordan en este enfoque. Sin embargo, se mostrará como a partir de estas matrices
locales se genera la global.
El procedimiento que nos permite "ensamblar" las matrices para obtener la matriz global
se ayuda de un ordenamiento local-global de nodos. Para establecer dicho ordenamiento
se establece una numeración global N i de los "elementos" e i (intervalos, en nuestro caso),
una numeración local n l ∈ {n 1 , n 2 } asociada a cada N i . Además a cada nodo x i le asoci-
amos su grado de libertad Ui y sus respectivas coordenadas (ver Fig. 1.3).
Esta información se puede ordenar mediante una matriz de localización que tiene di-
mensiones número local de nodos (n nod os ) × número de elementos(n e l e ),
número de elementos
1 2 3 4 nel e − 1 nel e
1 2 3 4 ··· n −1 n
n nod os
2 3 4 5 ··· n 0
En la matriz de la Fig. 1.4, el hecho que la posición A(2, n e l e ) = 0 nos indica que este
grado de libertad no es una incognita en la matriz global.
12 1.1. Motivación
Observación 1.2
Una transformación lineal ψ : I 7→ J que permite aplicar puntos x ∈ I := [a ,b ] a puntos
ξ ∈ J := [c , d ] esta definida por
bc − ad d − c
ψ(x ) := + x, x ∈ I := [a ,b ].
b −a b −a
xi − x x − x i −1
φ1 (x ) = , φ2 (x ) = where h i = x i − x i −1
hi hi
y η
φ2 (x ) := h1 (x − x i −1 )
1 φ˜2 (ξ) := ξ
−1
φ1 (x ) := h
(x − xi ) φ˜1 (ξ) := 1 − ξ
x ξ
x i −1 xi 0 1
h
Figure 1.5: Transformación de las funciones bases.
y
Z xi
(f , φl ) = f φl dx , 1 ≤ k , l ≤ 2.
x i −1
1 1
φ1′ = − y φ2′ = ,
hi hi
Z xi Z xi
1 1 1
φ1′2 dx = (x i − x i −1 ) 2 = , φ1′ φ2′ dx = − .
x i −1
hi hi x i −1
hi
por lo tanto,
1 1 −1
Ki = .
hi −1 1
La matriz final K del sistema lineal derivado de la forma discreta puede ser obtenida
combinando apropiadamente todas las matrices elementales Ki , asimismo el vector b
puede ser obtenido combinando apropiadamente los (2 × 1)-vectores b i . El ensamble de-
pende en gran medida de la forma en que estan relacionadas las funciones locales φ1 , φ2
con las funciones globales φbi i = 0, . . . , n . Para obtener K se debe tener en cuenta las
condiciones de frontera en x 0 = 0 y x n = 1.
x0 x1 x2 x3 x4
b4
:φ
a i := U (x i )
b3
:φ
b2
:φ
b1
:φ
a0 a1 a2 a3 a4
b0
:φ
x0 x1 x2 x3 x4
Figure 1.6: Funciones bases.
Sea φbi −1 (x ) a φ
bi (x ) las dos funciones globales (diferentes de cero) que se pueden definir
el intervalo I i . Así, la conexión entre ellas y las funciones locales φ1 y φ2 esta dada por
bi −1 (x ) = φ1 (x ),
φ x i −1 < x < x i ,
bi (x ) = φ2 (x ),
φ x i −1 < x < x i .
bi −1 (x ) y la
Con las dos funciones locales φ1 y φ2 se puede calcular la parte derecha de φ
bi (x ) respectivamente.
parte izquierda de φ
14 1.1. Motivación
Cabe anotar que la matriz Kcy el vector F cno son iguales a las matrices K y el vector F del
sistema en (1.9), ya que Kcy F c contienen términos que no hacen parte del sistema (1.9).
Esto se debe a que si el número de elementos es n y se tienen, por ejemplo, condiciones
de frontera esenciales en x 0 = 0 y en x n = 1 entonces el número de grados de libertad
es n − 1; pero la matriz Kb y el vector F c dependen de todas las incognitas sin importar
que algunas de ellas ya estan determinadas por las condiciones de frontera del problema.
Especificamente, en el caso trabajar con 4 nodos, las matrices toman la forma
B (φb0 , φb0 ) B (φ b0 , φb1 ) B (φ b0, φ b2 ) B (φ b0, φ b3 )
b0 )
(f , φ
b b b1 , φb1 ) B (φ b1, φ b2 ) B (φ b1, φ b3 )
B (φ 1 , φ 0 ) B (φ (f , φb1 )
,
b b b b b b b b (f , φb2 )
B ( φ 2 , φ 0 ) B ( φ 2 , φ 1 ) B ( φ 2 , φ 2 ) B ( φ 2 , φ )
3
b3 )
(f , φ
B (φb3 , φb0 ) B (φ b3 , φb1 ) B (φ b3, φ b2 ) B (φ b3, φ b3 )
y las matrices que se necesita dependiendo del numero de grados de libertad son
!
b1, φ
B (φ b1 ) B (φ
b1 , φ
b2 ) b1 )
(f , φ
, b2 )
b2, φ
B (φ b1 ) B (φ
b2 , φ
b2 ) (f , φ
X
4
U= bi (x )
aiφ
i =0
e1 (ξ) = 1 − ξ
φ1 (x (ξ)) = φ y e2 (ξ) = ξ.
φ2 (x (ξ)) = φ (1.12)
definen las funciones base locales (ver Fig. 1.5), tambien conocidas como funciones lin-
eales de forma. De esta manera, el cálculo de Ki y b i que corresponden al elemento i son
determinadas considerando la transformación (1.11) y (1.12) , ya que
ei
d φi d ξ d φ 1 dφ ei 1 e′
= = = φ (ξ).
dx dx dξ d x /d ξ d ξ hi i
y
Z 1
(f , φk )i = f (x (ξ))φk (ξ)h i d ξ, 1 ≤ k ≤ 2.
0
U (x ) = Ui −1 (x i −1 )φ1 (x ) + Ui (x i )φ2 (x ).
definida en el intervalo [x i −1 ,x i ] en
la cual se puede dividir en dos partes. La primera parte involucra las derivadas de primer
orden φk′ φl′ , obteniendose así una matriz 2 × 2
1 1 −1
Ki = .
h i −1 1
La segunda parte involucra el término φk φl dando una matriz 2 × 2 de la forma
Z 1
(1 − ξ)2 ξ(1 − ξ)
Mi = h i d ξ.
0
ξ(1 − ξ) ξ2
1 −1 2 1
−1 2 −1 1 4 1
1
,M = h
K=
−1 2 −1 1 4 1 ,
h 6
−1 2 −1 1 4 1
−1 1 1 2
1
2
h
f = f0 2
.
2 2
1
De otra parte, en orden a satisfacer la condición de frontera U (0) = U1 = 0 todos los
términos que involucren el nodo x 1 deben eliminarse. Esto reduce el sistema original N ×N
a un sistema (N − 1) × (N − 1). Entonces tomando U1 = 0, los restantes Ui son obtenidos
como la solución del sistema reducido.
18 1.1. Motivación
a (u , v ) = (f , v ) para todo v ∈ V.
1. FEM 19
Teorema 1.2 (Céa’s Lemma) Bajo las condiciones del teorema (1.1), se tiene
ku − U k1 ≤ C inf ku − χk1
χ∈S
B (U ,U − χ) = B (u ,U − χ),
por lo tanto,
C 2 kU − χk21 ≤ B (u − χ,U − χ) ≤ C 1 ku − χk1 kU − χk1
es decir kU − χk1 ≤ (C 1 /C 2 )ku − χk1 . Finalmente, la desigualdad triangular implica
C1
ku − U k1 ≤ ku − χk1 + kU − χk1 ≤ (1 + )ku − χk1 .
C2
S = span {x j }Nj=0.
Cuando N → ∞, S es denso en H 01 (0, 1), de forma tal que el error tendera a cero cuando
N → ∞. Sin embargo, el sistema de ecuaciones lineales resultante es muy dificil de resolver,
ya que la matriz de coeficientes resulta ser densa y mal condicionada. A continuación se
presentará un ejemplo con esta -una no muy adecuada- elección de la base.
B (u , v ) = (f , v ), for all v ∈ V,
20 1.1. Motivación
Z 1 Z 1
′ ′
donde B (u , v ) = u v d x y (f , v ) = f v d x . Tomando S = span {x ,x 2 , . . . ,x n }, las
0 0
entradas de la matriz de coeficientes para esta base toma la forma:
Z 1
jk
B j k = B (x ,x ) = j k
j x j −1k x k −1d x = .
0
j +k −1
κ(B ) ≡ cond (B ) := kB k∞ · kB −1 k∞
n 2 3 4 5 6 7 8 9 10 11
κ(B ) 16.3 4.1 · 102 1.1 · 104 2.9 · 105 8.8 · 106 2.8 · 108 8.5 · 109 2.6 · 1011 8.6 · 1012 2.7 · 1014
Observación 1.3
Con esta elección de S = S h (T ) el error en la aproximación puede ser estimado para ser
O (h 2 ) en L 2 (0, 1) y O (h) en H 1 (0, 1). Entonces, se tienen los siguientes estimativos de error
n o 21
′′
ku − U k1 ≤ C h ku k20 + ku ′ k20 + ku k20 ≡ C hku k2.
ku − U k0 ≤ C h 2ku k2 .
De la teoría de ecuaciones elipticas se tiene que
ku k2 ≤ C kf k0
Entonces los H 1 (0, 1) y L 2 (0, 1) estimativos de error pueden ser escritos en forma explicita
como
ku − U k j ≤ C h 2−j kf k0 , j = 0, 1.
1. FEM 21
−∆u = f en Ω ⊂ R2 .
u = g, en ΓD ⊂ ∂ Ω (Condición de Dirichlet)
∂u
= h, en ΓN := ∂ Ω \ ΓD (Condición de Neumann)
∂n
∂u
donde las funciones g y h son dadas y := n ·∇u denota la derivada de u en la dirección
∂n
normal a la frontera ∂ Ω.
A continuación consideraremos casos particulares de este tipo de problemas,
En forma análoga a 1d, es necesario para obtener especificar un espacio adecuado donde
la solución deseada exista, para ello definamos
entendiendo que v |ΓD debe ser tomada en el sentido del Teorema de la traza (Ver [Bra07,
Sec. 3.1]), con ello se puede asegurar que v |ΓD ∈ L 2 (∂ Ω).
De otra parte, se utilizarás los teoremas de la divergencia y fórmulas de Green en sus
“versiones debiles” (Ver [BS08, Cap. 5])
22 1.2. FEM en 2D - Ecuación de Poisson -
Z Z
∇·u dx = u ·n ds para u ∈ (W11 (Ω))2 (1.13)
Ω ∂Ω
Z Z Z
∂u ∂v
v dx = − u dx + u v ni d s para u , v ∈ H 1 (Ω) (1.14)
Ω
∂ xi Ω
∂ xi ∂Ω
Z Z Z
∂u
(−∆u )v d x = ∇u · ∇v d x − v ds para u ∈ H 2 (Ω), v ∈ H 1 (Ω) (1.15)
Ω Ω ∂Ω
∂n
Esta última ecuación permite escribir el problema como: Encontrar u ∈ H 01 (Ω) tal que
donde f ∈ L 2 (Ω) y
Z Z
B (u , v ) := ∇u · ∇v d x , y F (v ) := f v dx
Ω Ω
−∆u = f en Ω
u =0 on ∂ Ω1
∂u
=0 on ∂ Ω2
∂n
Multiplicando por una función test v , integrando y usando la condición sobre ∂ Ω2 se ob-
tiene Z Z Z
∂u
− v ∆u d x = ∇u · ∇u d x − v ds
Ω Ω ∂Ω
∂ n
1
V = {v ∈ H 1 (Ω) : v = 0 sobre ∂ Ω1 }
Observe que tenemos la misma formulación obtenida en el caso del problema con condi-
ción de frontera homogénea de tipo Dirichlet, sin embargo el espacio V ha cambiado,
ahora es un espacio mas grande puesto que no existe una condición sobre el contorno
∂ Ω2 de ∂ Ω. Una condición de frontera de tipo Neumann es una condición natural para
este problema, es decir, permite incorporar de manera natural las diferentes variantes de
esta condición.
Para generalizar el caso anterior consideremos el siguiente problema con una condición
de frontera de tipo mixta sobre ∂ Ω2 :
∂u
−∇u = f en Ω, u =0 sobre ∂ Ω1 , +βu = g sobre ∂ Ω2 .
∂n
Asumimos que β ≥ 0 para asegurar que la forma bilineal resultante es definida positiva
sobre el espacio a considerar. Continuando como en el caso anterior definimos
V = {v ∈ H 1 (Ω) : v = 0 sobre ∂ Ω1 }
Z Z
= ∇u · ∇v d x − v (g − β u ) d s .
Ω ∂ Ω2
En ambos casos los integrandos son positivos y por lo tanto a (v, v ) ≥ 0 para todo v ∈ V . Si
a (v, v ) = 0 entonces la continuidad del integrando cuando V ⊂ H 1 (Ω) implica que ∇u = 0
en Ω y por lo tanto v es constante. Cuando ∂ Ω1 no es vacío y v = 0 en ∂ Ω1 implica que v = 0
y por lo tanto v = 0.
Observe que es necesario que exista una parte de la frontera ∂ Ω1 en el cual se tiene la
condición v = 0 para obtener la positividad. De lo contrario, aun sin la condición de fron-
tera mixta se puede concluir solamente que v es constante y la forma bilineal resulta sola-
mente semi-definida positiva, así por ejemplo, sea problema
∂u
−∆u = f en Ω, =0 sobre ∂ Ω
∂n
a (Ue , v ) = F (v ) − a (U1 , v )
En el caso de una malla compuesta de triángulos éste genera los nodos x 1 , . . . ,x M y una
matriz n e × 3 de la cual, cada fila r contiene tres números i r1 , i r2 , i r3 los cuales determinan
3 nodos asociados al elemento r -ésimo. Es decir, xbi r1 ,b
x i r2 y xbi r3 corresponden a los tres
vértices que describen el triángulo r -ésimo . La matriz n e × 3 determina la conectividad
de la malla. En el caso de elementos cuadriláteros de 4-nodos se obtiene similarmente una
lista de nodos y la matriz de conectividad, la cual contiene 4 columnas que corresponden
a los 4-nodos asociados a cada cuadrilátero.
y
21 22 23 24 25
25 27 29 31
26 28 30 32
16 17 18 19 20
17 19 21 23
18 20 22 24
11 12 13 14 15
9 11 13 15
10 12 14 16
6 7 8 9 10
1 3 5 7
2 4 6 8
z
1 2 3 4 5 x
bi (x ) la cual satisface la
i = 1, . . . , M . A cada nodo xb i se le asocia una función lineal a trozos φ
condición de interpolación de Lagrange
(
1, si j = i
φbi (b
xj)= (1.18)
0, si j 6= i
z
x y
X
M1
U (x ) = bj (x )
cj φ
i =1
bi ) = (f , φ
B (U , φ bi ) i = 1, . . . , M 1 ,
K c = b, ci = c i , bi , φ
Ki j = B ( φ bj ) y bi ).
bi = (f , φ
entonces definimos
Z Z
B (u , v )r = ∇u · ∇v d x , (f , v )r = f v dx
Ωr Ωr
y por lo tanto
X
ne X
ne
B (u , v ) = B (u , v )r , (f , v ) = (f , v )r (1.19)
r =1 r =1
φi (x (s , t )) = φi (s , t )
η
ξ
(a) φ1 (ξ, η) = 1 − ξ − η
z z
ξ
η
ξ
η
(b) φ2 (ξ, η) = ξ (c) φ3 (ξ, η) = η
ψ: T → Ωr
(1.20)
(ξ, η) → x 1 φ1 (ξ, η) + x 2 φ2 (ξ, η) + x 3 φ3 (ξ, η) = (x , y )
Para verificar que la transformación satisface las propiedades requeridas, observemos que
ψ
z i → x i , i = 1, 2, 3 (es decir, aplica vértices en vértices), los lados de T son aplicados a los
lados de Ωr y el interior de ∂ T se aplica al interior de ∂ Ωr . Una aplicación de la forma (1.20)
es conocida como transformación afin, ya que resulta de la combinación de una transfor-
mación lineal seguida de por una traslación.
30 1.6. Triángulos - elementos lineales
y
η x3
ψ
z 3 = (0, 1) x2
x1
z 1 = (0, 0) z 2 = (1, 0)
ξ x
entonces
Como todo esta referido al elemento de referencia, las funciones se mantienen en térmi-
nos de las variables ξ y η. Sin embargo, se pueden reescribir las funciones en términos de
bi , φ
x y y (usando la transformación), y a su vez relacionarlas con las funciones φ bi y φ
bi
r1 r2 r3
donde φ̃ j esta definido sobre Ωr (base local) y φ j sobre T (base elemental), así definido
bi (x ) en un punto x ∈ Ωr . Cabe anotar que en cualquier triángulo
(1.21) da los valores de φ rj
La matriz elemental, es decir la matriz de rigidez, y el vector elemental están dados por
e1, φ
B (φ e1 )r e1, φ
B (φ e2 )r e1 , φ
B (φ e3 )r e1 )r
(f , φ
Kr = e e
B (φ 2 , φ 1 )r
e2, φ
B (φ e2 )r B (φ e3 )r
e2 , φ
y br =
(f , e2 )r
φ
e3, φ
B (φ e1 )r e3, φ
B (φ e2 )r e3 , φ
B (φ e3 )r e3 )r
(f , φ
1. FEM 31
En este caso, se puede determinar Kr explícitamente. Las entradas de las matrices son
Z ZZ !
∂ ei ∂ φ
φ ej ∂ φei ∂ φej
ei , φ
B (φ ek )r = ei · ∇φ
∇φ ej d x = + dx dy 1 ≤ i , j ≤ 3.
Ω Ω
∂ x ∂ x ∂ y ∂ y
r r
Definiendo la matriz
∂φe1 e2
∂φ e3
∂φ
∂x ∂x ∂x
B = ∈ R2×3
e e2 e3
∂ φ1 ∂φ ∂φ
∂y ∂y ∂y
entonces B T B es una matriz con
Kr = ( área de Ωr ) B T B
donde x i 1 = (x i 1 , y i 1 ) := (x i − x 1 , y i − y 1 ), i = 2, 3 y
∂x ∂x
∂ ξ ∂ η
x 21 x 31
Je = :=
∂ y ∂y y 21 y 31
∂ξ ∂η
(x 3 , y 3 )
x 31 Ωr
x 21 (x 2 , y 2 )
(x 1 , y 1 )
Para la relación entre las derivadas, la regla de la cadena afirma que para cualquier fun-
ción ve(x , y ) = v (ξ, η) se cumple
∂ v ∂ x ∂ ve ∂ y ∂ ve
= + ,
∂ξ ∂ξ∂x ∂ξ∂y
∂ v ∂ x ∂ ve ∂ y ∂ ve
= + ,
∂η ∂η∂x ∂η∂y
escribiendo lo anterior en forma matricial obtenemos
∂v ∂x ∂y ∂ ve ∂ ve
∂ ξ ∂ ξ ∂ ξ ∂x
∂ x
eT ,
= = J
∂ v ∂ x ∂ y
∂ ve ∂ ve
∂η ∂η ∂η ∂y ∂y
en consecuencia,
∂ ve ∂v
∂x ∂ ξ
= Je−T
,
∂ ve ∂ v
,
∂y ∂η
donde Je−T denota la transpuesta de la inversa Je−1 . Tomando φ e1 φ
e2 y φ
e3 en lugar de ve
tenemos
∂φe1 ∂ φ e2 ∂ φ e3 ∂ φ1 ∂ φ2 ∂ φ3
∂x ∂ x ∂ x ∂ξ ∂ξ ∂ξ
e−T e−T −1 1 0
B = = J = J .
e e e ∂ φ ∂ φ ∂ φ −1 0 1
∂ φ 1 ∂ φ 2 ∂ φ 3 1 2 3
∂y ∂y ∂y ∂η ∂η ∂η
1. FEM 33
Lo anterior muestra que la matriz de rigidez es la misma para cualquier escalar . También
note que si un triángulo es sujeto a cualquier transformación ortogonal (rotación o reflex-
ión) entonces esta corresponde a una transformación afin con la matriz de Jacobiano de la
forma
JeQ = Q Je
donde Q es una matriz 2 × 2 ortogonal, es decir, Q T Q = QQ T = I , Q −1 = Q T . Ahora Q T Q = I
implica que (det(Q))2 = 1 así que |JQ | = |J |. Además
entonces
JeQ−1 Je−1Q −T = Je−1Q T Q Je−T = Je−1 Je−T
Entonces Kr es invariante baja rotaciones o reflexiones del triángulo. La invariancia de
Kr bajo traslaciones, escalamiento, rotaciones y reflexiones significa que Kr depende so-
lamente de los ángulos del triángulo.
A continuación consideramos dos triángulos específicos.
34 1.6. Triángulos - elementos lineales
Tipo II
Tipo I
x3 x1
x2
Figure 1.12: Elementos “típicos“ de la triangulación de la Fig. 1.7
por lo tanto,
−h h
1 T 1
−h 0 h
Kr = AA = 0 −h
2|J | 2h 2 h −h 0
h 0
2h 2 −h 2 −h 2 2 −1 −1
1 −h 2 h 2
1
= −1 1
= 0 0
2h 2 2 2
−h 0 h2 −1 0 1
n=2
En este problema sólo se tiene un grado de libertad. Los elementos que contribuyen son
los numerados por 1, 2, 3, 8, 7 y 6. Para analizar la contribución de cada elemento note que
el grado de libertad corresponde: Por lo tanto, la matriz de rígidez de este problema toma
la forma:
1
K = · (1 + 1 + 2 + 0 + 0 + 2 + 1 + 1) = 4
2
1. FEM 35
2
5 7
6 8 3 1
1 3
1 3
1
2 4
z
x 2
Elemento 1 2 3 4 5 6 7 8
Nodo local 3 2 1 − − 1 2 3
1 1 2 2 1 1
Contribución 0 0
2 2 2 2 2 2
n=4
25 27 29 31 25 27 29 31
26 28 30 32 26 28 30 32
7 8 9 7 8 9
17 19 21 23 17 19 21 23
18 20 22 24 18 20 22 24
4 5 6 4 5 6
9 11 13 15 9 11 13 15
10 12 14 16 10 12 14 16
1 2 3 1 2 3
1 3 5 7 1 3 5 7
2 4 6 8 2 4 6 8
z z
x x
36 1.6. Triángulos - elementos lineales
Por lo tanto los nodos 1, 2, 4 y 5 son los que pueden contribuir al problema (ver Fig.
1.14(a)). El cálculo del elemento K11 se realiza de forma análoga al problema anterior.
y y
25 27 29 31 25 27 29 31
26 28 30 32 26 28 30 32
7 8 9 7 8 9
17 19 21 23 17 19 21 23
18 20 22 24 18 20 22 24
4 5 6 4 5 6
9 11 13 15 9 11 13 15
10 12 14 16 10 12 14 16
1 2 3 1 2 3
1 3 5 7 1 3 5 7
2 4 6 8 2 4 6 8
z z
x x
(a) Elementos que contibuyen para K11 (b) Elementos que contibuyen para K12
y y
25 27 29 31 25 27 29 31
26 28 30 32 26 28 30 32
7 8 9 7 8 9
17 19 21 23 17 19 21 23
18 20 22 24 18 20 22 24
4 5 6 4 5 6
9 11 13 15 9 11 13 15
10 12 14 16 10 12 14 16
1 2 3 1 2 3
1 3 5 7 1 3 5 7
2 4 6 8 2 4 6 8
z z
x x
(c) Elementos que contibuyen para K15 (d) Elementos que contibuyen para K14
Para obtener el elemento K12 tenga en cuenta que las funciones bases asociadas a los
nodos se intersectan en los elementos 12 y 3 (ver Fig. 1.14(b)). La tabla 1.2 contiene los
nodos locales de cada elemento y la contribución obtenida por cada elemento.
1. FEM 37
ϕi (z j ) = δi j , 1 ≤ i,j ≤ 6
X
6
ψ(ξ, η) := x i ϕi (ξ, η) = (x , y )
i =1
η x
z 3 = (0, 1) x3
x4
x1
ψ
x6
z 4 = (0, 12 ) z 6 = ( 12 , 12 )
x5
x2
z 1 = (0, 0) z 2 = (1, 0)
ξ y
z 5 = ( 21 , 0)
Los tres puntos adicionales para el análisis se toman en el interior de cada lado, obte-
niendo una simplificación del módelo en el caso que se tomen los puntos medios de los
lados del triángulos. Bajo estas consideraciones las funciones bases (Fig. 1.16) se definen
como:
por lo tanto
ψ(ξ, η) = (−4 x 4 + 2 x 3 + 2 x 1 ) η2 + (4 x 1 − 4 x 4 − 4 x 5 + 4 x 6 ) ξη
+ (−3 x 1 + 4 x 4 − x 3 )η + (2 x 1 + 2 x 2 − 4 x 5 ) ξ2 + (−3 x 1 − x 2 + 4 x 5 ) ξ + x 1
Tarea: Determinar las matrices locales de rígidez y carga (lado derecho) y realice el ensam-
ble para los casos n = 2 y n = 4.
1. FEM 39
η
z 3 = (0, 1)
z 4 = (0, 12 ) z 6 = ( 21 , 12 )
1−
1−
2ξ
ξ
−
−
η
2η
=
=
0
0
z 1 = (0, 0) z 2 = (1, 0)
ξ
z 5 = ( 12 , 0)
η
z 3 = (0, 1)
ϕ2 (ξ, η) = ξ(2ξ − 1)
z 4 = (0, 12 ) z 6 = ( 21 , 12 )
ξ=0
1 − 2ξ = 0
z 1 = (0, 0) z 2 = (1, 0)
ξ
z 5 = ( 12 , 0)
η
z 3 = (0, 1)
ϕ3 (ξ, η) = η(2η − 1)
z 4 = (0, 12 ) z 6 = ( 21 , 12 )
1 − 2η = 0
η=0
z 1 = (0, 0) z 2 = (1, 0)
ξ
z 5 = ( 12 , 0)
η
z 3 = (0, 1)
ϕ4 (ξ, η) = 4η(1 − ξ − η)
z 4 = (0, 12 ) z 6 = ( 21 , 12 )
1−
ξ
−
η
=
η=0
0
z 1 = (0, 0) z 2 = (1, 0)
ξ
z 5 = ( 12 , 0)
5 function sol=fem1d(N,a2,a0,ff,ymax)
6 % Comente Usted
7 h=1/N;
8 T=0:h:1;
9 % Comente Usted
10 fx=inline(ff,’x’);
11 f= @(x) fx(x)+0*x;
12 %
13 taux=inline(a2,’x’);
14 p= @(x) -1*taux(x)+0*x;
15 %
16 qx=inline(a0,’x’);
17 q= @(x) qx(x)+0*x;
18 % Comente Usted
19 phie1=@(x) 1-x;dphie1=@(x) -1;
20 phie2=@(x) x ;dphie2=@(x) 1 ;
21 % Comente Usted
22 k11=@(x) (1/h).*p(x).*dphie1(x).*dphie1(x);
23 k12=@(x) (1/h)*p(x).*dphie1(x).*dphie2(x);
24 k22=@(x) (1/h)*p(x).*dphie2(x).*dphie2(x);
25 k21=@(x) (1/h)*p(x).*dphie2(x).*dphie1(x);
26 % Comente Usted
27 K(1,1)=quad(k11,0,1); K(1,2)=quad(k12,0,1);
28 K(2,1)=quad(k21,0,1); K(2,2)=quad(k22,0,1);
29 % Comente Usted
30 n=length(T)-1;
31 % Comente Usted
32 for i=1:length(T)-1
33 xim1=T(i); % Comente Usted
34 iphie1=@(x) xim1+x*h; % Comente Usted
35 % Comente Usted
36 hq=@(x) q(iphie1(x));
37 % Comente Usted
38 m11=@(x) h*hq(x).*phie1(x).*phie1(x);
39 m12=@(x) h*hq(x).*phie1(x).*phie2(x);
1. FEM 41
40 m22=@(x) h*hq(x).*phie2(x).*phie2(x);
41 m21=@(x) h*hq(x).*phie2(x).*phie1(x);
42 % Comente Usted
43 Ms(i,1,1)=quad(m11,0,1); Ms(i,1,2)=quad(m12,0,1);
44 Ms(i,2,1)=quad(m21,0,1); Ms(i,2,2)=quad(m22,0,1);
45 end
46 % Comente Usted
47 k_glob=sparse(n+1,n+1);
48 m_glob=sparse(n+1,n+1);
49 b_glob=k_glob(:,1);
50 % Comente Usted
51 for i=1:n
52 Mss=[[Ms(i,1,1) Ms(i,1,2)];[Ms(i,2,1) Ms(i,2,2)]];
53 k_glob(i:i+1,i:i+1)=k_glob(i:i+1,i:i+1)+K;
54 m_glob(i:i+1,i:i+1)=m_glob(i:i+1,i:i+1)+Mss;
55 end
56 % Comente Usted
57 for i=1:length(T)-1
58 xim1=T(i); % Comente Usted
59 iphie1=@(x) xim1+x*h; % Comente Usted
60 % Comente Usted
61 hp=@(x) f(iphie1(x));
62 b1=@(x) h*hp(x).*phie1(x);
63 b2=@(x) h*hp(x).*phie2(x);
64 c1(1,i)=quad(b1,0,1);
65 c2(2,i)=quad(b2,0,1);
66 end
67 % Comente Usted
68
81
95
96 function res=bc01(y0,y1)
97 %BC: Evaluates the residue of the boundary condition
98 res=[y0(1);y1(1)];
99 end
Para que Matlab resuelva de forma explicita la EDO, puede utilizar el comando dsolve,
para ello debe cargar los valores iniciales, esto puede ser por pantalla o simplemente den-
tro del código
1 x0=0;y0=0 ;
2 x1=1;y1=0 ;
y luego la solución puede ser obtenida con la linea
3 y = dsolve([a2 ’*D2y +’ a0 ’*y =’ ff],...
4 [’y(’ num2str(x0) ’)=’ num2str(y0)],...
5 [’y(’ num2str(x1) ’)=’ num2str(y1)],’x’)
Con esto se puede obtener la norma en H 01 , calculando inicialmente la matriz
Z 1
uu dx (1.22)
0
mediante
6 sols=char(y) % Por que esta linea es necesaria?
7 ux=inline(sols,’x’)
8 u=@(x) ux(x)+0.*x
9 uc=@(x) ux(x).^2+0.*x
10 uenorm_M=quad(uc,0,1)
y luego
Z 1
u ′u ′ d x (1.23)
0
mediante diff
11 %Aca falta una o varias instrucciones! Cuales son?
12 uds=diff(u(x),’x’)
13 %Aca falta una o varias instrucciones! Cuales son?
14 uenorm_R=quad(udc,0,1);
En caso que todo este correcto, se debe calcular el error para distintas mallas y graficarla
en una log-log, para el caso q (x ) = f (x ) = 1.0 se obtiene la gráfica siguiente, donde el
eje horizontal corresponde a (el logaritmo de ) los grados de libertad y el eje vertical a (el
logaritmo de ) los errores obtenidos en las distintas mallas.
0
10
−1 X: 2
10 Y: 0.1344
X: 4
Y: 0.06686
X: 8
Y: 0.03339
X: 16
Y: 0.01669
−2
10
X: 32
Y: 0.008344
X: 64
Y: 0.004173
X: 128
Y: 0.002088
−3
10
X: 256
Y: 0.001047
X: 512
Y: 0.0005297
X: 1024
Y: 0.0002769
−4
10
0 1 2 3
10 10 10 10
Bibliography
[BR89] Garrett Birkhoff and Gian-Carlo Rota, Ordinary differential equations, fourth ed.,
John Wiley & Sons Inc., New York, 1989. MR MR972977 (90h:34001)
[Bra07] Dietrich Braess, Finite elements, third ed., Cambridge University Press, Cambridge,
2007, Theory, fast solvers, and applications in elasticity theory, Translated from the
German by Larry L. Schumaker. MR MR2322235 (2008b:65142)
[BS08] Susanne C. Brenner and L. Ridgway Scott, The mathematical theory of finite ele-
ment methods, third ed., Texts in Applied Mathematics, vol. 15, Springer, New York,
2008. MR MR2373954 (2008m:65001)
45