       PDE heat diffusion to sphere

• To: mathgroup at smc.vnet.net
• Subject: [mg7735] PDE heat diffusion to sphere
• From: "w.meeussen" <meeussen.vdmcc at vandemoortele.be>
• Date: Thu, 3 Jul 1997 01:28:43 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```before I go off on vacation, a query for suggentions on how to clean up my
Mma 3.0 syntax for a problem that "just by the skin of the teeth" works out
right.
I'v got the solution,
I still need the most economical & elegant way to re-produce & generate it.
****************************************************************************
*************
Problem:

Unsteady state heat conduction from a infinite bulk towards a sphere.
Boundary conditions:
Temperature T at infty is 0; T on sphere (radius b) is 1 at all times (t):
****************************************************************************
*************
the un-elegant way :

<<Calculus`VectorAnalysis`
SetCoordinates[Spherical[r, th, fi]]
eqn1=dif Laplacian[f[r,t]] == D[f[r,t],t]

<<Calculus`LaplaceTransform`
LaplaceTransform[f[r_,t_],t_,s_]:=U[s][r]
eqn2=LaplaceTransform[eqn1,t,s]
bound={U[s][d]==1/s,U[s][\[Infinity]]==0}
(* boundary conditions are a real headache *)
it=Join[{eqn2/.f[r,0]->0},bound]

DSolve[it,U[s][r],r]
(* produces warnings & fat output including constant
C *)

{{U[s][r] -> (2*d*E^(d*Sqrt[s/dif]) -
(E^(2*d*Sqrt[s/dif]) - E^(2*r*Sqrt[s/dif]))*Sqrt[s/dif]*C)/
(2*E^(r*Sqrt[s/dif])*r*s)}}

(* hoping for the best : put C to zero and touch
wood  *)

%/.C->0
{{U[s][r] -> (d*dif*E^(d*Sqrt[s/dif] - r*Sqrt[s/dif] - Log[dif*r]))/s}}

(* going for it ...  *)
InverseLaplaceTransform[%,s,t,Assumptions->{Re[(d-r)^2/dif]>0,t>0}]

(* this produces something good, packed in FAT If[
.. ]'s *)
(* extracting the good part :  *)

d*dif*
(dif^((3*-1)/2)*(d - r)*(d - r)^((2*-1)/2)*(-1 + Erf[(d - r)^(2/2)/
(Sqrt[dif]*2*Sqrt[t])]))/(1/Sqrt[dif])/r

(* massaging produces a good solution:  *)

f[r_,t_]:=1-((d*Erfc[-(d - r)/(2*Sqrt[dif]*Sqrt[t])])/r)

check it by letting the PDE "eqn1" loose on it :

eqn1//Simplify  gives "True".

The limit for t->infty looks like it should:

Limit[f[r,t],t->\[Infinity]]  gives:      1-d/r

conclusion: f[r,t] is a viable solution to the physics problem.
****************************************************************************
********
Mma 3.0 problems: the InverseLaplaceTransform eats up more than my 32 Mbyte
RAM if I don't break up the problem by calculating & saving intermediates,
then restarting Mma from there.

Although I use Assumptions->{Re[(d-r)^2/dif]>0,t>0}
the output still contains an If[..]  like:

If[t > 0 && Re[(d - r)^2/dif] > 0 &&
Re[-(d^2/(4*dif)) + (d*r)/(2*dif) - r^2/(4*dif)] < 0, ...

which seems un-logical (?)

How should I define boundary conditions for something "un-physical" like U[x][r]
in order to avoid getting a solution containing "C" ?

Anyone with an idea what the InverseLaplaceTransform of the "entire"
solution would look like (not "arbitrarily" setting C->0)?

Yes, I realise that it's risky medling like this with insufficient math
background,
I promis a will by a book one of these days.
If it weren't for the checks using the PDE "eqn1" and
Limit[f[r,t],t->infty], I wouldn't trust it. But how should it be done right?

I'm gone fishing for three weeks,

wouter.

Dr. Wouter L. J. MEEUSSEN
eu000949 at pophost.eunet.be
w.meeussen.vdmcc at vandemoortele.be

```

• Prev by Date: Re: Mma 3.0 Font Problems on Notebook
• Next by Date: Re: LIstIntegrate
• Previous by thread: spaces between cells
• Next by thread: WMF export