Transient Conduction in Long Cylinders
M.M. Yovanovich
CYLDF1.MWS
Transient conduction in long solid circular cylinders.
The governing differential equation is for all time in the interval from to . The initial condition is and the boundary conditions are and where is the instantaneous local temperature excess. The input parameters are , and . The output parameters are the dimensionless temperature excess and the heat loss fraction where is the initial internal energy of the cylinder. The volume of the cylinder is where is the cylinder length.
The maximum number of terms in the series should be set to a small number such as . 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);
> 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;
>