Introducción A Los Elementos Finitos: Uninorte

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 45

N clas

de
ot e
as s
Introducción a los elementos finitos

Florian Leydecker

Ricardo A. Prato T.

Solution to the Problem

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

F (x , u , u ′ ) = −(τ(x )u ′ (x ))′ + q (x )u (x ) − f (x ) = 0, x ∈ I := (0, 1)


(1.1)
u (0) = u (1) = 0

donde τ,q y f son funciones dadas, definidas en I . Asumimos además que τ y q son posi-
tivas y acotadas, es decir

0 < τmin ≤ τ(x ) ≤ τmax , 0 < qmin ≤ q (x ) ≤ qmax . (1.2)

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

Definamos tambien el espacio


¦ ©
H 01 (I ) := w : I → R| w, w ′ ∈ L 2 (I ), w (0) = w (1) = 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

Entonces, la solución de (1.1) satisface la ecuación

B (u , v ) = (f , v ), for all v ∈ H 01 (I ) (1.4)

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

Prueba. Para (iii) se tiene:


Z
1h i

|B (u , v )| = τu ′ v ′ + q u v d x
0
Z1 Z 1
′ ′
≤ |τu v + q u v | d x = |τ||u ′ ||v ′ | + |q ||u ||v | d x
0 0
Z 1

≤ max{τmax ,qmax } |u ′ ||v ′ | + |u ||v | d x


h0 i
′ ′
≤ max{τmax ,qmax } ku k0 kv k0 + ku k0kv k0 ≤ max{τmax ,qmax }ku k1 kv k1

Tomando C 1 := max{τmax ,qmax } se obtiene la conclusión. (i), (ii) y (iv) se dejan de ejercicio.

En general, no se necesita la simetría de la forma bilineal B para discutir la existencia y


unicidad de solución variacional del problema, esto se ve en el siguiente resultado

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

B (u , v ) = F (v ), for all v ∈ H . (1.6)

Más aun, ku k ≤ C 2−1kF k.

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

B (U , v ) = (f , v ), for all v ∈ S ⊂ H 01 (I ) (1.7)


esto da lugar a la condición de ortogonalidad

B (u − U , v ) = 0, for all v ∈ S ⊂ H 01 (I ) (1.8)

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

Reemplazando esto en (1.7) y fijando v = φk , (1.7) se reduce a:

X
N
B (φ j , φk )c j = (f , φk ), k = 1, . . . , N
j =1
6 1.1. Motivación

que puede reescribirse como el sistema de ecuaciones lineales

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)

Prueba. La simetría de B se deriva de (i), ya que Bi j = B (φi , φ j ) = B (φ j , φi ) = B j i . Para


probar que B es positiva definida, consideremos γ = (γ1 , . . . , γN ) ∈ RN y definamos

X
N
ψ(x ) := γ j φ j (x ) ∈ S
j =1

Entonces, tomando γ 6= 0 se obtiene

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

La última desigualdad se obtiene de (iv) en la Proposición (1.1). Como la matriz B es


simétrica y definida positiva, entonces es invertible.

1.1.1 Espacio del método de elementos finitos


La clave del exito del método de Galerkin es la elección correcta del espacio S, de forma
tal que el error cometido sea cada vez más pequeño y que el sistema de ecuaciones lineales
(1.9) sea fácil de resolver. Tal elección es llamada Espacio del método de elementos finitos.
Se describirá a continuación un ejemplo de un espacio de este tipo.

x0 x1 x j −1 xj x j +1 xn x n +1

Figure 1.1: Gráfica de una función tipica S h (T )


1. FEM 7

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

Proposición 1.3 S h (T ) es un espacio N -dimensional de H 01 .

Prueba. Procedemos en forma constructiva, asumiendo una base para S h (T )


conformada con funciones ”sombrero” {φi (x )}N
i =1 (Figura 1.2) definidas por,

x − x i −1
 , x ∈ Ii

 h i −1


φi (x ) := x i +1 − x , x ∈ I i +1

 hi



0, en otro caso.

φ(x )

x0 = 0 x i −1 xi x i +1 x =1

Figure 1.2: Funciones bases φi −1 (x ), φi (x ) y φi +1 (x ).

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

tomando x = x j obtenemos c j = 0. Finalmente, sea c j := φ(x j ) y definamos

X
N
φ̃(x ) := c i φi (x ).
i =1

Entonces, φ̃(x j ) = φ(x j ) para j = 1, 2, . . . , N , esto conlleva la equivalencia en el dominio


[0, 1], es decir φ(x ) ≡ φ̃(x ) ∈ span {φi (x )}N
i =1 .
8 1.1. Motivación

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

Ejemplo 1.1 Resuelva el siguiente problema de valores en la frontera

−u ′′ (x ) + π2 u (x ) = 2π2 sin(πx ), 0 < x < 1, u (0) = u (1) = 0,

usando funciones en S h (T ) con h=0.1.


Del BVP se tiene que τ(x ) = 1, q (x ) = π2 , por lo tanto
Z1
€ Š
B (u , v ) = u ′ (x ) v ′ (x ) + π2 u (x ) v (x ) d x .
0

