Sei sulla pagina 1di 10

1

Clculo de autovalores y funciones de Bessel


En la resolucin analtica exacta de ecuaciones diferenciales que representan muchos
casos reales de transmisin de calor aparecen los denominados autovalores (eigen
valores o valores caractersticos -) que es necesario calcular para la resolucin
definitiva del problema.
Los autovalores () aparecen cuando, para la resolucin de las ecuaciones diferenciales
es preciso realizar algn cambio de variable.
Los autovalores son constantes (positivas o negativas) que deben de satisfacer
determinadas igualdades que dependen de la ecuacin diferencial planteada y de las
condiciones de contorno. No tienen sentido fsico ninguno y en ocasiones es necesario
realizar clculos iterativos para su determinacin. En muchos casos pueden existir
distintos valores de que satisfagan la ecuacin, lo cual sucede generalmente cuando en
la soluciones de las ecuaciones diferenciales aparecen sumatorios correspondientes a
series de Fourier o funciones de Bessel.
Veamos algunos ejemplos:
1. Para el caso por ejemplo de una conduccin pura en rgimen estacionario en dos
dimensiones con una geometra de lmina la solucin general de la ecuacin planteada
es:

En donde se puede calcular como:


nl = (2n +1) /2
Por lo que en este caso no hay ninguna dificultad ya que el valor de nl puede sustituirse
directamente en la solucin final anterior.
2. Para el caso de una transmisin de calor en rgimen no estacionario por
conduccin/conveccin (control mixto) en una geometra plana, la ecuacin diferencial
es:

En este caso:
nl = Bi . cotg (nl) con n= 0,1,2,3,4,.

Recordar: cotg(x) = 1/tg(x)

Para calcular aqu los valores de n es necesario utilizar mtodos iterativos (mtodo de
la dicotoma, sustitucin directa o mtodo de Newton).

Se incluye a continuacin un programa de iteracin para resolver este problema. El


programa se basa en el mtodo iterativo de dicotoma para el cual es necesario conocer
previamente el intervalo [a,b] en que son posibles soluciones y que para este caso
particular es: [n, (2n+1)/2]

El programa a continuacin est escrito para MATLAB 7.0

n .l Bi. cot g (n .l )
function res=VCL(n,Bi)
a=n*pi;
b=(2*n+1)*pi/2;
Dif=1;
while Dif>0.001
xs=(a+b)/2;
f=Bi/tan(xs);
Dif=abs((f-xs)/xs);
if f>xs
a=xs;
else
b=xs;
end
end
res=xs;

Para la obtencin de los autovalores habr que teclear en MATLAB


>> VCL (n,Bi)
En donde n es el orden y Bi es el nmero de Biot para cada caso. El resultado obtenido
es en realidad el producto de n por l por lo que habr que despejar n.

3
El programa es tambin vlido para los casos en donde el control de la transmisin de
calor sea exclusivamente por conduccin (es decir Bi>40) ya que se puede asumir que
h (coeficiente de conveccin ) es muy elevado y se puede teclear:
>>VCL(n,nmero muy alto) = VCL(n,10000)
Como ejemplo tomemos una lmina de semigrosor 0.025 m y un proceso por control de
la conduccin/conveccin con Biot =3. Los autovalores de los primeros cuatro trminos
son (n=0,1,2,3)
>> VCL(0,3)
ans =
0l =1.1927 ; 0=1.1927/0.025 = 47.70
Se puede comprobar:

ol = 1.1927
Bi = 3
Cotg (1.1927) = 0.397 (ojo calcular la cotg en radianes)
>> VCL(1,3)
ans =
1l =3.8089 ; 1 = 3.8089/0.025=152.35
>> VCL(2,3)
ans =
6.7043

2=268

>> VCL(3,3)
ans =
9.7239

3= 388.96

Para utilizar el programa entrar en el command window de Matlab y teclear


>>VCL(n,Bi)
Por ejemplo:
>>VCL(0,24)
Ans=1.5081
De forma que 0L=1.5081 y si por ejemplo L =0.2 entonces 0=7.54

4
Una alternativa a esta solucin rpida es representar la funcin y posteriormente
calcular los ceros de la funcin.
Por ejemplo imaginemos que L=0.2 y el Bi=24
La ecuacin que debe de cumplir n es:
0.2 n -24 cotg(0.2 n) =0
Para representar la funcin usamos el programa en Matlab
x=[0:1:100];
y=0.2*x-24*cot(0.2*x);
plot(x,y)

La representacin grfica es:


1000
800
600
400
200
0
-200
-400
-600
-800

10

20

30

40

50

60

70

80

90

100

En la grfica vemos aproximadamente los puntos de corte en cero


Con esa informacin podemos utilizar la fzero de MATLAB para determinar el valor
exacto:
Por ejemplo
>>q=fzero( 0.2*x-24*cot(0.2*x), 10)
Ans= 7.5402

5
Veamos otro ejemplo en donde el control es nicamente por conduccin. Se trata de una
geometra cilndrica con radio de 0.04 m.
La solucin a la ecuacin diferencial que corresponde al problema es:

Jo es una funcion de Bessel de orden 0 y J1 de orden 1. Los valores de J0(n) y J1(n) estn
tabulados en textos especializados.
Para el clculo de los autovalores se puede utilizar el programa a continuacin para
clculo de autovalores en transmisin de calor por conduccin/conveccin en cilindros:
(n R) J1 (n R) Bi J0 (nR) =0
function res=VCC(VCA,Bi)
a=VCA+0.0001;
b=a;
fa=a*Besselj(1,a)-Bi*Besselj(0,a);
fb=fa;
while fa*fb>=0
b=b+2;
fb=b*Besselj(1,b)-Bi*Besselj(0,b);
end
f=1;
while abs(f)>0.00001
x=(a+b)/2;
fa=a*Besselj(1,a)-Bi*Besselj(0,a);
f=x*Besselj(1,x)-Bi*Besselj(0,x);
if abs(f)>0.000001
if fa>0
if f<0
b=x;
else
a=x;
end
else
if f<0
a=x;
else
b=x;
end
end
end
end
res=x;

para su clculo hay que teclear:


>> VCC (n,Bi)
Para obtener los sucesivos valores mediante el programa sugerido es necesario teclear

6
>>VCC(ans, Bi)
El programa tambin es valido para analizar los casos de control por conduccin pura,
al igual que en el caso anterior dndole al Bi un valor grande (10000, por ejemplo)
Supongamos un caso de transmisin de calor por conduccin/conveccin en un cilindro
con un Bi=542
>> VCC(1,542)
ans =
2.4004
>> VCC(ans,542)
ans =
5.5099
>> VCC(ans,542)
ans =
8.6378

Supongamos ahora una transmisin por conduccin pura a travs de un cilindro de 0.04
m de radio
>> VCC(1,10000)
ans =
2.4046
>> VCC(ans,10000)
ans =
5.5195
>> VCC(ans,10000)
ans =
8.6529
Recordar que los valores obtenidos son en realidad nR
Entrar en command window de Matlab y teclear

>>VCC(n,Bi)
Por ejemplo
>>VCC(1,542.09)
Ans= 2.4004 con lo que 1R = 2.4004 y conocido R se puede despejar

Otra opcin igual que antes es representar la expresin:


(n R).J 1 (n R) Bi.J o (n R) 0

Y buscar los ceros de la misma


Si suponemos que Bi=542.09
La representacin se puede hacer con el programa
>> nR=[0:0.1:30];
>> y=nR.*Besselj(1,nR)-542.09*Besselj(0,nR);
>> plot(nR,y)
>>
La grafica que se obtiene es:
300
200
100
0
-100
-200
-300
-400
-500
-600

10

15

20

25

Para buscar los valores exactos que hacen cero la funcin podemos utilizar

30

>>y=fzero(x.*Besselj(1,x)-542.09*Besselj(0,x),2)
Ans=1R=2.4004

Por ltimo para geometra esfrica se puede utilizar el siguiente programa para el
clculo de autovalores:

n .R. cos(n .R) (1 Bi ).sen(n R)


function res=VCE(n,Bi)
if Bi<1
a=(n-1)*pi;
b=(2*n-1)*pi/2;
end
if Bi>1
a=(2*n-1)*pi/2;
b=n*pi;
end
if Bi==1
res=(2*n-1)*pi/2;
return
end
dif=1;
while dif>0.0001
x=(a+b)/2;
f=(1-Bi)*tan(x);
dif=abs((f-x)/x);
if Bi<1
if f>x
b=x;
else
a=x;
end
else
if f>x
a=x;
else
b=x;
end
end
end
res=x;

El modo de obtencin de los valores es:


>>VCE(n,Bi)

Ejemplo
Suponer una transmisin a travs de esferas de 0.01 m de radio por
conduccin/conveccin con Bi= 1.26

>> VCE(1,1.26)
ans =
1.7208
>> VCE(2,1.26)
ans =
4.7669
>> VCE(3,1.26)
ans =
7.8869
Los valores que se obtienen son en realidad nR
Para el clculo de los autovalores
>>VCE(n,Bi)
Por ejemplo
>>VCE(1,3)
Ans=2.289

Programa para el dibujo de la grafica

n R. cos(n R) (1 Bi ).sen(n R) 0
x es aqu nR, siendo R el radio de la esfera
>> x=[0:0.1:20];
>> y=x.*cos(x)-(1-1.26)*sin(x);
>> plot(x,y)
>> x=[1:0.1:20];
>> y=x.*cos(x)-(1-1.26)*sin(x);
>> plot(x,y)

10

20
15
10
5
0
-5
-10
-15
-20

10

12

14

16

18

20

Haciendo ahora
>> y=fzero(x.*cos(x)-(1-1.26)*sin(x),2)
Ans=1.7208 que corresponde al producto nR

En la resolucin de algunos problemas de transmisin de calor los autovalores de las


soluciones deben de cumplir ecuaciones de igualdad. Para calcular los autovalores que
satisfacen las ecuaciones es necesario conocer el intervalo en el cual se encuentra una de
las soluciones del autovalor.
Para geometras planas (programa VCL) se encuentra una solucin para el autovalor en
cada intervalo:
[n, (2n+1)/2]
En geometras cilndricas (programa VCC) aparecen funciones de Bessel que habr que
representar y buscar los valores para los que la funcin de Bessel se anula (autovalores)
En geometras esfricas (programa VCC) los intervalos dependen del nmero de Biot
(ver programa)
Bi < 1

[(n-1), (2n-1)/2]

Bi > 1

[(2n-1)/2, n]

Por supuesto, se pueden tambin escribir programas en FORTRAN O BASIC para el


clculo de dichos autovalores

Potrebbero piacerti anche