Group Abstract Group Abstract

Message Boards Message Boards

0
|
4.5K Views
|
2 Replies
|
3 Total Likes
View groups...
Share
Share this post:

Solve heat equation with initial condition?

Posted 6 years ago

Hi, I'm trying to find k through finding the equation T[z,t]. I have a problem w. my initial condition: D[T[0, t], z] == 0

What wrong with my code?

POSTED BY: avioz dagan
2 Replies

By the way, are you sure that your model is correct?

D[T[z, t], z] == 0 /. z -> 0

means there is no flow of heat at the boundary !?

Look at this

fT = TT0 + (Tinfi - TT0) Erfc[x/(2 Sqrt[a t])]

It fulfills the heat-equation

D[fT, t] - a D[fT, x, x] // Simplify

For all t you have Tinfi at x = 0

Limit[fT, x -> 0] /. Sqrt[u_ v_] -> Sqrt[u] Sqrt[v]

Your other condition is matched

Limit[fT, t -> 0, Assumptions -> {x > 0, a > 0}] 

But the derivative is non-zero: there is a flow of heat

D[fT, x] /. x -> 0

A plot looks similar to the result of the numerical Integration

val = {TT0 -> 303, Tinfi -> 373, a -> 10};
p1 = Plot3D[fT /. val, {x, 0, 10}, {t, 0, 50}]
POSTED BY: Hans Dolhaine

You should change your initial condition to

D[T[z, t], z] == 0 /. z -> 0

because T[ 0, t ] does not depend on z. But it seems that DSolve is not able to find a solution. Perhaps it helps to do it numerically?

Clear["Global`*"]
T0 = 303; Tinf = 373; \[Rho] = 2200; Cp = 700; \[Alpha] = 
 k/(\[Rho]*Cp);
pde = D[T[z, t], t] == \[Alpha]*D[T[z, t], {z, 2}];
cond = {D[T[z, t], z] == 0 /. z -> 0, T[z, 0] == T0, 
   T[0, t] == Tinf + (T0 - Tinf) Exp[-30 t]};
k = 2000 700;
sol = NDSolve[{pde, cond}, T, {z, 0, 5}, {t, 0, 10}][[1, 1]]
tt = T /. sol
Plot3D[tt[z, t], {z, 0, 2}, {t, 0, 4}]
POSTED BY: Hans Dolhaine
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard