You are on page 1of 18

Universidad Nacional Agraria La Molina

Facultad de Ingeniera Agrcola


Departamento de Recursos Hdricos

Hidrulica Computacional
(Aplicaciones con MATLAB)

Ecuaciones Diferenciales
Ordinarias
Problemas de Valor en la
Frontera
Jess Abel Meja Marcacuzco, Ph.D.
Lima - Per

PROBLEMAS DE VALOR EN LA FRONTERA


En el caso del problema unidimensional de valor en la frontera de
ecuaciones diferenciales ordinarias, la solucin debe satisfacer condiciones
de frontera en ambos extremos del dominio. Por ejemplo, consideremos una
varilla metlica delgada de longitud H con cada uno de sus extremos
conectado a una fuente de calor distinta. Si el calor escapa de la superficie
de la varilla al aire nicamente mediante transferencia de calor por
conveccin, la ecuacin de la temperatura es:

d
dT x
A k x
hc PT x hc PT AS x
dx
dx
donde T(x) es la temperatura a una distancia x del extremo izquierdo, A es el
rea de seccin transversal constante de la varilla, k es la conductividad
trmica, P es el permetro de la varilla, hc es el coeficiente de transferencia
de calor por conveccin, T es la temperatura global del aire y S es la fuente
de calor. Las condiciones de frontera son: T(0) = TL y T(H) = TR, donde TL y
TR son temperaturas conocidas en los extremos izquierdo y derecho,
respectivamente.

Dividiendo la ecuacin entre A y definiendo

T T

con

hc P / A

La ecuacin anterior queda como:

d
d x
k x
x S x
dx
dx
El primer trmino representa la conduccin de calor, el segundo es la
eliminacin de calor por conveccin hacia el aire y el miembro derecho es la
fuente de calor.
Si la ecuacin fuera un problema de valor inicial, se especificaran dos
condiciones en una sola frontera, y la resolucin numrica podra proceder
de ese extremo hacia el otro. A pesar de que podemos utilizar los mtodos
de resolucin de problemas de valor inicial para resolver problemas de valor
en la frontera, a menudo estos mtodos fracasan a causa de la inestabilidad
numrica. Adems, su aplicacin se dificulta mucho para la solucin de EDO
de orden superior.

Una forma ms general de resolver problemas de valores en la frontera


consiste en a) deducir ecuaciones en diferencias finitas y b) resolver todas
las ecuaciones de diferencias simultneamente.

Problemas de valor en la frontera unidimensionales


En esta seccin deduciremos ecuaciones de diferencia finita para
ecuaciones diferenciales ordinarias de segundo orden con condiciones en la
frontera. Con objeto de explicar el principio del mtodo, consideremos la
ecuacin

' ' x q x S x , 0 x H
con las condiciones de frontera: ' 0 0 (Izquierda) y H R (Derecha),
donde q es un coeficiente constante. Si dividimos el dominio en N intervalos
equidistantes obtenemos una retcula cuyos intervalos son h = H/N. Si
aplicamos la aproximacin de diferencia central al primer trmino de la
ecuacin, deducimos la ecuacin de diferencia para el punto i:

i 1 2i i 1
qi Si
2
h
Donde:

w h2q

i 1 2 wi i 1 h 2 Si

i xi

S i S xi

y q son constantes

La ecuacin anterior se aplica a todos los puntos de la retcula excepto i = 1


e i = N+1.

= 0

x = -h

x=0

x=h

x =2h

x = 3h

i=0

i=1

i=2

i =3

= R

x = Nh = H

i=4

i = N i = N+1

La condicin de frontera izquierda equivale a una condicin de frontera de


simetra llamada condicin de frontera adiabtica en el rea de
transferencia de calor. Si consideramos un punto de retcula hipottico i = 0
situado en x = -h, la ecuacin para i = 1 es:

0 2 w1 2 h 2 S1
En la ecuacin, podemos igualar 0 = 2
porque la condicin de frontera izquierda
puede interpretarse como:


'
1

2 0
2h

Dividiendo la ecuacin entre 2 obtenemos:

1 w / 21 2 h 2 S1 / 2
Puesto que N 1 H R
en la frontera derecha, la
ecuacin para i = N se escribe como:

N 1 2 wN h 2 S N R

donde todos los trminos conocidos quedan en el miembro


derecho. El conjunto de ecuaciones se puede agrupar as:

1 w / 21 2 h 2 S1 / 2
1 2 w2 3 h 2 S 2
2 2 w3 4 h 2 S3
...
N 1 2 w N h 2 S N R

En forma matricial:

1 w / 2 1
1
2w

1
2w

h
S1 / 2
1

h 2 S

2
2
3 h 2 S 3

2 w N h S N R