Se descompone a continuación el intervalo [0, 1] en subintervalos de medida h con puntos


finales x i = h · i , i = 1, . . . , n y de hace uso de las funciones bases para obtener las siguientes
entradas de la matriz de coeficientes A .
Z1
aii = p (x )(φi′ (x ))2 + q (x )(φi (x ))2 d x
0

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

a i ,i +1 = p (x )φi′ (x )φi′ +1(x ) + q (x )φi (x )φi +1 (x ) d x


0
Z x i +1 Z x i +1
1 1
=− 2 p (x ) d x + 2 (x i +1 − x )(x − x i )q (x ) d x
h xi
h xi

Z 1

a i ,i −1 = p (x )φi′ (x )φi′ −1(x ) + q (x )φi (x )φi −1 (x ) d x


0

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

y a i j = 0 for |i − j | ≥ 2. De otra parte,


Z1 Z xi Z x i +1
1 1
bi = f (x )φi (x ) d x = (x − x i −1 )f (x ) d x + (x i +1 − x )f (x ) d x .
0
h x
h x
i −1 i

Para calcular las integrales indicadas con x i = h · i se tiene que


Z xi
p (x ) d x = h
x i −1
Z xi
h 3 π2
(x i − x )(x − x i −1 )q (x ) d x =
x i −1
6
Z xi
π2 h 3
(x − x i −1 )2q (x ) d x =
x i −1
3

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

La solución aproximada toma la forma

X
9
Uh (x ) = αi φi (x )
i =1

y como la solución exacta de este BVP es

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

1 0.1 0.3102866742 0.3090169943 0.00127


2 0.2 0.5902003271 0.5877852522 0.00242
3 0.3 0.8123410598 0.8090169943 0.00332
4 0.4 0.9549641896 0.9510565162 0.00391
5 0.5 1.0041087710 1.0000000000 0.00411
6 0.6 0.9549641893 0.9510565162 0.00391
7 0.7 0.8123410598 0.8090169943 0.00332
8 0.8 0.5902003271 0.5877852522 0.00242
9 0.9 0.3102866742 0.3090169943 0.00127

1.1.2 Construcción de espacios de elementos finitos


A continuación abordaremos la construcción del espacio de elementos finitos a traves de
un método más general. La idea central es seleccionar un elemento de referencia, el cual
en nuestro caso uni-dimensional es un intervalo predefinido [ξ0 , ξ1 ], y construir una base
local de funciones (shape functions) en ese intervalo, los calculos sobre los distintos inter-
valos [x i −1 ,x i ], i = 1, . . . , n se realizan vía cambio de variables. La base global de funciones
1. FEM 11

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

Figure 1.3: Numeración de elementos en una malla 1d.

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

Figure 1.4: Matriz de localización A para el caso de polinomios lineales secc.


continuos.

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

Análisis elemento-por-elemento para −u ′′ = f


Retomemos la partición T : 0 = x 0 < x 1 < x 2 < · · · < x n = 1 y el espacio de elementos finitos
S h (T ). Note que sobre cada elemento I i : [x i −1 ,x i ] se consideran solamente dos funciones
lineales dadas por

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.

Las contribuciones de los elementos se determinan calculando


Z xi


B (φk , φl ) = φ ′ φ ′ dx , 1 ≤ k ,l ≤ 2
i k l
x i −1

y
Z xi

(f , φl ) = f φl dx , 1 ≤ k , l ≤ 2.
x i −1

La matriz de rigidez local y la matriz de carga para I i vienen dadas por


 
‚ Œ
 B (φ1, φ1 )|i B (φ1 , φ2 )|i  (f , φ1 )
Ki =   bi = (1.10)
B (φ2, φ1 )|i B (φ2 , φ2 )|i (f , φ2 )
1. FEM 13

Mediante calculo directo sobre las funciones bases de S h (T ) se obtiene

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

Mostremos el ensamble de la matriz para de caso de 3 elementos. Primero se determina


la matriz Kcde la forma
     
 1/h 1 −1/h 1 0 0   0 0 0 0   0 0 0 0 
−1/h 1 1/h 1 0 0 0 1/h 2 −1/h 2 0 0 0 0 0 
Kc=  0
+
 
+
 


 0 0 0   0 −1/h 2 1/h 2 0   0 0 1/h 3 −1/h 3 
0 0 0 0 0 0 0 0 0 0 −1/h 3 1/h 3

Observe que se expande apropiadamente cada una de las matrices elementales K1 , K2 y


K3 , posteriormente se suman las matrices expandidas de manera usual. El resultado es
una matriz 4 × 4 correspondiente a cuatro funciones bases φ b0 , φ
b1 , φ
b2 , φ
b3 asociadas a los
cuatro nodos 0 = x 0 < x 1 < x 2 < x 3 = 1. Similarmente se construye el vector F c
     
b 11   0   0 
     
c= b 12  + b 21  +  0  ,
F  0  b 22  b 31 
     
0 0 b 32

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 , φ

Estas matrices se obtienen removiendo apropiadamente algunas filas o columnas de Kb y


c, respectivamente.
F

