> restart:#"m11_p59"

Una lámina de aluminio de 1•20•400 mm3 en régimen estacionario, tiene una de las bases de 1•20 mm2 mantenida a 300 ºC, la otra a 100 ºC, y el resto en contacto con aire ambiente a 15 ºC con el que puede suponerse un coeficiente convectivo de 20 W/(m2•K). Se pide:
a) Hacer un esquema del campo de temperaturas esperado.
b) Plantear las ecuaciones que determinan el perfil de temperatura.
c) Ajustar con una función cuadrática el perfil de temperatura, y determinar el valor mínimo.
d) Sabiendo que la solución con un extremo empotrado y el otro libre es =cosh(m(Lx))/cosh(mL), resolver el problema por yuxtaposición de dos soluciones.

Datos:

> read"../therm_eq.m":read"../therm_proc.m":with(therm_proc):

> su:="Aluminio_anodizado":dat:=[L1=0.001*m_,L2=0.02*m_,L=0.4*m_,T0=(300+273.15)*K_,TL=(100+273.15)*K_,Tinf=(15+273.15)*K_,h=20*W_/(m_^2*K_)];

[L1 = `+`(`*`(0.1e-2, `*`(m_))), L2 = `+`(`*`(0.2e-1, `*`(m_))), L = `+`(`*`(.4, `*`(m_))), T0 = `+`(`*`(573.2, `*`(K_))), TL = `+`(`*`(373.2, `*`(K_))), Tinf = `+`(`*`(288.2, `*`(K_))), h = `+`(`/`(`...

Eqs. const.:

> dat:=op(dat),get_sol_data(su),Const,SI2,SI1:

Image

a) Hacer un esquema del campo de temperaturas esperado.

Hecho arriba.


b) Plantear las ecuaciones que determinan el perfil de temperatura.

> deq:=diff(T(x),x,x)-m^2*(T(x)-Tinf)=0;eqm:=m=sqrt(h*p/(k*A));eqCC1:=T(0)=T0;eqCC2:=T(L)=TL;

`+`(diff(diff(T(x), x), x), `-`(`*`(`^`(m, 2), `*`(`+`(T(x), `-`(Tinf)))))) = 0
m = `*`(`^`(`/`(`*`(h, `*`(p)), `*`(k, `*`(A))), `/`(1, 2)))
T(0) = T0
T(L) = TL

Solución:

> sol:=dsolve({deq,eqCC1,eqCC2},T(x)):collect(%,{T0,TL,Tinf});simplify(convert(%,trig)):collect(%,{T0,TL,Tinf});eqm_:=subs(p=2*(L1+L2),A=L1*L2,dat,eqm);sol_:=evalf(subs(eqm_,dat,SI0,sol));plot([15,rhs(sol_)-273],x=0..0.4,T=0..300);Tmin=(minimize(subs(sol_,SI0,rhs(sol_)),x=0..0.4)-273)*ºC;

T(x) = `+`(`*`(`+`(`/`(`*`(exp(`*`(m, `*`(x))), `*`(exp(`+`(`-`(`*`(m, `*`(L))))))), `*`(`+`(exp(`+`(`-`(`*`(m, `*`(L))))), `-`(exp(`*`(m, `*`(L))))))), `-`(`/`(`*`(exp(`+`(`-`(`*`(m, `*`(x))))), `*`(...
T(x) = `+`(`*`(`+`(`/`(`*`(exp(`*`(m, `*`(x))), `*`(exp(`+`(`-`(`*`(m, `*`(L))))))), `*`(`+`(exp(`+`(`-`(`*`(m, `*`(L))))), `-`(exp(`*`(m, `*`(L))))))), `-`(`/`(`*`(exp(`+`(`-`(`*`(m, `*`(x))))), `*`(...
T(x) = `+`(`/`(`*`(`+`(`*`(cosh(`*`(m, `*`(x))), `*`(sinh(`*`(m, `*`(L))))), `-`(`*`(sinh(`*`(m, `*`(x))), `*`(cosh(`*`(m, `*`(L))))))), `*`(T0)), `*`(sinh(`*`(m, `*`(L))))), `/`(`*`(sinh(`*`(m, `*`(x...
T(x) = `+`(`/`(`*`(`+`(`*`(cosh(`*`(m, `*`(x))), `*`(sinh(`*`(m, `*`(L))))), `-`(`*`(sinh(`*`(m, `*`(x))), `*`(cosh(`*`(m, `*`(L))))))), `*`(T0)), `*`(sinh(`*`(m, `*`(L))))), `/`(`*`(sinh(`*`(m, `*`(x...
m = `+`(`*`(3.200, `*`(`^`(20, `/`(1, 2)), `*`(`^`(`/`(1, `*`(`^`(m_, 2))), `/`(1, 2))))))
T(x) = `+`(`*`(.2746, `*`(exp(`+`(`*`(14.31, `*`(x)))))), `*`(284.7, `*`(exp(`+`(`-`(`*`(14.31, `*`(x))))))), 288.2)
Plot_2d
Tmin = `+`(`*`(32.6, `*`(?C)))

c) Ajustar con una función cuadrática el perfil de temperatura, y determinar el valor mínimo.

Además de las dos condiciones de contorno, obligaremos a que se cumpla el balance energético global de la varilla: Qin=Qout.

> Tc:=c0+c1*x+c2*x^2;eq1:=T0=subs(x=0,Tc);eq2:=TL=subs(x=L,Tc);eq3:=Qin=Qout;eq3:=-k*A*Diff('Tc',x)[x=0]+k*A*Diff('Tc',x)[x=L]=Int(h*p*(Tc-Tinf),x=0..L);eq3:=-subs(x=0,A=L1*L2,k*A*diff(Tc,x))+subs(x=L,A=L1*L2,k*A*diff(Tc,x))=int(h*2*(L1+L2)*(Tc-Tinf),x=0..L);solc:=solve({eq1,eq2,eq3},{c0,c1,c2});solc_:=subs(dat,solc);plot([rhs(sol_)-273,subs(solc_,eqm_,SI0,Tc)-273],x=0..0.4);Tcmin=(minimize(subs(solc_,SI0,Tc),x=0..0.4)-273)*ºC;

`+`(c0, `*`(c1, `*`(x)), `*`(c2, `*`(`^`(x, 2))))
T0 = c0
TL = `+`(c0, `*`(c1, `*`(L)), `*`(c2, `*`(`^`(L, 2))))
Qin = Qout
`+`(`-`(`*`(k, `*`(A, `*`((Diff(Tc, x))[x = 0])))), `*`(k, `*`(A, `*`((Diff(Tc, x))[x = L])))) = Int(`*`(h, `*`(p, `*`(`+`(c0, `*`(c1, `*`(x)), `*`(c2, `*`(`^`(x, 2))), `-`(Tinf))))), x = 0 .. L)
`+`(`-`(`*`(k, `*`(L1, `*`(L2, `*`(c1))))), `*`(k, `*`(L1, `*`(L2, `*`(`+`(c1, `*`(2, `*`(c2, `*`(L))))))))) = `+`(`*`(`/`(2, 3), `*`(h, `*`(`+`(L1, L2), `*`(c2, `*`(`^`(L, 3)))))), `*`(h, `*`(`+`(L1,...
{c0 = T0, c1 = `+`(`-`(`/`(`*`(2, `*`(`+`(`-`(`*`(3, `*`(TL, `*`(k, `*`(L1, `*`(L2)))))), `*`(TL, `*`(h, `*`(`^`(L, 2), `*`(L1)))), `*`(TL, `*`(h, `*`(`^`(L, 2), `*`(L2)))), `*`(3, `*`(T0, `*`(k, `*`(...
{c0 = T0, c1 = `+`(`-`(`/`(`*`(2, `*`(`+`(`-`(`*`(3, `*`(TL, `*`(k, `*`(L1, `*`(L2)))))), `*`(TL, `*`(h, `*`(`^`(L, 2), `*`(L1)))), `*`(TL, `*`(h, `*`(`^`(L, 2), `*`(L2)))), `*`(3, `*`(T0, `*`(k, `*`(...
{c0 = T0, c1 = `+`(`-`(`/`(`*`(2, `*`(`+`(`-`(`*`(3, `*`(TL, `*`(k, `*`(L1, `*`(L2)))))), `*`(TL, `*`(h, `*`(`^`(L, 2), `*`(L1)))), `*`(TL, `*`(h, `*`(`^`(L, 2), `*`(L2)))), `*`(3, `*`(T0, `*`(k, `*`(...
{c0 = `+`(`*`(573.2, `*`(K_))), c1 = `+`(`-`(`/`(`*`(2532., `*`(K_)), `*`(m_)))), c2 = `+`(`/`(`*`(5083., `*`(K_)), `*`(`^`(m_, 2))))}
Plot_2d
Tcmin = `+`(`-`(`*`(15.3, `*`(?C))))

Este ajuste no es aceptable porque daría una emperatura mínima inferior a la mínima del contorno (257<288). Probaremos con otro ajuste para el 3er coeficiente: que se verifique la equación del calor en el punto medio x=L/2.

> Tn:=c0+c1*x+c2*x^2;eq1:=T0=subs(x=0,Tn);eq2:=TL=subs(x=L,Tn);eq3:=subs(x=L/2,diff(Tn,x,x)-m^2*(Tn-Tinf));soln:=solve({eq1,eq2,eq3},{c0,c1,c2});soln_:=subs(eqm_,dat,soln);plot([rhs(sol_)-273,subs(soln_,SI0,Tn)-273],x=0..0.4);Tnmin=(minimize(subs(soln_,SI0,Tn),x=0..0.4)-273)*ºC;

`+`(c0, `*`(c1, `*`(x)), `*`(c2, `*`(`^`(x, 2))))
T0 = c0
TL = `+`(c0, `*`(c1, `*`(L)), `*`(c2, `*`(`^`(L, 2))))
`+`(`*`(2, `*`(c2)), `-`(`*`(`^`(m, 2), `*`(`+`(c0, `*`(`/`(1, 2), `*`(c1, `*`(L))), `*`(`/`(1, 4), `*`(c2, `*`(`^`(L, 2)))), `-`(Tinf))))))
{c0 = T0, c1 = `+`(`-`(`/`(`*`(`+`(`-`(`*`(8, `*`(TL))), `*`(TL, `*`(`^`(m, 2), `*`(`^`(L, 2)))), `*`(8, `*`(T0)), `*`(3, `*`(T0, `*`(`^`(m, 2), `*`(`^`(L, 2))))), `-`(`*`(4, `*`(`^`(m, 2), `*`(`^`(L,...
{c0 = `+`(`*`(573.2, `*`(K_))), c1 = `+`(`-`(`/`(`*`(1986., `*`(K_)), `*`(m_)))), c2 = `+`(`/`(`*`(3718., `*`(K_)), `*`(`^`(m_, 2))))}
Plot_2d
Tnmin = `+`(`*`(34.8, `*`(?C)))

i.e. la solución parece buena. Si no dispusiéramos de la solución exacta, podríamos compararla con un ajuste de más términos, e.g. 'colocando' la equación en x=0,L/3,2L/3,L:

> Tb:=c0+c1*x+c2*x^2+c3*x^3+c4*x^4+c5*x^5;eq1:=T0=subs(x=0,Tb);eq2:=TL=subs(x=L,Tb);eqC:=Diff('Tb',x,x)-m^2*('Tb'-Tinf)=0;eq3:=subs(x=0,value(eqC));eq4:=subs(x=L/3,value(eqC));eq5:=subs(x=2*L/3,value(eqC));eq6:=subs(x=L,value(eqC));solb_:=fsolve(subs(eqm_,dat,SI0,{eq1,eq2,eq3,eq4,eq5,eq6}),{c0,c1,c2,c3,c4,c5});plot([rhs(sol_)-273,subs(solb_,eqm_,SI0,Tb)-273],x=0..0.4);plot([diff(rhs(sol_),x,x),diff(subs(solb_,eqm_,SI0,Tb),x,x)],x=0..0.4);xTmin_:=fsolve(diff(subs(solb_,SI0,Tb),x)=0,x=0..0.4);Tmin_:=subs(x=xTmin_,solb_,SI0,Tb)*K_;Tbmin_=TKC(%);

`+`(c0, `*`(c1, `*`(x)), `*`(c2, `*`(`^`(x, 2))), `*`(c3, `*`(`^`(x, 3))), `*`(c4, `*`(`^`(x, 4))), `*`(c5, `*`(`^`(x, 5))))
T0 = c0
TL = `+`(c0, `*`(c1, `*`(L)), `*`(c2, `*`(`^`(L, 2))), `*`(c3, `*`(`^`(L, 3))), `*`(c4, `*`(`^`(L, 4))), `*`(c5, `*`(`^`(L, 5))))
`+`(Diff(Tb, x, x), `-`(`*`(`^`(m, 2), `*`(`+`(Tb, `-`(Tinf)))))) = 0
`+`(`*`(2, `*`(c2)), `-`(`*`(`^`(m, 2), `*`(`+`(c0, `-`(Tinf)))))) = 0
`+`(`*`(2, `*`(c2)), `*`(2, `*`(c3, `*`(L))), `*`(`/`(4, 3), `*`(c4, `*`(`^`(L, 2)))), `*`(`/`(20, 27), `*`(c5, `*`(`^`(L, 3)))), `-`(`*`(`^`(m, 2), `*`(`+`(c0, `*`(`/`(1, 3), `*`(c1, `*`(L))), `*`(`/...
`+`(`*`(2, `*`(c2)), `*`(4, `*`(c3, `*`(L))), `*`(`/`(16, 3), `*`(c4, `*`(`^`(L, 2)))), `*`(`/`(160, 27), `*`(c5, `*`(`^`(L, 3)))), `-`(`*`(`^`(m, 2), `*`(`+`(c0, `*`(`/`(2, 3), `*`(c1, `*`(L))), `*`(...
`+`(`*`(2, `*`(c2)), `*`(6, `*`(c3, `*`(L))), `*`(12, `*`(c4, `*`(`^`(L, 2)))), `*`(20, `*`(c5, `*`(`^`(L, 3)))), `-`(`*`(`^`(m, 2), `*`(`+`(c0, `*`(c1, `*`(L)), `*`(c2, `*`(`^`(L, 2))), `*`(c3, `*`(`...
{c0 = 573.2, c1 = -4292., c2 = 0.2919e5, c3 = -0.1014e6, c4 = 0.1677e6, c5 = -0.9346e5}
Plot_2d
Plot_2d
.2663
`+`(`*`(304.3, `*`(K_)))
Tbmin_ = `+`(`*`(31.1, `*`(?C)))

luego, la aproximaciíon cuadrática anterior parece aceptable. Véanse las comparaciones con la solución exacta, así como el residuo de la ecuación del calor eneste último caso, para comprobar que se ha anulado en x=0,L/3,2L/3,L.

Hay que llevar cuidado con la elección de los puntos de ajuste, pues, si se hubiera ajustado sólo en los extremos, el resultado sería desastroso, como se ve a continuación:

> Tb:=c0+c1*x+c2*x^2+c3*x^3;eq1:=T0=subs(x=0,Tb);eq2:=TL=subs(x=L,Tb);eqC:=Diff('Tb',x,x)-m^2*('Tb'-Tinf)=0;eq3:=subs(x=0,value(eqC));eq4:=subs(x=L,value(eqC));solb_:=fsolve(subs(eqm_,dat,SI0,{eq1,eq2,eq3,eq4}),{c0,c1,c2,c3});plot([rhs(sol_)-273,subs(solb_,eqm_,SI0,Tb)-273],x=0..0.4);plot([diff(rhs(sol_),x,x),diff(subs(solb_,eqm_,SI0,Tb),x,x)],x=0..0.4);Tbmin=(minimize(subs(solb_,SI0,Tb),x=0..0.4)-273)*ºC;

`+`(c0, `*`(c1, `*`(x)), `*`(c2, `*`(`^`(x, 2))), `*`(c3, `*`(`^`(x, 3))))
T0 = c0
TL = `+`(c0, `*`(c1, `*`(L)), `*`(c2, `*`(`^`(L, 2))), `*`(c3, `*`(`^`(L, 3))))
`+`(Diff(Tb, x, x), `-`(`*`(`^`(m, 2), `*`(`+`(Tb, `-`(Tinf)))))) = 0
`+`(`*`(2, `*`(c2)), `-`(`*`(`^`(m, 2), `*`(`+`(c0, `-`(Tinf)))))) = 0
`+`(`*`(2, `*`(c2)), `*`(6, `*`(c3, `*`(L))), `-`(`*`(`^`(m, 2), `*`(`+`(c0, `*`(c1, `*`(L)), `*`(c2, `*`(`^`(L, 2))), `*`(c3, `*`(`^`(L, 3))), `-`(Tinf)))))) = 0
{c0 = 573.2, c1 = -9463., c2 = 0.2919e5, c3 = -0.1695e5}
Plot_2d
Plot_2d
Tbmin = `+`(`-`(`*`(562.3, `*`(?C))))

imposible, como se había anunciado.

d) Sabiendo que la solución con un extremo empotrado y el otro libre es =cosh(m(Lx))/cosh(mL), resolver el problema por yuxtaposición de dos soluciones.

Sea xm la posición del mínimo, de valor Tmin. Haciendo que ajuste por los dos lados:

> eq11_15;eq:=T=Tinf+(T0-Tinf)*cosh(m*(L-x))/cosh(m*L);sol1:=subs(T=T1,L=xm,%);sol1_xm:=eval(subs(x=xm,%)):sol1_xm_:=evalf(subs(T1=Tmin,eqm_,dat,SI0,%)):sol2:=T2=Tinf+(TL-Tinf)*cosh(m*(L-xm-x))/cosh(m*(L-xm));sol2_xm:=eval(subs(x=L-xm,%)):sol2_xm_:=evalf(subs(T2=Tmin,eqm_,dat,SI0,%)):eqmatch:=rhs(sol1_xm_)=rhs(sol2_xm_);xm_:=fsolve(rhs(sol1_xm_)=rhs(sol2_xm_),xm=0..0.4);Tmin_:=(evalf(subs(xm=xm_,rhs(sol1_xm_)))-273)*ºC;plot([rhs(sol_)-273,subs(xm=xm_,eqm_,dat,SI0,rhs(sol1))-273,15],x=0..0.4,T=0..300,color=black);

`/`(`*`(`+`(T(x), `-`(T[infinity]))), `*`(`+`(T[0], `-`(T[infinity])))) = `/`(`*`(cosh(`*`(m, `*`(`+`(L, `-`(x)))))), `*`(cosh(`*`(m, `*`(L)))))
T = `+`(Tinf, `/`(`*`(`+`(T0, `-`(Tinf)), `*`(cosh(`*`(m, `*`(`+`(L, `-`(x))))))), `*`(cosh(`*`(m, `*`(L))))))
T1 = `+`(Tinf, `/`(`*`(`+`(T0, `-`(Tinf)), `*`(cosh(`*`(m, `*`(`+`(xm, `-`(x))))))), `*`(cosh(`*`(m, `*`(xm))))))
T2 = `+`(Tinf, `/`(`*`(`+`(TL, `-`(Tinf)), `*`(cosh(`*`(m, `*`(`+`(L, `-`(xm), `-`(x))))))), `*`(cosh(`*`(m, `*`(`+`(L, `-`(xm))))))))
`+`(288.2, `/`(`*`(285.0), `*`(cosh(`+`(`*`(14.31, `*`(xm))))))) = `+`(288.2, `/`(`*`(85.0), `*`(cosh(`+`(`-`(5.725), `*`(14.31, `*`(xm)))))))
.2427
`+`(`*`(32.9, `*`(?C)))
Plot_2d

Perfecto (nótese que basta con una función, pues es la misma por un lado que por el otro.

>