Esta forma especial de matriz se denomina matriz tridiagonal. Las


condiciones de frontera se clasifican en los siguientes tres tipos:
Tipo
Explicacin
Condicin de frontera de valor Se da el valor funcional
fijo. (tipo Dirichlet)
de la solucin

Ejemplo
(0) = 0, (0) = 1

Condicin de frontera derivada


(tipo Neumann)

Se da la derivada
de la solucin

(0) = 0, (0) = 1

Condicin de frontera mixta


(tipo mixto)

El valor funcional est (0)+ (0) =


relacionado con la derivada.

Algoritmo de Thomas para resolver matrices tridiagonales

ai xi 1 bi xi ci xi 1 di

Tx d

a1 0 y cn 0
b1
a
2

c1
b2
a3

c2
b3 c3

an 2

bn 2 cn 2
an 1 bn 1
an

x1 d1
x d
2 2


*



cn 1

bn xn d n

Bsicamente la descomposicin LU consta de tres partes


1) Descomposicin: de 2 a n

ai
ri
b i 1

bi bi ri ci

for i=2:n
r=a(i)/b(i-1);
b(i)=b(i)-r*c(i-1);
d(i)=d(i)-r*d(i-1);
end

2) Sustitucin hacia adelante: de 2 a n

d i d i ri d i 1

for i=2:n
d(i)=d(i)-r*d(i-1);
end

3) Sustitucin hacia atrs: de n-1 a 1

dn
xn
bn
d i ci xi 1
xi
bi

x(n)=d(n)/b(n);
for i=n-1:-1:1
x(i)=(d(i)-c(i)*x(i+1))/b(i);
end

Ejemplo
Resolver el siguiente
Sistema mediante el
algoritmo TDMA

1) Descomponer T:
for 2 to 5
ri = ai/bi-1
bi = bi-ri*ci-1
end
b1
a
2
0

0
0

c1
b2
a3
0
0

0
c2
b3
a4
0

0
0
c3
b4
a5

0 x1 d1
0 x2 d 2
0 * x3 d 3

c 4 x4 d 4
b5 x5 d 5

5 2
x1 9
4 21 1
x 49

* x3 13
1 1 3

55

1
2 x5 16
r2 4 / 5 0.8
b2 21 0.8 * 2 19.4
r3 1 / 19.4 0.0515
b3 1 0.0515*1 1.0515
r4 3 /(1.0515) 2.8531
b4 4 2.8531* (3) 4.5593
r5 1 / 4.5593 0.2193
b5 2 0.2193* (5) 3.0965

2
5

0.8 19.4

0.0515 1.0515
3

2
.
8531
4
.
5593

0.2193 3.0965

2) Sustitucin hacia adelante


for 2 a n
di = di - ri*di-1
end
9
49

d 13

55

16

2
5

0.8 19.4

T
0.0515 1.0515
3

2.8531 4.5593
5

0.2193 3.0965

d 2 49 0.8 * 9 41.8
d 3 13 0.0515* 41.8 15.1546
d 4 55 2.8531* (15.1546) 11.7610
d 5 16 0.2193* (11.7610) 18.5792

41.8

d 15.1546

11.7610
18.5792

3) Sustitucin hacia atrs


xn = dn/bn
for n-1 to 1
xi = (di-ci*xi+1)/bi
end
5

41.8

d 15.1546

11.7610
18.5792

0.8 19.4

T
0.0515 1.0515
3

2
.
8531
4
.
5593

0.2193 3.0965

x5 18.5792 / 3.0965 6
x4 (11.7610 (5) * 6) / 4.5593 4
x3 (15.1546 (3) * 4) / 1.0515 3
x2 (41.8 1* 3) / 19.4 2
x1 (9 2 * 2) / 5 1

1
2

x 3

4
6

% Matriz Tridiagonal
clear
n=5;
a(1)=0;a(2)=4;a(3)=1;a(4)=-3;a(5)=1;
b(1)=5;b(2)=21;b(3)=-1;b(4)=-4;b(5)=2;
c(1)=2;c(2)=1;c(3)=-3;c(4)=-5;c(5)=0;
d(1)=9;d(2)=49;d(3)=-13;d(4)=55;d(5)=16;
for i=2:n
r=a(i)/b(i-1);
b(i)=b(i)-r*c(i-1);
d(i)=d(i)-r*d(i-1);
b1 c1
a b
end
2
2
x(n)=d(n)/b(n);
0 a3
for i=n-1:-1:1

x(i)=(d(i)-c(i)*x(i+1))/b(i);
0 0
end
0 0
x'

>> triprueba1
x=
1.0000
2.0000
3.0000
4.0000
6.0000

0
c2
b3
a4
0

0
0
c3
b4
a5

0 x1 d1
0 x2 d 2
0 * x3 d 3