Análisis mediante elementos lineales de referencia


En el método de los elementos finitos es posible expresar las funciones base locales, usando
elementos de referencia.
1. FEM 15

Como un ejemplo, tomemos la función seccionalmente continua

X
4
U= bi (x )
aiφ
i =0

dada en la figura 1.6 (izquierda), donde a i es el valor de la función Ui en x i y φi denota


las funciones base "globales“ (Fig. 1.6 (derecha)) con φ bi (x i ) = 1 and φ
bi = 0 fuera de (x i −
h,x i + h). Con los elementos de referencia es posible obtener el valor de cada una de las
integrales que definen las entradas de las matrices locales usando una transformacion que
parte del elemento de referencia al elemento especifico I i . En problemas unidimensionales
se utiliza normalmente [−1, 1] o [0, 1] como elementos de referencia. Si tomamos [0, 1]; la
transformacion del elemento de referencia [0, 1] al elemento especifico [x i −1 ,x i ] esta dada
por el mapeo afín
x (ξ) = x i −1 + (x i − x i −1 )ξ = x i −1 + h i ξ (1.11)

y aplicando la funcion φ definida anteriormente tenemos que

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

nos permite calcular en forma directa


Z 1 Z 1
1 e′ e′ 1
B (φk , φl ) i = φ φ h dξ=
2 k l i
e′ φ
φ e′ d ξ,
k l
1 ≤ k ,l ≤ 2
0
hi hi 0

y
Z 1

(f , φk ) i = f (x (ξ))φk (ξ)h i d ξ, 1 ≤ k ≤ 2.
0

De igual forma se puede reescribir la expresión

U (x ) = Ui −1 (x i −1 )φ1 (x ) + Ui (x i )φ2 (x ).

definida en el intervalo [x i −1 ,x i ] en

U (ξ) = U1 φ̃1 (ξ) + U2 φ̃2 (ξ)

definida en el intervalo [0, 1].


16 1.1. Motivación

matrices elementales para u ′′ + u = f


Consideremos el problema u ′′ + u = f , u (0) = u (1) = 0. La forma bilineal para este prob-
lema esta dada por
Z1
B (u , v ) = u ′ v ′ + u v dx .
0
La matriz elemental correspondiente al elemento I i , utilizando las funciones base locales,
esta dada por
Z1
1 ′ ′ 
B (φk , φl ) i = φ φ + φk φl h i d ξ
2 k l
1 ≤ k , l ≤ 2,
0
hi

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

Calculemos la matriz anterior. Tenemos que


Z1 Z1 Z 1
2 1 1
(1 − ξ) d ξ = ξ2 d ξ = , ξ(1 − ξ) d ξ = ,
0 0
3 0
6
entonces ‚ Œ
hi 2 1
Mi = .
6 1 2
Esta matriz es conocida como la matrix elemental de masa. La matriz elemental es la suma
de las dos matrices ‚ Œ ‚ Œ
1 1 −1 hi 2 1
Bi = +
h i −1 1 6 1 2
Las matrices elementales pueden ser ensambladas, obteniendose de esta manera la matriz
final B del sistema lineal. Tomando nodos equiespaciados, τ ≡ 1,q ≡ 1, f ≡ 1 y el espacio
de elementos finitos discutido anteriormente (C 0 lineales por secciones), se obtiene:
‚ Œ ‚ Œ ‚ Œ
1 1 −1 h 2 1 h 1
Ki = , Mi = , Fi = .
h −1 1 6 1 2 2 1
Debido a que nuestra solución por elementos finitos debe ser una función continua -seccionalmente
lineal- se necesita que los valores de la función Ui en x = x i concuerden para ambos subin-
tervalos (x i − h,x i ) y (x i ,x i + h). Esto conlleva a que la matriz de rígidez K , la matriz de
masa M y el vector f (N = 5, τ ≡ 1,q ≡ 1, f = f 0 ) tomen la forma
1. FEM 17

   
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

1.1.3 Problema de minimización


Hasta ahora hemos planteado que a partir de la formulación clásica de una EDO es posi-
ble establecer una formulación débil del problema. Además, hemos visto que en la for-
mulación débil se debe reemplazar los espacios de funciones continuas en los que esta
definido la formulación clásica tales como C 2 [0, 1] por algún espacio de Sobolev apropi-
ado para esta formulación. Ahora se quiere mostrar que la formulación débil es, en si
misma, equivalente a un problema de minimización que involucra el siguiente funcional
cuadrático
1
I (v ) = a (v, v ) − (f , v ).
2
Es decir, dado un espacio vectorial V con un producto interno definido y dado una forma
bilineal a (·, ·) : V ×V → R simétrica y definida positiva se tiene que los siguientes problemas
son equivalentes:
• Problema débil: Encontrar u ∈ V tal que a (u , v ) = (f , v ) para todo v ∈ V

• Problema de minimización: Encontrar u ∈ V tal que I (u ) ≤ I (v ) para todo v ∈ V


