Sei sulla pagina 1di 29

Clase No.

28:

Formulación de Galerkin
El método de los elementos finitos
MAT–251 Dr. Alonso Ramírez Manzanares
Depto. de Matemáticas
Univ. de Guanajuato
e-mail: alram@ cimat.mx
web: http://www.cimat.mx/salram/met_num/

Dr. Joaquín Peña Acevedo


CIMAT A.C.
e-mail: joaquin@ cimat.mx

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 1 / 29


Formulación débil (I)
Sea u : [0, 1] → R. Consideremos el problema de valores en la frontera

−(αu0 )0 + βu0 + γu = f
u(0) = 0
u(1) = 0

donde α, β, γ : [0, 1] → R, con α(x) ≥ α0 > 0.

Multiplicamos la ecuación anterior por una función v ∈ C1 [0, 1] arbitraria,


llamada función de prueba, que cumple con v(0) = v(1) = 0. Integrando
Z1 Z1 Z1 Z1
0 0 0
− (αu ) v dx + βu v dx + γuv dx = fv dx
0 0 0 0
Integrando por partes la primera integral:
Z1 Z1 Z1
0 0 0 0 0
− (αu ) v dx = −[αu v]10 + αu v dx = αu0 v0 dx
0 0 0

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 2 / 29


Formulación débil (II)

Sea
V = {v ∈ L2 (0, 1) : v0 ∈ L2 (0, 1), v(0) = v(1) = 0}
Entonces el problema es encontrar u ∈ V tal que
Z1 Z1 Z1 Z1
0 0 0
αu v dx + βu v dx + γuv dx = fv dx
0 0 0 0

para todo v ∈ V. Este problema es llamado la formulación débil.

• Hay que notar la diferencia entre el problema original (formulación


fuerte) y este último.
• Note la complejidad del problema.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 3 / 29


Formulación de Galerkin (I)

Fijamos un conjunto de funciones {ϕj (x)}N


j=1 , con ϕj ∈ V. Sea
 
 N
X 
Vh = vh : vh = vj ϕj
 
j=1

Cambiamos el problema por el siguiente: encontrar uh ∈ Vh tal que


Z1 Z1 Z1 Z1
αuh0 vh0 dx + βuh0 vh dx + γuh vh dx = fvh dx
0 0 0 0

para todo vh ∈ Vh .
Sustituimos y también tomamos vh = ϕi :
N Z1 Z1 Z1 ! Z1
X
uj αϕj0 ϕi0 dx + βϕj0 ϕi dx + γϕj ϕi dx = f ϕi dx
j=1 0 0 0 0

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 4 / 29


Método de los elementos finitos (I)

El método de los elementos finitos (MEF) es una técnica especial para


construir el subespacio Vh usando polinomios que tienen soporte compacto.
Hacemos una partición

0 = x0 < x1 < ... < xn = 1.

La elección más sencilla de las funciones ϕi es definiéndolas como funciones


lineales a pedazos:
 x−x
i−1
xi −xi−1
x ∈ [xi−1 , xi ]


xi+1 −x

ϕi (x) =
 xi+1 −xi
x ∈ [xi , xi+1 ]


0 si no.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 5 / 29


Método de los elementos finitos (II)

0.8
0.6
c(−0.1, 1)

0.4
0.2
0.0

x0 x1 x2 xi−2 xi−1 xi xi+1 xi+2

−1.0 −0.5 0.0 0.5 1.0


Lo que resta es
c(−1 − h, 1 + h)
• sustituir estas funciones en la ecuación,
• calcular el valor de las integrales,
• construir el sistema lineal de ecuaciones para determinar los
coeficientes uj .
• obtener la solución del problema en Vh .

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 6 / 29


Ejemplo (I)

y00 = y0 − y + ex − 3 sin x
y(1) = α = 1.097374911
y(4) = β = 56.559080896

La solución del problema es y(x) = ex − 3 cos x.

Hay que notar que el valor de la solución no es cero en los extremos. Para
poder aplicar lo anterior, definimos

β−α
ȳ(x) = α + (x − 1)
3
Entonces podemos plantear el problema de calcular u tal que y = u + ȳ sea
solución del problema anterior. Entonces

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 7 / 29


