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;
>