c 4 x4 d 4
b5 x5 d 5

% Matriz Tridiagonal
clear
n=9;
b(1)=2; c(1)=-1; d(1)=2;
for i=2:n
a(i)=-1; b(i)=2; c(i)=-1;
if i<n
d(i)=0;
elseif i==n
d(i)=1;
end
end
for i=2:n
r=a(i)/b(i-1);
b(i)=b(i)-r*c(i-1);
d(i)=d(i)-r*d(i-1);
end
x(n)=d(n)/b(n);
for i=n-1:-1:1
x(i)=(d(i)-c(i)*x(i+1))/b(i);
end
x=x'

>> triprueba2
x=
1.9000
1.8000
1.7000
1.6000
1.5000
1.4000
1.3000
1.2000
1.1000
2 1
1 2

1
2

2 0
1 2 1
3 0

0
1 2 1

4
1 2 1

5 0

0
1 2 1

6
1 2 1 7 0

1 2 1 8 0


1 2 9 1

Resultado:

1,9

1,8
17
,
1,6

1,5
1,4

1,3
1,2

1,1

% Matriz Tridiagonal
clear
n=9;
b(1)=2; c(1)=-1; d(1)=1;
for i=2:n
a(i)=-1; b(i)=2; c(i)=-1;
if i<n
d(i)=0;
elseif i==n
d(i)=0;
end
end
for i=2:n
r=a(i)/b(i-1);
b(i)=b(i)-r*c(i-1);
d(i)=d(i)-r*d(i-1);
end
x(n)=d(n)/b(n);
for i=n-1:-1:1
x(i)=(d(i)-c(i)*x(i+1))/b(i);
end
x=x'

>> triprueba3
x=
0.9000
0.8000
0.7000
0.6000
0.5000
0.4000
0.3000
0.2000
0.1000
2 1
1 1

1
2

2 0
1 2 1
3 0

0
1 2 1

4
1 2 1

5 0

0
1 2 1

6
1 2 1 7 0

1 2 1 8 0


1 2 9 0

Resultado:

0 ,9

0 ,8
0 ,7
0 ,6

0 ,5
0 ,4

0 ,3
0 ,2

0 ,1

Ejemplo

Deduzca las ecuaciones de diferencia para el siguiente problema de valor en


la frontera. Elaborara el cdigo en MATLAB y mostrar los resultados:

2 y ' ' x y x exp 0.2 x


con las condiciones de frontera:

(A)

y0 0.1

y ' 10 y 10

Solucin

x=0
i=0

x=1
i=1

x=2
i =2

x=9
i=9

x = 10
i = 10

Las ecuaciones de diferencia para i = 2 hasta 9 son:

2 yi 1 2 yi yi 1 yi exp 0.2 xi

(B)

Para i = 1, se usa la condicin de frontera en la ecuacin (B): y0 y 0 0.1

5 y1 2 y2 exp 0.2 x1 0.2

(C)

Para i = 10, aproximamos primero la ecuacin (A) con

2 y ' 10 y ' 9.5

y 10 exp 2 x10
1/ 2

(D)

Con la aproximacin de diferencia central, el trmino y(0.95) se convierte en:

y ' 9.5 y10 y9/ 1

(E)

Si sustituimos la ecuacin (E) y la condicin de frontera derecha


y(10) = -y(10) en la ecuacin (D) tenemos:

2 y9 4.5 y10 0.5 exp 2 x10

(F)

Resumen de las ecuaciones de diferencia obtenidas:

5 y1 2 y2 exp 0.2 x1 0.2

2 yi 1 5 yi 2 yi 1 exp 0.2 xi
2 y9 4.5 y10 0.5 exp 2 x10

para i 2 a 9

(G)

% Archivo ejemplo13_11
clear, clf, y0=0.1;
b(1)=5; c(1)=-2; s(1)=exp(-0.2)+y0;
for i=2:9
a(i)=-2; b(i)=5; c(i)=-2; s(i)=exp(-0.2*i);
end
a(10)=-2; b(10)=4.5; s(10)=0.5*exp(-2);
y=tridiagonal(a,b,c,s,10);
plot(0:10,[y0,y])
xlabel('x'); ylabel('y')
0.5
0.45
0.4
0.35
0.3
y

% Funcin tridiagonal
function f=tridiagonal(a,b,c,d,n)
for i=2:n
r=a(i)/b(i-1);
b(i)=b(i)-r*c(i-1);
d(i)=d(i)-r*d(i-1);
end
d(n)=d(n)/b(n);
for i=n-1:-1:1
d(i)=(d(i)-c(i)*d(i+1))/b(i);
end
f=d;

0.25
0.2
0.15
0.1
0.05

6
x

10

You might also like