Para mostrar la equivalencia, supongamos que u ∈ V resuelve el problema débil. Entonces
para cualquier w ∈ V se tiene que
1
I (u + w ) = a (u + w, u + w ) − (f , u + w )
2
1
= (a (u , u ) + a (u , w ) + a (w, u ) + a (w, w )) − (f , u ) − (f , w )
2
1
= (a (u , u ) + a (w, w )) − (f , u ) − (f , w ) usando a (w, u ) = a (u , w ) = (f , w )
2
1
= I (u ) + a (w, w )
2
Puesto que a (·, ·) es definida positiva entonces a (w, w ) > 0 para todo w 6= 0. Esto muestra
que u ∈ V es el único que minimiza el funcional I (v ) en el espacio V .
Ahora supongamos que u ∈ V minimiza el funcional cuadrático en el espacio V y sea
v ∈ V con v 6= 0. Consideremos
1
g (t ) = I (u + t v ) = a (u + t v, u + t v ) − (f , u + t v )
2
1 1
= a (v, v )t 2 + (a (u , v ) − (f , v )) t + a (u , u ) − (f , u ).
2 2
Tenemos que g es un funcional cuadrático que depende de la variable t y puesto que u
minimiza el funcional I , g debe de tener un mínimo cuando t = 0, es decir g ′ (0) = 0. Por lo
tanto
g ′ (0) = a (u , v ) − (f , v ) = 0.
Cuando v ∈ V es arbitrario se sigue que

a (u , v ) = (f , v ) para todo v ∈ V.
1. FEM 19

1.1.4 Una introducción al análisis de estimadores de error


Se puede reducir el problema de estimar el error ku − U k1 en el método a un pregunta de
la teoría de aproximación: ¿Cuán bien pueden ser aproximadas las funciones suaves por
funciones en S? El siguiente teorema nos da luces para la respuesta,

Teorema 1.2 (Céa’s Lemma) Bajo las condiciones del teorema (1.1), se tiene

ku − U k1 ≤ C inf ku − χk1
χ∈S

Prueba. Sea una función arbitraria χ ∈ S. De la coercividad de B se tiene que

C 2kU − χk21 ≤ B (U − χ,U − χ).

Ahora, como U − χ ∈ S se deriva de la condición de ortogonalidad que

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

El resultado se sigue tomando el infimo sobre χ ∈ S y fijando C := 1 + CC 1 .


2
Naturalmente, el error dependera de la elección del conjunto S y de sus propiedades de
aproximación. Por ejemplo, tomando una “elección natural” de S dada por

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.

Ejemplo 1.2 Consideremos el B.V.P.



−u ′′ = f (x ), 0<x <1

u (0) = u ′ (1) = 0

En su forma variacional, el problema se reduce a encontrar u ∈ V := H 01 (0, 1) que satisface

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

Analizando el número de condición de la matriz B usando la norma del máximo, esto es

κ(B ) ≡ cond (B ) := kB k∞ · kB −1 k∞

se obtienen los siguientes valores

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

Table 1.1: κ(B) para la matriz de coeficientes del ejemplo 1.2

Es decir, con sólo 12 grados de libertad B tiende a ser singular!

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.

Usando un argumento de dualidad ( “Aubin-Nitsche’s trick”) se puede obtener un L 2 esti-


mador que posee un orden mejor, esto es

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

1.2 FEM en 2D - Ecuación de Poisson -


En lo consecutivo Ω denota un con- ∂Ω
junto abierto en R2 con frontera ∂ Ω n
(suficientemente) suave y n el vec-
tor normal unitario exterior a ∂ Ω. Si Ω
se define el operador de Laplace ∆
como
 2 
∂ ∂2
∆ := − + ,
∂ x2 ∂ y 2
la ecuación de Poisson para una función f dada, toma la forma

−∆u = f en Ω ⊂ R2 .

Adicionalmente se considerán condiciones de frontera, que suelen ser de dos tipos:

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,

1.2.1 Ecuación de Poisson con condiciones homogeneas de


Dirichlet
Preliminares

En forma análoga a 1d, es necesario para obtener especificar un espacio adecuado donde
la solución deseada exista, para ello definamos

H 01 (Ω) := {v ∈ H 1 (Ω) : v |ΓD = 0}

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

La problema de Poisson con condiciones homogéneas de Dirichlet se reduce en el sen-


tido clásico a encontrar u ∈ C 2 (Ω) tal que
−∆u = f en Ω
(1.16)
u =0 en ∂ Ω.
para una función dada f .
Siguiendo el esquema presentado en el caso unidimensional se obtendra a continuación
una forma débil para (1.16). Para u ∈ H 2 (Ω), multiplicamos la ecuación de Poisson por
una función de prueba v ∈ H 01 (Ω), luego integramos sobre el dominio Ω y posteriormente
aplicamos (1.15) para obtener
Z Z Z Z
∂u
(−∆u )v d x = ∇u · ∇v d x − v ds = f v dx
Ω Ω ∂Ω
∂n Ω

y como v |∂ Ω = 0, se puede concluir que


Z Z
∇u · ∇v d x = f v dx.
Ω Ω

Esta última ecuación permite escribir el problema como: Encontrar u ∈ H 01 (Ω) tal que

