Está en la página 1de 16

CLASE No 4

Ecuación Algebraica

Ya sabemos que asociada a la formulación de Galerkin del


problema de valores de contorno en estudio se obtiene la ecuación
algebraica:

donde la matriz , y los vectores están dados por:

, . ,

, , ,

, , ,

con

Recordemos que el problema considerado es la determinación de


los desplazamientos verticales de una barra elástica sujeta en los
extremos y experimentando una carga transversal .
Recordemos también que la base del espacio de elementos finitos
elegida es:

De una vez conviene calcular las derivadas de las ( ):

Por otro lado se observa que

de manera que

, , 0 0 ⋯ 0
, , , 0 ⋯ 0
= 0 , , , ⋯ 0
⋮ ⋮ ⋮ ⋮ ⋯ ⋮
0 0 0 ⋯ , ,
0 0 0 ⋯ , .
O sea

Así que únicamente son diferentes de cero los coeficientes de la


forma , , , , , .

Ahora bien,

1 1
, = = + − =
ℎ ℎ

1 1
= +
ℎ ℎ

−1 −1 1 −1
, = = =
ℎ ℎ ℎ

+1 1 1 1
, = = − =−
ℎ ℎ ℎ
Esta situación conlleva a que la matriz sea “sparse” (dispersa), o
sea solamente algunas entradas de son diferentes de cero; en
este caso unidimensional la matriz es tridiagonal, donde solamente
son diferentes de cero los elementos de la diagonal principal y las
diagonales adyacentes.

Obsérvese que esta propiedad de la matriz se debe a la


naturaleza de las funciones de la base del espacio (sólo son
diferentes de cero en algunos subintervalos, lo que se expresa
diciendo que tienen “soporte compacto”). El hecho que estas bases
puedan ser escogidas de esta manera es una de las características
distintivas del método de elementos finitos.

En el caso de una partición uniforme, o sea, ℎ = ℎ, =


1,2, … , + 1, las entradas de la matriz se reducen a:

, = , . = , , = , por lo tanto

2 −1 0 ⋯ 0 0
−1 2 −1 ⋯ 0 0
0 −1 2 ⋯ 0 0
=
0 0 −1 ⋯ 0 0
0 0 0 ⋯ 2 −1
0 0 0 ⋯ −1 2
Ejemplo

Vamos a resolver el PVC

− = sin( ) , 0< <1


(0) = (1) = 0
Vamos a tomar ℎ = con de dimensión 4, es decir trabajaremos
con la base lineal de 4 elementos , , , siendo
/
/ /
,
/ /

/ /
/ /
,
/ /

La matriz resulta 4 4, y viene dada por


2 −1 0 0
1 −1 2 −1 0
=
1/5 0 −1 2 −1
0 0 −1 2

Mientras que el vector viene dado por

sin( ) 1

sin( ) 2
= =
sin( ) 3

sin( ) 4
= sin( ) 1 =

/ /
= sin( ) + sin( )
/

= sin( ) 2 =

/ /
= sin( ) + sin( )
/ /

= sin( ) 3 =

/ /
= sin( ) + sin( )
/ /

= sin( ) 3 =

/ /
= sin( ) + sin( )
/ /
Cálculo de los valores nodales , , usando Matlab.

≫ ( ( )∗ ( )∗ , 0,1/5
1/5
2

+ ( )∗ ( )∗ 5 , 1/5,2/5 )
1
5
= 0.0501

≫ ( ( ( )∗ ( ) ∗ ( − 1/5)/(1/5),1/5,2/5)
+ ( ( )∗ ( ) ∗ (3/5 − )/(1/5),2/5,3/5))
= 0.1180

2 2

≫ exp( ) ∗ sin( ) ∗ 5 , 5,3
1 5
5

4 3
− 5,4
+ exp( ) ∗ sin( ) ∗ 5 ,
1 5
5

= 0.2078
3 3

≫ exp( ) ∗ sin( ) ∗ 5 , 5,4
2 5
5

1− 4
+ exp( ) ∗ sin( ) ∗ , , 5/5
1 5
5

= 0.3214
Hemos obtenido así el vector =[ , , , ] , o sea,
0.0501
= 0.1180
0.2078
0.3214
El sistema algebraico a resolver para obtener valores nodales
, , es:
2 −1 0 0 0.0501
1 −1 2 −1 0 = 0.1180
1/5 0 −1 2 −1 0.2078
0 0 −1 2 0.3214

Resolución del sistema usando Matlab:

>> = 1/(1/5) ∗ [2 − 1 0 0; −1 2 − 1 0; 0 − 1 2
− 1; 0 0 − 1 2]
=

10 −5 0 0
−5 10 −5 0
0 − 5 10 −5
0 0 − 5 10

>> = [0.0501; 0.1180; 0.2078; 0.3214]

0.0501
0.1180
0.2078
0.3214

>> ( , )

=
0.0517
0.0933
0.1113
0.0878
Hemos obtenido así los valores nodales:

= 0.0517, = 0.0933, = 0.1113, = 0.0878


Por lo tanto la solución aproximada del problema mediante
elementos finitos basado en Galerkin es:

= φ + φ + φ + φ
Comparaciones gráficas de las soluciones usando Matlab

≫ = 0: 0.20: 1

0 0.2000 0.4000 0.6000 0.8000 1.0000

>> = [0 0.0517 0.0933 0.113 0.0878 0]

0 0.0517 0.0933 0.1130 0.0878 0


≫ ( , )

Solución exacta del PVC:

Integrando dos veces la ecuación − = sen(x) se obtiene la


solución

1 1 1 1
( )= cos( ) + − (1) −
2 2 2 2

Observar que
(0) = − = 0 (1) = cos(1) + − (1) − = 0

es decir la solución ( ) satisface las condiciones de borde.

Usando Matlab podamos graficar esta solución el dominio [0, 1]:

≫ = 0: 0.05: 1

1 ℎ ℎ 11

0 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500


0.40000 0.4500 0.5000

12 ℎ ℎ 21

0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000


0.9500 1.0000

>> ( , 1/2 ∗ ( )∗ ( ) + (1/2 − 1/2 ∗ (1)


∗ (1)) ∗ − 1/2)

.

>> ( , 1/2 ∗ ( ).∗ ( ) + (1/2 − 1/2 ∗ (1).


∗ (1)) ∗ − 1/2)

Ahora vamos a comparar ambas soluciones en un mismo gráfico


usando Matlab:

>> = 0: 0.20: 1

=
0 0.2000 0.4000 0.6000 0.8000 1.0000

>> = [0 0.0517 0.0933 0.113 0.0878 0]

0 0.0517 0.0933 0.1130 0.0878 0

>> ( , , , 1/2 ∗ ( ).∗ ( ) + (1/2 − 1/2 ∗ (1).


∗ (1)) ∗ − 1/2)
Una mejor gráfica:

≫ = 0: 0.05: 1;
≫ ( , , , 1/2 ∗ ( ).∗ ( ) + (1/2 − 1/2 ∗ (1).
∗ (1)) ∗ − 1/2)

También podemos graficar el error −

≫ = 0: 0.20: 1;
>> = [0 0.0517 0.0933 0.113 0.0878 0]
=
0 0.0517 0.0933 0.1130 0.0878 0
≫ = 1/2 ∗ ( ).∗ ( ) + (1/2 − 1/2 ∗ (1).∗ (1)).
∗ − 1/2
=

0 0.0517 0.0933 0.1113 0.0878 0


≫ ( , − )