MathGroup Archive 1997

[Date Index] [Thread Index] [Author Index]

Search the Archive

PDE heat diffusion to sphere

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

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
I'v got the solution,
I still need the most economical & elegant way to re-produce & generate it.

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 :

SetCoordinates[Spherical[r, th, fi]]
eqn1=dif Laplacian[f[r,t]] == D[f[r,t],t]

                        (* boundary conditions are a real headache *)

                        (* produces warnings & fat output including constant
C[2] *)

{{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])/

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

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

                        (* going for it ...  *)

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

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

                        (* 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[2]" ?

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

Yes, I realise that it's risky medling like this with insufficient math
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?

take your time for answering this,
I'm gone fishing for three weeks,


Dr. Wouter L. J. MEEUSSEN
eu000949 at
w.meeussen.vdmcc at

  • 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