B (u , v ) = F (v ) para toda v ∈ H 01 (Ω)

donde f ∈ L 2 (Ω) y
Z Z
B (u , v ) := ∇u · ∇v d x , y F (v ) := f v dx
Ω Ω

definen formas bilineales y lineales respectivamente.

1.2.2 Ecuación de Poisson con condiciones de frontera tipo


Neumann y tipo mixtas
Una condición de frontera tipo Neumann es de la forma
∂u
=g sobre ∂ Ω
∂n
1. FEM 23

donde g es una función dada. La ecuación de Poisson se presenta frecuentemente con


una condición de tipo Dirichlet en una parte de la frontera junto con una condición de
tipo Neumann (normalmente homogénea) en la otra parte de la frontera. Por ejemplo, si
∂ Ω = ∂ Ω1 ∩ ∂ Ω2 es una partición de ∂ Ω con ∂ Ω1 6= ;, entonces un problema típico es de la
forma

−∆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

Ahora para que la integral en el contorno ∂ Ω1 se anule, necesitamos v = 0 sobre ∂ Ω1 , así el


espacio V en donde buscamos la solución u es de la forma

V = {v ∈ H 1 (Ω) : v = 0 sobre ∂ Ω1 }

y la formulación débil es: Encontrar u ∈ V tal que


Z Z
∇u · ∇v d x = f v dx ∀v ∈ V.
Ω Ω

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 }

entonces para cualquier v ∈ V


Z Z Z
∂u
− u ∆u d x = ∇u · ∇v d x − v ds
Ω Ω ∂ Ω2
∂n
24 1.3. Positividad de a (·, ·) en el caso de la ecuación de Poisson

Z Z
= ∇u · ∇v d x − v (g − β u ) d s .
Ω ∂ Ω2

Por lo tanto la formulación débil es: Encontrar u ∈ V tal que


Z Z Z Z
∇u · ∇v d x + βuv ds = f v dx + gv ds ∀v ∈ V.
Ω ∂ Ω2 Ω ∂ Ω2

Esta formulación es de la forma: a (u , v ) = F (v ) donde


Z Z
a (u , v ) = ∇u · ∇v d x + βuv ds
Ω ∂ Ω2
Z Z
F (v ) = f v dx + gv ds
Ω ∂ Ω2

1.3 Positividad de a (·, ·) en el caso de la ecuación de


Poisson
En todas las diferentes formulaciones débiles de la ecuación de Poisson la forma bilineal
a (·, ·) es simétrica. Ahora, mostraremos que esta es definida positiva. Tenemos que
Z

 (∇v )2 d x cond. fron. no mixtas


 Ω
a (v, v ) = (1.17)

 Z Z


 (∇v )2 d x + βuv ds cond. fron. mixtas
Ω ∂ Ω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

no tiene solución única. Si u es solución entonces u + c también lo es para cualquier con-


stante c .
1. FEM 25

1.4 Condiciones de frontera no homogéneas de tipo


Dirichlet
Consideremos el siguiente problema con condiciones de frontera no homogéneas:
∂u
−∇u = f en Ω, u = g1 sobre ∂ Ω1 , +βu = g2 sobre ∂ Ω2 .
∂n
Aquí u = g 1 sobre ∂ Ω1 significa que u (x , y ) = g 1 (x , y ) para todo (x , y ) ∈ ∂ Ω1 . Usando como
V el espacio definido anteriormente, entonces u satisface
Z Z Z Z
a (u , v ) = ∇u · ∇v d x + βuv ds = f v dx + g v d s = F (v ) ∀v ∈ V.
Ω ∂ Ω2 Ω ∂ Ω2

Si para cualquier función u 1 definida en Ω̄ tal que u |∂ Ω1 = g 1 entonces la función u que


buscamos es de la forma u = u 1 + ue donde ue ∈ V . Por lo tanto,

a (u 1 + ue , v ) = F (v ) implica que a (ue , v ) = F (v ) − a (u 1 , v ).

Si, ue resuelve un problema con condiciones homogéneas en ∂ Ω1 .


Es natural preguntarse si es posible encontrar explícitamente una función u 1 definida
en Ω̄ tal que su restricción a ∂ Ω1 sea g 1 . La respuesta es no para un problema continuo, en
general no podemos esperar una expresión explicita para u 1 a menos de que ∂ Ω1 y g 1 sean
muy sencillas. Sin embargo, esto no es una dificultad para aproximar u mediante U en un
espacio de dimensión finita V̄h . Primero, se determine una función U1 correspondiente a
u 1 , la cual interpola g 1 usando las funciones en V̄h en la malla de puntos de ∂ Ω1 , haciendo
U = U1 + U e la parte desconocida Ue de U satisface

a (Ue , v ) = F (v ) − a (U1 , v )

para todo v ∈ Vh los cuales se anulan en ∂ Ω1 . El espacio generador de todas la funciones de


V̄h que se anulan en ∂ Ω1 es el espacio Vh ⊂ V .

FEM en 2D- Funciones base lineales definidas a


