Transient Conduction in Long Cylinders

M.M. Yovanovich

CYLDF1.MWS

Transient conduction in long solid circular cylinders.

The governing differential equation is [Maple Math] for all time [Maple Math] in the interval from [Maple Math] to [Maple Math] . The initial condition is [Maple Math] and the boundary conditions are [Maple Math] and [Maple Math] where [Maple Math] is the instantaneous local temperature excess. The input parameters are [Maple Math] , [Maple Math] and [Maple Math] . The output parameters are the dimensionless temperature excess [Maple Math] and the heat loss fraction [Maple Math] where [Maple Math] is the initial internal energy of the cylinder. The volume of the cylinder is [Maple Math] where [Maple Math] is the cylinder length.

The maximum number of terms in the series should be set to a small number such as [Maple Math] . For very small dimensionless times, it may be necessary to increase the maximum number of terms to achieve three or four significant digits.

> restart:

> Nmax:= 3:

> cylinder:= (Bi = 1.5, Fo = .5, zeta = 0.6);

[Maple Math]

> ce:= x*BesselJ(1,x) - Bi*BesselJ(0,x) = 0:

> A:= 2*BesselJ(1,x)/(x*(BesselJ(0,x)^2 + BesselJ(1,x)^2)):

> B:= A*BesselJ(1,x)/x:

> phi:= A*exp(-x^2*Fo)*BesselJ(0, x*zeta):

> Q_Qi:= B*exp(-x^2*Fo):

Calculations.

> xvals:= [seq(fsolve(subs(cylinder, ce), x = (j - 1)*Pi..j*Pi), j = 1..Nmax)]:

> As:= evalf([seq(subs(x = xvals[j], A), j = 1..Nmax)]):

> Bs:= evalf([seq(subs(x = xvals[j], B), j = 1..Nmax)]):

> phis:= [evalf(seq(subs(cylinder, x = xvals[j], phi), j = 1..Nmax))]:

> Q_Qis:= [evalf(seq(subs(cylinder, x = xvals[j], Q_Qi), j = 1..Nmax))]:

> cylinder_temp:= evalf(add(phis[j], j = 1..Nmax), 6):

> cylinder_heat_loss:= evalf(1 - add(Q_Qis[j], j = 1..Nmax), 6):

Summary of input and output parameters.

> Nmax:= Nmax; cylinder; phi_cyl:= cylinder_temp; Q_Qi_cyl:= cylinder_heat_loss;

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

>