Lumped Capacitance Model
M.M. Yovanovich
LCM.MWS
_________________________________________
Lumped Capacitance Model.
Analytical and Numerical Solutions.
Derive and obtain the general solution of the
lumped capacitance equation.
This model is appropriate for systems for which the Biot
number is small, i.e.
< 0.2 where
is the uniform heat
transfer coefficient over the active surface area
, and
is the thermal
conductivity of the system and
is some characteristic length of
the system. The thermal conductivity does not appear in the lumped
capacitance model.
The system has volume
, mass density
, specific heat
.
The fluid temperature
is constant, and the temperature
excess
.
The system is subjected to a constant uniform heat flux
over the entire
surface and volumetric heat generation during the cooling process.
A heat balance
where
represents the energy storage within the system can be used to derive the
governing equation
with parameters:
,
, and
. The initial condition is
.
Obtain the relationship for steady-state.
_______________________________________________
> restart:
> HeatBalance:= Q[gen] + Q[i] - Q[loss] = Q[storage];
> Q[gen]:= P*V;
> Q[i]:= q[i]*S;
> Q[loss]:= h*S*theta(t);
> Q[storage]:= rho*c[p]*V*diff(theta(t), t);
> HeatBalance:= HeatBalance;
Put the equation into a simpler more general form by dividing through
by
and introducing the parameters
,
and
.
The units of
are
and the units of
are
.
> eq:= expand(HeatBalance/(rho*c[p]*V));
>
eq_gen:=
subs(q[i] = rho*c[p]*V*n/S, h = rho*c[p]*V*m/S, P = rho*c[p]*p, eq);
> sol:= dsolve(eq_gen, theta(t));
Specify the initial condition.
> ic:= theta(0) = theta[i];
>
_C1:=
solve(simplify(subs(t = 0, rhs(sol)))
= theta[i], _C1);
> sol:= expand(sol);
The relationship for steady-state temperature excess is obtained by setting
, and solving for
.
>
theta[ss]:= expand(solve(Q[gen]+Q[i]-Q[loss]=0, theta(t)));
Alternative relationship for the steady-state temperature excess is
> theta[ss]:= n/m + p/m;
Here we show how Maple can be used to obtain
the general solution directly.
>
restart:
> eq:= diff(theta(t), t) = - m*theta(t) + n + p;
>
sol:=
dsolve({eq, theta(0) = theta[i]}, theta(t));
> theta[ss]:= limit(rhs(sol), t = infinity);
> theta[initial]:= simplify(subs(t = 0, rhs(sol)));
> case1:= (theta[i] = 100, m = 1, n = 2, p = 1);
> sol1:= subs(case1, rhs(sol));
Here we show how Maple can be used to find a
numerical solution for a particular case.
> restart:
> case2:= (theta[i] = 50, m = 2, n = 3, p=1);
> eq:= diff(theta(t), t) = - m*theta(t) + n + p;
> subs(case2, eq);
>
solnum:=
dsolve({%, theta(0) = 50}, theta(t), numeric);
> solnum(0.5);
The result of the solution function call is a list showing floating-point
values for the independent and dependent variables. We can use subs
to extract the theta(t) part.
> subs(solnum(0.5), theta(t));
> evalf(%, 6); #6 digit value of the result.