trozos
Los espacios de aproximación Vh de los elementos finitos pueden ser definidos con re-
specto a la malla que resulta de discretizacion del dominio Ω del problema. Antes de deter-
minar los detalles de las funciones de Vh , se debe determinar los detalles necesarios para
generar y describir la malla del dominio Ω.
Así, dado cualquier polígono Ω con frontera ∂ Ω es posible subdividir Ω exactamente en
triángulos Ω1 , · · · , Ωn e de manera que
[
Ω = Ωi Ωi ∩ Ω j = ;, i 6= j .
26 1.5. Ecuaciones y funciones bases

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

Figure 1.7: Malla uniforme de triángulos para el dominio [0, 1]2 .

En la Figura 1.7 se muestra un ejemplo de una malla uniforme correspondiente a un rec-


tángulo, la cual fue generada numerando los nodos y elementos tal como se muestra en la
figura. Esto muestra, por ejemplo, que los vértices del elemento 14 son los nodos 8, 9 y 14, y
que el nodo 7 es un vértice de los elementos 1, 2, 3, 12, 11 y 10. Usando la técnica elemento-
por-elemento, las entradas de la matriz relacionadas al nodo 7 son contribuciones de cada
uno de estos elementos.

1.5 Ecuaciones y funciones bases


Con funciones a trozos lineales definidas sobre una malla de triángulos, se define com-
x i ) en los nodos xb i ,
pletamente una función a trozos lineal U (x ) mediante los valores U (b
1. FEM 27

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

Figure 1.8: Funciones base

Con estas funciones podemos definir el espacio V h = span {φ b1 , . . . , φ


bM }. Este conjunto, en
el cual cada función base esta asociada con cada nodo de la malla, es el mismo conjunto
que se obtiene considerando todos los elementos inclusive elementos unidimensionales
descritos anteriormente, excepto para casos particulares que se discutiran más adelante.
Tengase en cuenta que cada función base está asociada a un nodo que tiene un parámetro
desconocido, así entonces, la función de aproximación U (x ) será la función que posee el
valor sobre cada punto nodal.
Para la formulacion débil de un problema, necesitamos el subespacio Vh ⊂ V h com-
puesto de funciones las cuales se anulan sobre ∂ Ω (Se podrian considerar tambien el caso
en que sólo una parte de la frontera ∂ Ω cumple esta condición) y satisfacen una condi-
ción de frontera esencial. Por conveniencia, se enumera los nodos en los cuales U (x ) es
desconocida en la forma xb 1 , . . . , xb M 1 (estos puntos no pertenecen a la frontera ∂ Ω) y como
xb M 1 +1 , . . . , xb M a los puntos sobre ∂ Ω, entonces
b1 , . . . , φ
Vh = span {φ bM }.
1
28 1.5. Ecuaciones y funciones bases

Asumiendo que se tienen condiciones de frontera de tipo Dirichlet entonces la aproxi-


mación de Galerkin es de la forma

X
M1
U (x ) = bj (x )
cj φ
i =1

donde la condición de Interpolación de Lagrange da c j = U (b


x j ) y U satisface

bi ) = (f , φ
B (U , φ bi ) i = 1, . . . , M 1 ,

de lo cual se obtiene un sistema matricial de la forma

K c = b, ci = c i , bi , φ
Ki j = B ( φ bj ) y bi ).
bi = (f , φ

La diferencia de calculos entre problemas bidimensionales y problemas unidimensionales


bi , φ
radica en el calculo de B (φ bj ) y (f , φ
bi ). Generalmente el calculo de estos términos in-
volucra varios elementos, a diferencia del caso unidimensional en el que se involucran so-
lamente 1 o 2 elementos vecinos. Los cálculos siempre son organizados usando la tecnica
elemento-por-elemento. Para el problema de Poisson se obtiene
Z Z
a (u , v ) = ∇u · ∇v d x , (f , v ) = f v dx
Ω Ω

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

Al usar la técnica elemento-por-elemento, cualquier calculo que involucra el suddominio


Ωr se suma de acuerdo a (1.19). Los cálculos que se consideran sobre el elemento Ωr in-
volucran todas las funciones bases que no se anulan en Ωr y para describir estas funciones
bases es ventajoso hacer uso del elemento de referencia T . Con una transformación biyec-
tiva x : T → Ωr se asocia cada punto (s , t ) ∈ T a un único punto x (s , t ) ∈ Ωr y a cada función
φ = φi (s , t ) definida sobre T se relaciona una función φi (x ) definida sobre Ωr tal que

φi (x (s , t )) = φi (s , t )

Ahora consideraremos detalles de algunos elementos usados en la practica:


1. FEM 29

1.6 Triángulos - elementos lineales


Sea Ωr un triángulo con nodos x 1 = xb i r1 , x 2 = xb i r2 , x 3 = xb i r3 y T un elemento de referen-
cia con vértices (0, 0), (1, 0) y (0, 1) mostrado en la figura 1.10. Las funciones lineales que
satisfacen la condición de interpolación de Lagrange en el elemento de referencia T están
dadas por
φ1 (ξ, η) = 1 − ξ − η, φ2 (ξ, η) = ξ, φ3 (ξ, η) = η
Usando las anteriores funciones se puede definir la transformación

η
ξ
(a) φ1 (ξ, η) = 1 − ξ − η

z z

ξ
η
ξ
η
(b) φ2 (ξ, η) = ξ (c) φ3 (ξ, η) = η

Figure 1.9: Funciones bases elementales

ψ: 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

Figure 1.10: Transformación de funciones base

Para describir la transformación y la aproximación consideremos Ui = U (x i ).


Ya que

ψ(ξ, η) = x 1 φ1 (ξ, η) + x 2 φ2 (ξ, η) + x 3 φ3 (ξ, η)


= x 1 + (x 2 − x 1 )ξ + (x 3 − x 1 )η

entonces

U (ψ(ξ, η)) = U1 φ1 (ξ, η) + U2 φ2 (ξ, η) + U3 φ3 (ξ, η)


= U1 + (U2 − U1 )ξ + (U3 − U1 )η

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

definidas globalmente mediante

bi (ψ(ξ, η)) = φ̃ j (ψ(ξ, η)) = φ j (ξ, η),


φ j = 1, 2, 3, (1.21)
rj

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

que tiene a xb i como uno de sus vértices la función φ bi no se anula.


rj 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

Puesto que cada función φ ej es lineal en las variables x y y , entonces el gradiente ∇φ


ei es un
vector constante y por lo tanto el integrando es constante. Entonces,
!
ei ∂ φ
∂φ ej ∂ φ ej
ei ∂ φ
ei , φ
B (φ ej )r = ( área de Ωr ) + .
∂x ∂x ∂y ∂y

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

(B T B )i j = ( fila i -ésima de B T ) (columna j -ésima de B )


ei · ∇φ
= producto la columna i y j de B = ∇φ ej

Por lo tanto, es posible describir la matriz Kr como

Kr = ( área de Ωr ) B T B

Ahora utilicemos las coordenadas x 1 = (x 1 , y 1 )T , x 2 = (x 2 , y 2 )T y x 3 = (x 3 , y 3 )T de los vértices


del triángulo para establecer algunas relaciones.
De la transformación ψ = ψ(ξ, η) podemos obtener el área de Ωr y podemos relacionar
las derivadas con respecto a las variables x y y en términos de las variables ξ y η, para ello
‚ Œ ‚ Œ
x ξ
= ψ(ξ, η) := x 1 + x 21 ξ + x 31 η = x 1 + Je
y η

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
 
∂ξ ∂η

es la matriz Jacobiana constante. Tomando J := det( Je), la magnitud |J | da la relación del


área del paralelogramo determinado por los vectores x 31 y x 21 en Ωr (ver Fig. 1.11) y debido
a que J es constante se sigue que
|J |
área de Ωr =
2
32 1.6. Triángulos - elementos lineales

(x 3 , y 3 )

x 31 Ωr

x 21 (x 2 , y 2 )
(x 1 , y 1 )

Figure 1.11: Elemento Ωr

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

Entonces matriz Kr toma la forma


 
−1 −1 ‚ Œ
|J | T |J | 
1
 −1 1 0
Kr = B B= 0 e−1 e−T
J J .
2 2  −1 0 1
0 1
‚ Œ
x 21 x 31
De otra parte, como Je = obtenemos que
y 21 y 31
‚ Œ
1 y 31 −x 31
Je−1 = donde J = x 21 y 31 − x 31 y 21 .
J −y 21 x 21

Escribiendo la anterior relación en Kr se obtiene


 
−1 −1 ‚ Œ
1   y 31 −x 31
Kr = AA T donde A = 1 0 −y 21 x 21 .
2|J |
0 1

En consecuencia, la matriz elemental Kr se calcula a partir de las coordenadas de los tres


vértices de Ωr .
Note que la matriz Kr depende solamente de las diferencias x 21 = x 2 − x 1 , y 21 = y 2 − y 1 ,
x 31 = x 3 − x 1 y y 31 = y 3 − y 1 ; por lo tanto, si trasladamos las coordenadas entonces la matriz
no cambia. También, si hacemos un escalamiento uniforme por el factor α > 0 entonces la
matrix del Jacobiano Jeα de la nueva transformación es Je = α Je con J α = det( Jeα ) = α2 det( Je) y

|J |α Jeα−1 Jeα−T = |J | Je−1 Je−T .

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

JeQ−1 = Je−1Q −1 = Je−1Q T

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

1.6.1 Kr para triángulos rectángulos


Tomando una malla como la mostrada en la Fig. 1.7, los triángulos Ωr toman sólo dos
formas mostradas en la Fig. 1.12
x2 x3
x1

Tipo II
Tipo I

x3 x1
x2
Figure 1.12: Elementos “típicos“ de la triangulación de la Fig. 1.7

Para el triángulo tipo I, se tiene que


     
−1 −1 ‚ Œ −1 −1 ‚ Œ h −h
  y 31 −x 31   0 h  
AI = 
 1 0 
 −y 21 x 21 = 1
 0 
 −h 0 =  0
 h .

0 1 0 1 −h 0

y para los triángulos tipo II se tiene que


     
−1 −1 ‚ Œ −1 −1 ‚ Œ −h h
  y 31 −x 31   0 −h  
AI I =
 1 0 
 −y 21 x 21 = 1
 0 
 h 0 =  0 −h  = −A I .
 
0 1 0 1 h 0

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

El ensamblaje se mostrará con los dos ejemplos siguientes:

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

Figure 1.13: Malla uniforme de triángulos para el dominio [0, 1]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

En este caso se tienen 9 grados de libertad. Ilustraremos el procedimiento de ensamble de


la matriz abordando el caso para el primer DOF. Como no existen funciones bases globales
que tenga como nodos a 3, 6, 9, 8, 7 y al nodo 1 en forma simultanea, se tiene que

K1j = 0, en el caso que j = 3, 6, 9, 8, 7


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

Figure 1.14: Funciones bases elementales

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

K12 K14 K15


Elemento 3 12 10 11 11 12
Nodo local 1∧3 1∧3 1∧2 1∧2 2∧3 2∧3
Contribución − 21 − 21 − 12 − 21 0 0

Table 1.2: Contribuciones para la entrada K12 , K14 y K15

En forma análoga se obtienen el resto de entradas para la matriz de rígidez:


 
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
 
 
K =
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
Para el cálculo del vector elemental br de tamaño 3 × 1, el cual involucra las integrales de
la función f en el dominio Ωr normalmente no puede ser calculado exactamente, al menos
de que f sea una función muy simple. Para calcular br , primero se debe transformar la
region de integración Ωr al elemento de referencia T y usar entonces reglas de cuadratura.
Veamos
 
Z
φ1 (ξ, η)
br = f (x (ξ, η))  
φ2 (ξ, η) |J | d ξ d η
T φ3 (ξ, η)
 
Z η=1 Z ξ=1−η 1 − ξ − η
 
= |J | f (x (ξ, η)) 
 ξ  d ξd η

η=0 ξ=0 η
 
Xnq
 1 − ξ k − η k 
≈ |J | w k f (x (ξk , ηk )) 
 ξ k


k =1 ηk

donde (ξk , ηk ) ∈ T , k = 1, . . . , nq son los puntos de cuadratura y w 1 , . . . , w k son los pesos.


38 1.7. Triángulo - elementos cuadráticos

1.7 Triángulo - elementos cuadráticos


Consideremos como elemento de referencia en el plano ξ − η al triángulo rectángulo con
vértices en z 1 = (0, 0), z 2 = (1, 0) y z 3 = (0, 1) (Ver Fig. 1.15). La base Lagrangiana {ψi }6i =1
formada con funciones cuadráticas debe generar el mismo conjunto que el de la base
canónica {1, ξ, η, ξη, ξ2 , η2 } y debe satisfacer

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

Figure 1.15: Triángulo de referencia

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:

ϕ1 (ξ, η) = (1 − ξ − η)(1 − 2ξ − 2η) ϕ2 (ξ, η) = ξ(2ξ − 1)

ϕ3 (ξ, η) = η(2η − 1) ϕ4 (ξ, η) = 4η(1 − ξ − η)

ϕ5 (ξ, η) = 4ξ(1 − ξ − η) ϕ6 (ξ, η) = 4ξη

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)

