Conducción del calor en un cilindro muy largo

El cilindro se calienta a una temperatura uniforme T0 y se deja enfriar sumergiéndolo en un baño térmico a temperatura Ts.

En el estado estacionario, después de un tiempo t→∞, la temperatura final del cilindro será T(ρ,∞)=Ts, la temperatura del baño térmico.

La ecuación de la conducción del calor apropiada para resolver este problema es

1 α T t = 2 T ρ 2 + 1 ρ T ρ 0ρ<a,t>0

ρ es la distancia radial desde el eje del cilindro.

Las condiciones de contorno son:

  1. T(a,t)=Ts

  2. T(ρ,t) ρ | ρ=a =h( T(a,t) T s )

La distribución inicial de temperaturas es T(ρ,0)=T0

Solución de la ecuación de la conducción del calor (I)

Definimos la función u(ρ,t)=T(ρ,t)-T(ρ,∞), en términos de esta nueva función, la ecuación de la conducción del calor, las condición inicial en el instante t=0, y las condiciones de contorno en ρ=a se escriben

1 α u t = 2 u ρ 2 + 1 ρ u ρ 0<ρ<at>0 ·contornou(a,t)=0 ·inicialu(x,0)= T 0 T s

Buscamos la solución mediante el procedimiento de separación de variables, de la forma u(ρ,t)=F(ρG(t)

F α dG dt =G( d 2 F d 2 ρ + 1 ρ dF dρ ) 1 F ( d 2 F d 2 ρ + 1 ρ dF dρ )= 1 α 1 G dG dt = k 2 a 2

Resolvemos la ecuación diferencial de la derecha

dG dt + k 2 α a 2 G=0 G(t)=G(0)exp( k 2 α a 2 t )

Resolvemos la ecuación diferencial de la izquierda

1 F ( d 2 F d 2 ρ + 1 ρ dF dρ )= k 2 a 2 F ρ 2 d 2 F d 2 ρ +ρ dF dρ + k 2 a 2 ρ 2 F=0

Haciendo el cambio de variable y=F, x=kρ/a, obtenemos la ecuación de Bessel, cuya solución es

x 2 d 2 y d x 2 +x dy dx + x 2 y=0 y=A J 0 (x)+B Y 0 (x)

Se descarta el segundo término por ser Y0(x)=∞, cuando x tiende a cero

La solución es, F(ρ)=A·J0(kρ/a).

Condiciones de contorno

La condición de contorno en ρ=a es T(a,t)=Ts, o bien, u(a,t)=F(aG(t)=0. Las raíces kn, son los valores de k que cumplen la ecuación transcendente J0(k)=0

La solución completa u(ρ,t) es la superposición

u(ρ,t)= n=1 A n J 0 ( k n ρ a ) exp( k n 2 α a 2 t )

Condición inicial

Los coeficientes An se determinan a partir de la distribución inicial de temperaturas u(ρ,0)

u(ρ,0)= T 0 T s = n=1 A n J 0 ( k n ρ a )

Despejamos An utilizando las relaciones de ortogonalidad de las funciones de Bessel, más abajo

( T 0 T s ) 0 a ρ J 0 ( k m ρ a )dρ= n=1 A n 0 a ρ J 0 ( k m ρ a ) J 0 ( k n ρ a )dρ ( T 0 T s ) 0 a ρ J 0 ( k m ρ a )dρ= A m 0 a ρ J 0 2 ( k m ρ a )dρ

Haciendo el cambio de variable x=ρ/a y teniendo en cuenta los resultados de las integrales

( T 0 T s ) 0 1 x J 0 ( k m x )dx= A m 0 1 x J 0 2 ( k m x )dx ( T 0 T s ) J 1 ( k m ) k m = 1 2 A m ( J 0 2 ( k m )+ J 1 2 ( k m ) ) A m = 2( T 0 T s ) J 1 ( k m ) ( J 0 2 ( k m )+ J 1 2 ( k m ) ) k m

>> syms x k;
>> int('x*besselj(0,k*x)^2',x,0,1)
ans= besselj(0, k)^2/2 + besselj(1, k)^2/2
>> int('x*besselj(0,k*x)',x,0,1)
ans =besselj(1, k)/k

Cambiando m por n y teniendo en cuenta que kn son las raíces de la ecuación transcendente J0(k)=0. Los coeficientes An valen

A n = 2( T 0 T s ) k n J 1 ( k n )

Solución completa

u(ρ,t)=2( T 0 T s ) n=1 1 k n J 1 ( k n ) J 0 ( k n ρ a ) exp( k n 2 α a 2 t ) T(ρ,t)=u(ρ,t)+T(ρ,)= T s +2( T 0 T s ) n=1 1 k n J 1 ( k n ) J 0 ( k n ρ a ) exp( k n 2 α a 2 t )

Ejemplo

Representamos gráficamente la función J0(x), para estimar aproximadamente donde se encuentran las raíces de la ecuación transcendente J0(x)=0.

>> f=@(x) besselj(0,x);
>> fplot(f,[0,100])
>> xlabel('x')
>> ylabel('J_0(x)')
>> title('Función J_0(x)')
>> grid on

La función raices calcula las raíces múltiples de la función f(x) buscando los intervalos en los que dicha función cambia de signo y utilizando la función MATLAB fzero para encontrarlas

function r = raices(f, x)
    y=f(x);
    indices=find(y(1:end-1).*y(2:end)<0);
    r=zeros(1,length(indices));
    for k=1:length(indices)
        r(k)=fzero(f, [x(indices(k)), x(indices(k)+1)]);
    end
end

Definimos la función temperatura_5 para calcular la distribución de temperaturas a lo largo de de la dirección radial del cilindro en el instante t

function [r,T]=temperatura_5(T0,Ts,R,k,a2,t)
   r=linspace(0,R,100);
   if(t==0)
       T=T0*ones(1,length(r));
       return;
   end
      
   T=Ts*ones(1,length(r));
   for n=1:length(k)
        an=2*(T0-Ts)/(k(n)*besselj(1,k(n)));
        T=T+an*exp(-k(n)^2*t/(a2*R^2))*besselj(0,(k(n)*r/R));
   end
end

Creamos un script en el que establecemos la temperatura inicial T0, la temperatura ambiente Ts, el radio a de un cilindro muy largo, el material del cual está hecho el cilindro, (parámetro α). El script calcula un número elevado de raíces kn de la ecuación transcendente y representa la distribución radial de temperaturas del cilindro en varios instantes.

T0=100; %temperatura inicial
Ts=0; %temperatura ambiente
alfa=11352; %Coeficiente, 1/alfa del aluminio
R=1; % radio del cilindro

%raíces
x=linspace(0,100,100);
f=@(x) besselj(0,x);
k=raices(f,x);

hold on
axis([0 1 -5 100]);
for t=[10 500 1000 2000]
    [x,T]=temperatura_5(T0,Ts,R,k,alfa,t);
    plot(x,T,'displayName',num2str(t));
end
title('Evolución de la temperatura de un cilindro')
xlabel('r')
ylabel('Temperatura')
legend('-DynamicLegend','location','southwest')
grid on
hold off  

Una vez obtenidas las raíces kn de la ecuación transcendente, J0(k)=0, comprobamos las relaciones de ortogonalidad que hemos utilizado para calcular los coeficientes An

0 1 x J 0 ( k m x) J 0 ( k n x)dx=0mn

>> f=@(x) x.*(besselj(0,k(1)*x).*besselj(0,k(2)*x));
>> integral(f,0,1)  
ans =   8.9311e-18

Solución de la ecuación de la conducción del calor (II)

Definimos la función u(ρ,t)=T(ρ,t)-T(ρ,∞), en términos de esta nueva función, la ecuación de la conducción del calor, las condición inicial en el instante t=0, y las condiciones de contorno en ρ=a se escriben

1 α u t = 2 u ρ 2 + 1 ρ u ρ 0<ρ<at>0 ·contorno u(ρ,t) ρ | ρ=a +hu(a,t)=0 ·inicialu(ρ,0)= T 0 T s

Buscamos la solución mediante el procedimiento de separación de variables, de la forma u(ρ,t)=F(ρG(t)

F α dG dt =G( d 2 F d 2 ρ + 1 ρ dF dρ ) 1 F ( d 2 F d 2 ρ + 1 ρ dF dρ )= 1 α 1 G dG dt = k 2 a 2

Resolvemos la ecuación diferencial de la derecha

dG dt + k 2 α a 2 G=0 G(t)=G(0)exp( k 2 α a 2 t )

Resolvemos la ecuación diferencial de la izquierda

1 F ( d 2 F d 2 ρ + 1 ρ dF dρ )= k 2 a 2 F ρ 2 d 2 F d 2 ρ +ρ dF dρ + k 2 a 2 ρ 2 F=0

Haciendo el cambio de variable y=F, x=kρ/a, obtenemos la ecuación de Bessel, cuya solución es

x 2 d 2 y d x 2 +x dy dx + x 2 y=0 y=A J 0 (x)+B Y 0 (x)

Se descarta el segundo término por ser Y0(x)=∞, cuando x tiende a cero

La solución es, F(ρ)=A·J0(kρ/a).

Condiciones de contorno

Dado que F(ρ)=J0(kρ/a), la condición de contorno da lugar a una ecuación transcendente, cuyas raíces kn son los valores de k que cumplen

d J 0 (kρ/a) dρ | ρ=a +h J 0 ( k )=0 k a J 1 (k)+h J 0 ( k )=0

>> syms x k;
>> diff(besselj(0,k*x))
ans =-k*besselj(1, k*x)

La solución completa u(ρ,t) es la superposición

u(ρ,t)= n=1 A n J 0 ( k n ρ a ) exp( k n 2 α a 2 t )

Condición inicial

Los coeficientes An se determinan a partir de la distribución inicial de temperaturas u(ρ,0)

u(ρ,0)= T 0 T s = n=1 A n J 0 ( k n ρ a )

Despejamos An utilizando las relaciones de ortogonalidad de las funciones de Bessel, más abajo

( T 0 T s ) 0 a ρ J 0 ( k m ρ a )dρ= n=1 A n 0 a ρ J 0 ( k m ρ a ) J 0 ( k n ρ a )dρ ( T 0 T s ) 0 a ρ J 0 ( k m ρ a )dρ= A m 0 a ρ J 0 2 ( k m ρ a )dρ

Haciendo el cambio de variable x=ρ/R y teniendo en cuenta los resultados de las integrales

( T 0 T s ) 0 1 x J 0 ( k m x )dx= A m 0 1 x J 0 2 ( k m x )dx ( T 0 T s ) J 1 ( k m ) k m = 1 2 A m ( J 0 2 ( k m )+ J 1 2 ( k m ) ) A m = 2( T 0 T s ) J 1 ( k m ) ( J 0 2 ( k m )+ J 1 2 ( k m ) ) k m

>> syms x k;
>> int('x*besselj(0,k*x)^2',x,0,1)
ans= besselj(0, k)^2/2 + besselj(1, k)^2/2
>> int('x*besselj(0,k*x)',x,0,1)
ans =besselj(1, k)/k

Cambiando m por n y teniendo en cuenta que kn son las raíces de la ecuación transcendente k·J1(k)=ha·J0(k). Los coeficientes An valen

A n = 2( T 0 T s ) ( k n 2 + h 2 a 2 ) J 0 ( k n )

Solución completa

u(ρ,t)=2( T 0 T s ) n=1 1 ( k n 2 + h 2 a 2 ) J 0 ( k n ) J 0 ( k n ρ a ) exp( k n 2 α a 2 t ) T(ρ,t)=u(ρ,t)+T(ρ,)= T s +2( T 0 T s ) n=1 1 ( k n 2 + h 2 a 2 ) J 0 ( k n ) J 0 ( k n ρ a ) exp( k n 2 α a 2 t )

Ejemplo

Representamos gráficamente la función f(x)=x·J1(x)-ha·J0(x), para estimar aproximadamente donde se encuentran las raíces de la ecuación transcendente f(x)=0.

>> hR=10;
>> f=@(x) x*besselj(1,x)-hR*besselj(0,x);
>> fplot(f,[0,100])
>> xlabel('x')
>> ylabel('f(x)')
>> title('Función f(x)')
>> grid on

Definimos la función temperatura_7 para calcular la distribución de temperaturas a lo largo de de la dirección radial del cilindro en el instante t

function [r,T]=temperatura_7(T0,Ts,R,k,a2,t)
   r=linspace(0,R,100);
   if(t==0)
       T=T0*ones(1,length(r));
       return;
   end
      
   T=Ts*ones(1,length(r));
   for n=1:length(k)
        an=2*(T0-Ts)*besselj(1,k(n))/(k(n)*
(besselj(1,k(n))^2+besselj(0,k(n))^2));
        T=T+an*exp(-k(n)^2*t/(a2*R^2))*besselj(0,(k(n)*r/R));
   end
end

Creamos un script en el que establecemos la temperatura inicial T0, la temperatura ambiente Ts, el radio a de un cilindro muy largo, el material del cual está hecho el cilindro, (parámetro α) y el parámetro ha, cuanto mayor sea su valor, mayor son las pérdidas por radiación de la superficie del cilindro. El script calcula un número elevado de raíces kn de la ecuación transcendente y representa la distribución radial de temperaturas del cilindro en varios instantes.

T0=100; %temperatura inicial
Ts=0; %temperatura ambiente
alfa=11352; %Coeficiente, 1/alfa del aluminio
R=1; % radio del cilindro
hR=10; %pérdidas por radiación

%raíces
x=linspace(0,100,100);
f=@(x) x.*besselj(1,x)-hR*besselj(0,x);
k=raices(f,x);

hold on
axis([0 1 -5 100]);
for t=[50 500 1000 2000]
    [x,T]=temperatura_7(T0,Ts,R,k,alfa,t);
    plot(x,T,'displayName',num2str(t));
end
title('Evolución de la temperatura de un cilindro')
xlabel('r')
ylabel('Temperatura')
legend('-DynamicLegend','location','southwest')
grid on
hold off  

Conducción del calor en un disco

Consideremos ahora, el problema de la coducción del calor en un disco, un cilindro de pequeño espesor en relación con su radio, aislado en sus caras (bases)

La ecuación diferencial en derivadas parciales en coordenadas cilíndricas que describe la conducción del calor en un disco de radio a no depende de la coordenada z

1 α T t = 1 ρ ρ ( ρ T ρ )+ 1 ρ 2 2 T φ 2

Resolvemos la ecuación diferencial en derivadas parciales por el procedimiento de separación de variables. T(ρ, φ, t)=F(ρ, φG(t)

F(ρ,φ) 1 α dG dt =G(t){ 1 ρ ρ ( ρ F ρ )+ 1 ρ 2 2 F φ 2 } 1 G(t) 1 α dG dt = 1 F(ρ,φ) { 1 ρ ρ ( ρ F ρ )+ 1 ρ 2 2 F φ 2 }= ω 2 { dG dt +α ω 2 G=0 1 ρ ρ ( ρ F ρ )+ 1 ρ 2 2 F φ 2 + ω 2 F=0

Integramos la primera ecuación diferencial

G(t)=G(0)·exp(α ω 2 t)

Resolvemos la segunda ecuación diferencial en derivadas parciales por el procedimiento de separación de variables F(ρ, φ)=R(ρΦ(φ)

1 ρ ρ ( ρ F ρ )+ 1 ρ 2 2 F φ 2 + ω 2 F=0 Φ(φ) 1 ρ d dρ ( ρ dR dρ )+R(ρ) 1 ρ 2 d 2 Φ d φ 2 + ω 2 R(ρ)Φ(φ)=0 1 R(ρ) ρ d dρ ( ρ dR dρ )+ ω 2 ρ 2 = 1 Φ(φ) d 2 Φ d φ 2 = k 2 { ρ 2 d 2 R d ρ 2 +ρ dR dρ +( ω 2 ρ 2 k 2 )R=0 d 2 Φ d φ 2 + k 2 Φ=0

Solución Φ(φ)

La solución de la segunda ecuación diferencial es sencilla

Φ(φ)={ Acos(kφ)+Bsin(kφ),k0 a 0 φ+ b 0 ,k=0

Φ(φ)=Φ(φ+2π) tiene que ser una función periódica

Solución R(ρ)

En la primera ecuación diferencial se hace el cambio x=ωρ, y(x)=R(ρ)

x 2 d 2 y d x 2 +x dy dx +( x 2 k 2 )y=0

Se conoce como ecuación de Bessel. La solución de esta ecuación diferencial se escribe

y=A J n (x)+B Y n (x) R(ρ)=A J n (ωρ)+B Y n (ωρ)

Cuando ρ→0, Yn(ωρ)→-∞, para que la solución esté acotada el coeficiente B tiene que ser nulo, B=0. La solución es R(ρ)=AJn(ωρ)

Condición de contorno

La condición de contorno, T(a, φ, t)=0 implica que R(a)=0, por lo que Jn(ωa)=0. En la página titulada Funciones de Bessel se proporciona una tabla de los primeros ceros de las funciones de Bessel J0(x), J1(x) y J2(x).

Denominaremos los ceros de Jn(x)=0, rn,m (m=1,2,3...)

La distribución de temperaturas en el disco de radio a en el instante t es la superposición

T(ρ,φ,t)= n=1,m=1 J n ( r n,m a ρ ) ( A n,m cos(nφ)+ B n,m sin(nφ) )exp( α ( r n,m a ) 2 t )

Distribución inicial de temperaturas

Los coeficientes An,m y Bn,m se calculan a partir de la distribución inicial de temperaturas

T(ρ,φ,0)= n,m J n ( r n,m a ρ ) ( A n,m cos(nφ)+ B n,m sin(nφ) )

utilizando los resultados de las siguientes integrales

0 2π sinφcos(lφ)dφ=0 0 2π cos(nφ)cos(lφ)dφ={ 0,ln π,ln 0 2π sin(nφ)cos(lφ)dφ=0 0 2π sinφsin(lφ)dφ={ 0,l1 π,l=1 0 2π cos(nφ)sin(lφ)dφ=0 0 2π sin(nφ)sin(lφ)dφ={ 0,ln π,ln

MATLAB nos ayuda a resolver algunas de las integrales, otras las podemos resolver rápidamente con lápiz y papel, utilizando las relaciones: cos(a-b)+cos(a+b)=2cosa·cosb, cos(a-b)-cos(a+b)=2sina·sinb

>> syms x m n;
>> assume(n,'integer')
>> assume(m,'integer')
>> int(sin(x)*cos(n*x),x,0,2*pi)
ans =0
>> z=int(sin(m*x)*cos(n*x),x,0,2*pi);
>> simplify(z)
ans =0
>> int(sin(x)*sin(n*x),x,0,2*pi)
ans =piecewise(n == 1, pi, n == -1, -pi, n ~= -1 & n ~= 1, 0)
>> int(cos(m*x)*sin(n*x),x,0,2*pi)
ans =0

100ρsinφ= n=1 { cos(nφ) m=1 A n,m J n ( r n,m a ρ )+sin(nφ) m=1 B n,m J n ( r n,m a ρ ) } 100ρ 0 2π sinφcos(lφ)dφ= 0 2π [ n=1 { cos(nφ) m=1 A n,m J n ( r n,m a ρ )+sin(nφ) m=1 B n,m J n ( r n,m a ρ ) } ]cos(lφ)dφ 100ρ 0 2π sinφcos(lφ)dφ= n=1 { ( m=1 A n,m J n ( r n,m a ρ ) ) 0 2π cos(nφ)cos(lφ)dφ+( m=1 B n,m J n ( r n,m a ρ ) ) 0 2π sin(nφ)cos(lφ)dφ } 0=( m=1 A l,m J l ( r l,m a ρ ) )π 100ρ 0 2π sinφsin(lφ)dφ= 0 2π [ n=1 { cos(nφ) m=1 A n,m J n ( r n,m a ρ )+sin(nφ) m=1 B n,m J n ( r n,m a ρ ) } ]sin(lφ)dφ 100ρ 0 2π sinφsin(lφ)dφ= n=1 { ( m=1 A n,m J n ( r n,m a ρ ) ) 0 2π cos(nφ)sin(lφ)dφ+( m=1 B n,m J n ( r n,m a ρ ) ) 0 2π sin(nφ)sin(lφ)dφ } 100ρ 0 2π sinφsin(lφ)dφ= n=1 { ( m=1 A n,m J n ( r n,m a ρ ) ) 0 2π cos(nφ)sin(lφ)dφ+( m=1 B n,m J n ( r n,m a ρ ) ) 0 2π sin(nφ)sin(lφ)dφ } { 100ρπ= m=1 B 1,m J 1 ( r 1,m a ρ )π,l=1 0= m=1 B l,m J 1 ( r l,m a ρ )π,l>1

Utilizando las relaciones de ortogonalidad de las funciones de Bessel Jn(x) demostramos que los coeficientes An,m=0 y Bn,m=0 si n>1

0= m=1 A l,m J l ( r l,m a ρ ) 0= 0 1 x( m=1 A l,m J l ( r l,m x ) ) J l ( r l,q x )dx= m=1 A l,m 0 1 x J l ( r l,m x ) J l ( r l,q x )dx = A l,q ·z A l,q =0

La integral de la derecha es distinta de cero cuando m=q, el valor de la integral que denominamos z no tiene interés, depende del índice l de la función de Bessel Jl(x)

El mismo argumento se emplea para mostrar que los coeficientes Bl,m=0 con l>1. Los coeficientes B1,m valen

100ρ= m=1 B 1,m J 1 ( r 1,m a ρ ) 100·a 0 1 x 2 J 1 ( r 1,n x ) dx= 0 1 x( m=1 B 1,m J 1 ( r 1,m x ) ) J 1 ( r 1,n x )dx 100·a 0 1 x 2 J 1 ( r 1,n x ) dx= m=1 B 1,m 0 1 x J 1 ( r 1,m x ) J 1 ( r 1,n x )dx 100·a J 2 ( r 1,m ) r 1,m = B 1,m 1 2 J 2 2 ( r 1,m ) B 1,m = 200·a r 1,m 1 J 2 ( r 1,m )

Hemos utilizado la propiedad de las función de Bessel Jn(x)

0 1 x n+1 J n (kx)dx= 1 k J n+1 (a)

La solución final de la ecuación diferencial en derivadas parciales que describe la conducción del calor en un disco es

T(ρ,φ,t)= m=1 J 1 ( r 1,m a ρ ) ( B 1,m sinφ )exp( α ( r 1,m a ) 2 t ) T(ρ,φ,t)=200·a m=1 1 r 1,m J 1 ( r 1,m ρ a ) J 2 ( r 1,m ) sinφ·exp( α ( r 1,m a ) 2 t )

Donde r1,m son los ceros de J1(x)

Definimos la función disco_temperatura_5 para calcular la distribución de temperaturas en cada punto del disco y en el instante t

function T = disco_temperatura_5(r, phi, t, a, k, alfa)
    T=0;
    for n=1:length(k)
        T=T+besselj(1,r*k(n)/a).*sin(phi)*exp(-alfa*k(n)^2*t/a^2)
/(k(n)*besselj(2,k(n)));
    end
    T=T*200*a;
end

Creamos un script que calcula las primeras raíces de la función J1(x). Establece el radio a=1 del disco y el material (aluminio) del que está hecho, o el valor de la constante α. Se fija el instante t y se representa la distribución de temperaturas en dicho instante

x=linspace(0,80,80);
raiz=raices(@(x) besselj(1,x),x); %raíces de J1(x)

t=100; %instante
alfa=1/11352; %aluminio
a=1; %radio del disco
r=0:0.1:a;
phi=0:pi/50:2*pi;
[r,phi]=meshgrid(r,phi);
T=disco_temperatura_5(r, phi, t, a, raiz, alfa); %T(r,phi)
x=r.*cos(phi);
y=r.*sin(phi);
surf(x,y,T)
xlabel('x/a')
ylabel('y/a')
zlabel('T(\rho,\phi)')
title('Temperatura del disco')
view(20,33)

La temperatura del contorno del disco es cero, la temperatura de los puntos del disco va disminuyendo hasta que en el estado estacionario t→∞, la temperatura es cero en todos los puntos del disco

Referencias

Para el último apartado titulado 'Conducción del calor en un disco'

Physics 116C Home Page---Fall 2011, VI. Solutions to Homework Problem Sets and Exams. Problem 2