Ejemplo (II)

β−α
u00 = u0 + − u − ȳ + ex − 3 sin x
3
u(1) = 0
u(3) = 0

β−α
−u00 + u0 − u = ȳ −
− ex + 3 sin x = f (x)
3
Aplicando el procedimiento descrito anteriormente, llegamos a

N Z3 N Z3 N Z3 Z3
X X X
uj ϕi0 ϕj0 dx + uj ϕi0 ϕj dx − ui ϕi ϕj dx = f ϕj dx
j=1 1 j=1 1 j=1 1 1

Hacemos una discretización uniforme, de modo que xi − xi−1 = h.


Debido al soporte compacto de las funciones, tenemos que calcular para
cada i

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 8 / 29


Ejemplo (III)

Z xi Z xi Z xi +h ! Z xi +h
ui−1 ϕi0 ϕi−1
0
dx + ui (ϕi0 )2 dx + (ϕi0 )2 dx + ui+1 ϕi0 ϕi+1
0
dx
xi −h xi −h xi xi

Z xi Z xi Z xi +h ! Z xi +h
ui−1 ϕi0 ϕi−1 dx + ui ϕi0 ϕi dx + ϕi0 ϕi dx + ui+1 ϕi0 ϕi+1 dx
xi −h xi −h xi xi

Z xi Z xi Z xi +h ! Z xi +h
2 2
−ui−1 ϕi ϕi−1 dx − ui (ϕi ) dx + (ϕi ) dx − ui+1 ϕi ϕi+1 dx
xi −h xi −h xi xi

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 9 / 29


Ejemplo (IV)

1 2 1
− ui−1 + ui − ui+1
h h h

1 1
− ui−1 + ui+1
2 2

h 2h h
− ui−1 − ui − ui+1
6 3 6
Entonces, para cada i se tiene una ecuación de la forma
‚ Œ ‚ Œ ‚ Œ Z3
1 1 h 2 2h 1 1 h
− − − ui−1 + − ui + − + − ui+1 = f ϕj dx
h 2 6 h 3 h 2 6 1

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 10 / 29


Ejemplo (V)

Para el caso de diferencias finitas, las ecuaciones que obtuvimos para este
problema son
‚ Œ ‚ Œ
h h
(2 − h2 )y1 − 1 − y2 = −h2 [ex1 − 3 sin x1 ] + 1 + α
2 2
‚ Œ ‚ Œ
h h
− 1+ yi−1 + (2 − h2 )yi − 1 − yi+1 = −h2 [exi − 3 sin xi ]
2 2
‚ Œ ‚ Œ
h h
− 1+ yn−2 + (2 − h2 )yn−1 = 1− β − h2 [exn−1 − 3 sin xn−1 ]
2 2

y podemos ver que son diferentes los sistemas de ecuaciones en cada caso.
Resolvemos el problema para N = 50 y comparamos los resultados
obtenidos con MEF y diferencias finitas.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 11 / 29


Ejemplo (VI)
Error y(xi ) − yi DF Error y(xi ) − yi MEF
0.008

0e+00
0.006
0.004
vd

vd

−2e−04
0.002

−4e−04
0.000

1.0 1.5 2.0 2.5 3.0 3.5 4.0 1.0 1.5 2.0 2.5 3.0 3.5 4.0

vx vx
Reportamos el error max |y(xi ) − yi |
n Diferencias finitas MEF
50 0.03818 0.000393
100 0.01599 0.000098

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 12 / 29


Extensión del método (I)

Se pueden usar polinomios de orden superior. Por ejemplo, de segundo


grado:

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 13 / 29


Extensión del método (II)

También se puede extender el método a más dimensiones.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 14 / 29


Extensión del método (III)

Por ejemplo, las funciones de interpolación para el triángulo de vértices


(0, 0), (1, 0), (0, 1) son de la forma

N1 (ξ, η) = 1−ξ−η
N2 (ξ, η) = ξ
N3 (ξ, η) = η

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 15 / 29


Extensión del método (IV)

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 16 / 29


Ejemplo: La ecuación de Poisson (I)

Vamos a resolver un caso particular de la ecuación de Poisson.