ϕ1 (ξ, η) = (1 − ξ − η)(1 − 2ξ − 2η)

z 4 = (0, 12 ) z 6 = ( 21 , 12 )
1−

1−

ξ

η

=
=

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)

Figure 1.16: Funciones bases ϕ1 − ϕ4


40 1.8. Implementación Fem 1D

1.8 Implementación Fem 1D

1 %La funcion calcula la solucion del problema


2 %a2(x)*y’’(x)+a0(x)*y(x)=ff(x)
3 %Utilizando el metodo de Galerkin
4

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

69 % Falta el ensamble de la matriz del lado derecho,


70 % TAREA
71 % por favor realizarla
72 % Comente Usted
73 b_glob=sparse(b’);
74 % Comente Usted
75 A=k_glob+m_glob;
76 A=sparse(A(2:n,2:n)); % reduce la matriz
77 acon=condest(A); % calcula el numero de condicion
78 X=A\b_glob(2:n); % solucion del sistema
79

80 %% Plot solucion de Galerkin y la solucion exacta %%


42 1.8. Implementación Fem 1D

81

82 % Solucion exacta via bvp4c


83 ss=linspace(0,1,25);
84 sol=bvpinit(ss,[0 1]);
85 bvp02=@(t,y) [y(2); q(t)*y(1)-f(t)];
86 sol=bvp4c(bvp02,@bc01,sol)
87 %
88 plot(T,[0;X;0],’Color’,rand(1,3), ...
89 ’MarkerFaceColor’,rand(1,3),’Marker’,’*’)
90 hold on
91 plot(ss,sol.y(1,:))
92 hold off
93 end
94

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

con ello la norma en H 01 toma la forma


15 uenorm=sqrt(uenorm_R+uenorm_M);

1. ¿Cómo programaría la norma de la energía?


Preguntas:
2. ¿Cómo programaría el error en la norma de la energía?

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

También podría gustarte