Conducción del calor en una varilla no homogénea
La parte izquierda de la varilla tiene una longitud d, está hecha de un material de calor específico c1, densidad ρ1 y conductividad térmica K1
La parte derecha de la varilla tiene una longitud L-d, está hecha de un material de calor específico c2, densidad ρ2 y conductividad térmica K2
Estudiaremos una situación en la que los extremos de la varilla se mantienen a temperatura constante T(0,t)=T0 y T(L, t)=TL.
La temperatura inicial de la varilla es T(x ,0)
En un instante t, la distribución de temperaturas en la parte izquierda es T1(x, t) y en la parte derecha, T2(x, t). Soluciones de las ecuaciones diferenciales en derivadas parciales
Con las condiciones iniciales y de controno especificadas. En la posición d de contacto de los dos tramos se ha de cumplir
La función T(x,t) es continua y el flujo de calor a través de la sección de la varilla en la posición de contacto d, a uno y otro lado, es el mismo
Una situación similar la encontramos en la propagación de ondas en una cuerda no homogénea
Estado estacionario
El estado estacionario está caracterizado por una temperatura no uniforme en la varilla
Como en una varilla con temperaturas fijas en los extremos, la temperatura varía linealmente entre T0 y Td en la parte izquierda y entre Td y TL en la parte derecha. La ecuación de las rectas es
T1(x,∞)=m1x+b1, parte izquierda
T2(x,∞)=m2x+b2, parte derecha
Calculamos la temperatura Td en la posición de contacto, d, mediante la relación
Ejemplo
Sea la varilla
- Tramo izquierdo, el material tiene las siguientes caraterísticas: densidad ρ1=1, calor específico, c1=1, conductividad térmica, K1=1
- Tramo derecho, el material tiene las siguientes caraterísticas: densidad ρ2=2, calor específico, c2=2, conductividad térmica, K2=2
- La longitud de la varilla es L=1, la del tramo izquierdo es d=L/3
- La temperatura en los extremos es T0=10 y TL=0
k1=1; %conductividad térmica c1=1; %calor específico r1=1; %densidad k2=2; c2=2; r2=2; T0=10; %temperatura, extremo izquierdo TL=0; %extremo derecho L=1; %longitud varilla d=L/3; %tramo izquierdo %temperatura en la posición de contacto T_d=(TL/(L-d)+k1*T0/(d*k2))/(k1/(k2*d)+1/(L-d)); m1=(T_d-T0)/d; %pendiente b1=T0; %ordenada en el origen m2=(TL-T_d)/(L-d); b2=(T_d*L-TL*d)/(L-d); line([0,d],[T0,T_d]) line([d,L],[T_d,TL]) line([d,d],[0,T_d],'lineStyle','--','color','k') xlabel('x') ylabel('T') grid on title('Estado estacionario')
Solución de la ecuación de la conducción del calor
Definimos las funciones: u1(x,t)=T1(x,t)-T1(x,∞) y u2(x,t)=T2(x,t)-T2(x,∞). En términos de estas nuevas funciones, las ecuaciones de la conducción del calor se esciben,
Condiciones iniciales
Condiciones de contorno
Posición d de contacto
Variables separadas
Buscamos una solución de la forma u(x,t)=F(x)·G(t), variables separadas
Integramos la primera ecuación diferencial
Integramos la segunda ecuación diferencial
Las soluciones de la segunda, para cada una de las tramos de la varilla, son
La condición de contorno en el extremo izquierdo, x=0, u(0,t)=0, F1(0)=0, lo que implica que, B1=0
La condición de contorno en el extremo derecho, x=L, u(L, t)=0, F2(L)=0, lo que implica que,
En la posición d de contacto, se cumplirá que
Tenemos un sistema homogéneo de tres ecuaciones con tres incógnitas A1 ,A2 y B2. Despejamos A2 y B2 en función de A1
Las funciones F1(x) y F2(x) se expresan
Además, obtenemos una ecuación transcendente (el determinante de los coeficientes del sistema homogéneo ha de ser nulo)
Representamos la función f(ω)
k1=1; %conductividad térmica c1=1; %calor específico r1=1; %densidad k2=2; c2=2; r2=2; T0=10; %temperatura, extremo izquierdo TL=0; %extremo derecho L=1; %longitud varilla d=L/3; %tramo izquierdo a1=sqrt(c1*r1/k1); a2=sqrt(c2*r2/k2); %f=@(w) cos(a1*w*d).*sin(a2*w*(L-d))+(k2*a2/(k1*a1))*cos(a2*w*(L-d)). *sin(a1*w*d); f=@(x) cot(a1*x*d)+(k2*a2/(k1*a1))*cot(a2*x*(L-d)); fplot(f,[0,20]) ylim([-10,10]) xlabel('\omega') ylabel('f(\omega)') grid on title('Raíces de la ecuación transcendente')
Para calcular las raíces, es más conveniente expresar esta ecuación de la forma
La primera raíz es ω=0
Utilizamos la función
... w=linspace(0,20,20); f=@(w) cos(a1*w*d).*sin(a2*w*(L-d))+(k2*a2/(k1*a1))*cos(a2*w*(L-d)). *sin(a1*w*d); raiz=raices(f,w); ...
>> raiz raiz = 2.0901 4.9664 7.7754 9.7136 11.9808 14.8978 17.6080 19.4447
La representación gráfica nos ayuda a establecer el paso de exploración de la función y el intervalo o el número de raíces que deseamos obtener. Es conveniente, comprobar que las raíces obtenidas numéricamente se corresponden con los ceros de la función f(ω)
Solución completa
La solución completa u(x,t) es la superposición de los productos de las funciones Fn(x)·Gn(x) para cada ωn
La primera raíz ω=0 no contribuye a la suma
De forma abreviada expresamos la superposición
Relación de ortogonalidad
Se puede demostar que
Evaluamos esta relación, utilizando procedimientos numéricos
k1=1; %conductividad térmica c1=1; %calor específico r1=1; %densidad k2=2; c2=2; r2=2; T0=10; %temperatura, extremo izquierdo TL=0; %extremo derecho L=1; %longitud varilla d=L/3; %tramo izquierdo a1=sqrt(c1*r1/k1); a2=sqrt(c2*r2/k2); w=linspace(0,20,20); f=@(w) cos(a1*w*d).*sin(a2*w*(L-d))+(k2*a2/(k1*a1))*cos(a2*w*(L-d)). *sin(a1*w*d); raiz=raices(f,w); w1=raiz(4); w2=raiz(5); X1_1=@(x) sin(a1*w1*x); X1_2=@(x) sin(a1*w2*x); X2_1=@(x) sin(a1*w1*d)*sin(a2*w1*(L-x))/sin(a2*w1*(L-d)); X2_2=@(x) sin(a1*w2*d)*sin(a2*w2*(L-x))/sin(a2*w2*(L-d)); Z1=@(x) X1_1(x).*X1_2(x); Z2=@(x) X2_1(x).*X2_2(x); res=c1*r1*integral(Z1,0,d)+c2*r2*integral(Z2,d,L); disp(res)
1.4710e-15
Coeficientes An
Los coeficientes An se calculan a partir de las distribución inicial de temperatura u(x,0)
Multiplicamos la primera ecuación por X1m y la segunda por X2m e integramos entre 0 y d, la primera y entre d y L, la segunda
Sumamos
Los coeficientes An se pueden calcular de forma analítica, basta resolver integrales por partes, pero es muy tedioso. Por lo que utilizaremos procedimientos numéricos.
Una vez calculados los coeficientes An, se ha completado la función u(x, t). Ahora queda la temperatura de la varilla, T(x, t)=u(x, t)+T(x, ∞)
Dado que la exponencial disminuye rápidamente con el tiempo y por otra parte, los valores de las raíces ωn se hacen grandes, basta sumar unos pocos términos a la serie para obtener buenos resultados.
k1=1; %conductividad térmica c1=1; %calor específico r1=1; %densidad k2=2; c2=2; r2=2; T0=10; %temperatura, extremo izquierdo TL=0; %extremo derecho Tini=0; %temperatura inicial L=1; %longitud varilla d=L/3; %tramo izquierdo a1=sqrt(c1*r1/k1); a2=sqrt(c2*r2/k2); %estado estacionario T_d=(TL/(L-d)+k1*T0/(d*k2))/(k1/(k2*d)+1/(L-d)); m1=(T_d-T0)/d; b1=T0; m2=(TL-T_d)/(L-d); b2=(T_d*L-TL*d)/(L-d); %raíces wn w=linspace(0,40,40); f=@(w) cos(a1*w*d).*sin(a2*w*(L-d))+(k2*a2/(k1*a1))*cos(a2*w*(L-d)).* sin(a1*w*d); raiz=raices(f,w); %amplitudes An A=zeros(1,length(raiz)); for n=1:length(raiz) w=raiz(n); X1=@(x) sin(a1*w*x); X2=@(x) sin(a1*w*d)*sin(a2*w*(L-x))/sin(a2*w*(L-d)); Z1=@(x) X1(x).^2; Z2=@(x) X2(x).^2; norm=integral(Z1,0,d)+(r2*c2/(r1*c1))*integral(Z2,d,L); Y1=@(x) X1(x).*(Tini-m1*x-b1); Y2=@(x) X2(x).*(Tini-m2*x-b2); A(n)=(integral(Y1,0,d)+(r2*c2/(r1*c1))*integral(Y2,d,L))/norm; end hold on x1=linspace(0,d,50); x2=linspace(d,L,100); for t=[0,0.05,0.5,1] u1=zeros(1,length(x1)); u2=zeros(1,length(x2)); for n=1:length(raiz) w=raiz(n); u1=u1+A(n)*sin(a1*w*x1)*exp(-w^2*t); u2=u2+A(n)*sin(a1*w*d)*sin(a2*w*(L-x2))*exp(-w^2*t)/sin(a2*w*(L-d)); end T=[u1+m1*x1+b1,u2+m2*x2+b2]; x=[x1,x2]; plot(x,T, 'displayName',num2str(t)) end hold off xlabel('x') ylabel('T') grid on legend('-DynamicLegend','location','best') title('Conducción del calor, dos barras')
La distribución inicial de temperatura T(x,0)=0 en el instante t=0, requiere de muchos sumandos para que aparezca casi horizontal y luego, vertical, T(0, t)=T0=10. Véase, desarrollo en serie de Fourier
Observamos que en el instante t=1, se ha alcanzado aproximadamente el estado estacionario
Consideremos ahora, una situación más realista que utiliza para la varilla dos sustancias, acero y aluminio que difieren en su conductividad térmica
- Tramo izquierdo, hecho de aluminio, tiene las siguientes caraterísticas: densidad ρ1=2700, calor específico, c1=880, conductividad térmica, K1=209.3
- Tramo derecho, hecho de acero, tiene las siguientes caraterísticas: densidad ρ2=7800, calor específico, c2=460, conductividad térmica, K2=45. Todas las magnitudes en unidades S.I.
- La longitud de la varilla es L=1, la del tramo izquierdo es d=L/3
- La temperatura en los extremos es T0=100 y TL=0
En primer lugar, representamos la función f(ω), para hacernos una idea de los valores de las raíces ωn
k1=209.3; %aluminio c1=880; r1=2700; k2=45; %acero c2=460; r2=7800; a1=sqrt(c1*r1/k1); a2=sqrt(c2*r2/k2); L=1; %longitud de la varilla d=L/3; %posición de contacto f=@(w) cos(a1*w*d).*sin(a2*w*(L-d))+(k2*a2/(k1*a1))*cos(a2*w*(L-d)).* sin(a1*w*d); w=linspace(0,0.2,50); raiz=raices(f,w); %calcula las raíces fplot(f,[0,0.2]) xlabel('\omega') ylabel('f(\omega)') grid on title('Raíces de la ecuación transcendente')
raiz = 0.0150 0.0293 0.0423 0.0551 0.0691 0.0839 0.0990 0.1136 0.1270 0.1396 0.1532 0.1679 0.1829 0.1977
Comprobamos que las raíces calculadas (14) se corresponden con los ceros de la función f(ω) en el intervalo seleccionado (0, 0.2).
Completamos el programa para representar la distribución de temperaturas en los instantes t: 50, 500, 1000, 10000 s. Las líneas a trazos corresponden al estado estacionario. La parte derecha de la varilla, está hecha de acero y la parte izquierda, de aluminio de conductividad térmica K mucho mayor
k1=209.3; %aluminio c1=880; r1=2700; k2=45; %acero c2=460; r2=7800; a1=sqrt(c1*r1/k1); a2=sqrt(c2*r2/k2); T0=100; %temperaturas en los extremos TL=0; Tini=0; %temperatura inicial L=1; %longitud varilla d=L/3; %posición contacto %estado estacionario T_d=(TL/(L-d)+k1*T0/(d*k2))/(k1/(k2*d)+1/(L-d)); m1=(T_d-T0)/d; b1=T0; m2=(TL-T_d)/(L-d); b2=(T_d*L-TL*d)/(L-d); %raíces wn w=linspace(0,0.2,50); f=@(w) cos(a1*w*d).*sin(a2*w*(L-d))+(k2*a2/(k1*a1))*cos(a2*w*(L-d)). *sin(a1*w*d); raiz=raices(f,w); %amplitudes An A=zeros(1,length(raiz)); for n=1:length(raiz) w=raiz(n); X1=@(x) sin(a1*w*x); X2=@(x) sin(a1*w*d)*sin(a2*w*(L-x))/sin(a2*w*(L-d)); Z1=@(x) X1(x).^2; Z2=@(x) X2(x).^2; norm=integral(Z1,0,d)+(r2*c2/(r1*c1))*integral(Z2,d,L); Y1=@(x) X1(x).*(Tini-m1*x-b1); Y2=@(x) X2(x).*(Tini-m2*x-b2); A(n)=(integral(Y1,0,d)+(r2*c2/(r1*c1))*integral(Y2,d,L))/norm; end hold on %estado estacionario line([0,d],[T0,T_d], 'lineStyle','--','color','k') line([d,L],[T_d,TL],'lineStyle','--','color','k') line([d,d],[-20,T_d],'lineStyle','--','color','k') x1=linspace(0,d,50); x2=linspace(d,L,100); %estado transitorio for t=[50,500,1000, 10000] u1=zeros(1,length(x1)); u2=zeros(1,length(x2)); for n=1:length(raiz) w=raiz(n); u1=u1+A(n)*sin(a1*w*x1)*exp(-w^2*t); u2=u2+A(n)*sin(a1*w*d)*sin(a2*w*(L-x2))*exp(-w^2*t)/sin(a2*w*(L-d)); end T=[u1+m1*x1+b1,u2+m2*x2+b2]; x=[x1,x2]; plot(x,T) end hold off xlabel('x') ylabel('T') grid on title('Conducción del calor, dos barras')
Referencias
M. M. Smirnov. problemas de ecuaciones de la física matemática. Editorial Mir Moscú. 1976. Problema 161, enunciado, pág. 49, solución, págs. 131-132