Consideremos una función p = p(x, y) que está definida en cuadrado unitario
Ω = [0, 1] × [0, 1].
Queremos resolver

−∇ · ∇p = f (x) x = (x, y) ∈ Ω (1a)


∇p · ν = 0 x = 0, y ∈ (0, 1), (1b)
∇p · ν = 0 x = 1, y ∈ (0, 1), (1c)
p = cos(πx) x ∈ (0, 1), y = 0, (1d)
p = − cos(πx) x ∈ (0, 1), y = 1, (1e)

donde f (x) = 2π 2 cos(πx1 ) cos(πx2 ).

La solución exacta es p = cos(πx1 ) cos(πx2 ).

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 17 / 29


Solución mediante el MEF (I)

Para el dominio Ω = [0, 1] × [0, 1], hacemos una discretización en triángulos


como se muestra en la siguiente figura.
1.0

1 ● ● ● ● ● ● ● ● ● ●

● ● ● ● ● ● ● ● ● ●
0.8

● ● ● ● ● ● ● ● ● ●

● ● ● ● ● ● ● ● ● ●
c(−0.15, 1.1)

0.6

● ● ● ● ● ● ● ● ● ●

● ● ● ● ● ● ● ● ● ●
0.4

● ● ● ● ● ● ● ● ● ●
0.2

● ● ● ● ● ● ● ● ● ●

● ● ● ● ● ● ● ● ● ●
0.0

0 ● ● ● ● ● ● ● ● ● ●

0 1
−0.2

−0.2 0.0 0.2 0.4 0.6 0.8 1.0


Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 18 / 29
Solución mediante el MEF (II)

Sean

ΓD = {(x1 , 0) : x1 ∈ (0, 1)} ∪ {(x1 , 1) : x1 ∈ (0, 1)},


ΓN = {(0, x2 ) : x2 ∈ (0, 1)} ∪ {(1, x2 ) : x2 ∈ (0, 1)}

Sobre ΓD sabemos que p = pD (x), donde pD está dada por (1d) y (1e).
Supongamos que de alguna forma extendemos pD a todo Ω y definimos la
función p0 = p − pD . Entonces p0 es cero en Γ̄ = Γ̄D ∪ Γ̄N , y

−∇ · ∇(p0 + pD ) = f
Multiplicando por una función de prueba v a la ecuación anterior e
integrando sobre Ω se obtiene
Z Z
− ∇ · ∇(p0 + pD )v dx = fv dx.
Ω Ω
Puesto que ∇ · [v∇(p0 + pD )] = ∇v · ∇(p0 + pD ) + v∇ · ∇(p0 + pD ),

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 19 / 29


Solución mediante el MEF (III)

Z Z
fv dx = − {∇ · [v∇(p0 + pD )] − ∇v · ∇(p0 + pD )} dx
Ω Ω
Z Z
= − v∇(p0 + pD ) · ν dl + ∇v · ∇(p0 + pD ) dx,
Γ Ω

por el teorema de la divergencia. Además


Z Z Z
− v∇(p0 + pD ) · ν dl = − v∇p · ν dl − v∇p · ν dl = 0,
Γ ΓD ΓN

por las condiciones de frontera (1b)-(1c). Por tanto


Z Z Z
∇v · ∇p0 dx = fv dx − ∇v · ∇pD dx (2)
Ω Ω Ω
La función pD se puede definir de muchas formas. Una opción es

pD (x1 , x2 ) = (1 − x2 ) cos πx1 − x2 cos πx1 .

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 20 / 29


Solución mediante el MEF (IV)

Entonces el miembro derecho de (2) es conocido. para cada v. Definimos


una discretización del dominio en elementos triangulares y asociamos a
cada nodo xk la función de interpolación lineal φk (x), entonces

NM
X
p0 (x) ≈ pk φk (x). (3)
k=1

Para i = 1, ..., MN, tomamos v = φi y sustituimos en (2).

NM
X
Z Z Z
pk ∇φi · ∇φk dx = fv dx − ∇φi · ∇pD dx (4)
k=1 Ω Ω Ω

A partir de (4) se puede formar un sistema de ecuaciones Ap = b, con el que


se pueden obtener los coeficientes p en (3) y de esa forma obtener p0 , y
finalmente obtener p = p0 + pD .
La figura muestra el resultado obtenido con FEM al compararlo con la
solución analítica de (1). Los errores son más pequeños que los obtenidos
con diferencias finitas.

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 21 / 29


Solución mediante el MEF (V)
1.0

1.0
0.03
4e−04
0.8

0.8
0.02

2e−04
0.01
0.6

0.6
0.00 0e+00
Y

Y
0.4

0.4
−0.01
−2e−04
0.2

0.2
−0.02
−4e−04
−0.03
0.0

0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0

N =
X M = 25 X

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 22 / 29


Solución mediante el MEF (VI)
1.0

1.0
1e−04
0.010
0.8

0.8
5e−05
0.005
0.6

0.6
0.000 0e+00
Y

Y
0.4

0.4
−0.005
−5e−05
0.2

0.2
−0.010
−1e−04
0.0

0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0

N =X M = 50 X

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 23 / 29


Solución mediante el MEF (VII)
1.0

1.0
4e−05
0.8

0.8
0.005
2e−05
0.6

0.6
0.000 0e+00
Y

Y
0.4

0.4
−2e−05
−0.005
0.2

0.2
−4e−05
0.0

0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0

N =X M = 75 X

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 24 / 29


Solución mediante el MEF (VIII)

1.0
1 ● ● ● ● ● ● ● ● ● ●
● ● ●
● ● ● ●
● ● ●
0.8
● ● ●
● ● ● ●
● ● ●
● ● ●
● ● ● ●
● ● ●
c(−0.15, 1.1)

0.6

● ● ●
● ● ● ●
● ● ●
● ● ●
● ● ● ●
0.4

● ● ●
● ● ●
● ● ● ●
● ● ●
● ● ●
0.2

● ● ● ●
● ● ●
● ● ●
● ● ● ●
● ● ●
0.0

0 ● ● ● ● ● ● ● ● ● ●

0 1
−0.2

−0.2
Joaquín Peña (CIMAT) 0.0 0.2Métodos Numéricos
0.4 (MAT–251)
0.6 0.8 1.0 26.11.2012 25 / 29
Solución mediante el MEF (IX)
1.0

1.0
0.03
0.8

0.8
0.02 0.001

0.01
0.6

0.6
0.000
0.00
Y

Y
0.4

0.4
−0.01
−0.001
0.2

0.2
−0.02

−0.03 −0.002
0.0

0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0

N =
X M = 25 X

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 26 / 29


Solución mediante el MEF (X)
1.0

1.0
4e−04

0.010
0.8

0.8
2e−04
0.005
0.6

0.6
0e+00
0.000
Y

Y
0.4

0.4
−2e−04
−0.005
0.2

0.2
−0.010 −4e−04
0.0

0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0

N =X M = 50 X

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 27 / 29


Solución mediante el MEF (XI)
1.0

1.0
2e−04
0.8

0.8
0.005 1e−04
0.6

0.6
0e+00
0.000
Y

Y
0.4

0.4
−1e−04
−0.005
0.2

0.2
−2e−04
0.0

0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0

N =X M = 75 X

Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 28 / 29


Discretización del dominio

Una dificultad del MEF es la discretización del dominio.

1.0

● ●

● ●

● ● ● ● ●
● ●
● ● ● ●

0.5

● ●

0.5
● ● ● ●
● ●
● ● ● ●

● ●
● ● ● ● ● ● ●
● ● ● ●
● ● ● ● ●

nodos[, 2]
● ●
0.0

0.0
● ● ● ● ● x● ● ● x ● ● ●
● ●
● i ●
● ●
A A
● ●
● ● ●
● ● ● ● ● ● ● ●

● ● ● ●
● ●

● ●
−0.5

−0.5
● ●
● ● ● ●
● ●

● ● ● ● ●

● ●
● ●
● ● ● ●

● ●
● ●
−1.0

● ●
−1.0

● ●
● ● ●

−0.5 0.0 0.5 −1.0 −0.5 0.0 0.5 1.0

nodos[, 1]
electr[inds, 1]
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 26.11.2012 29 / 29

Potrebbero piacerti anche