Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

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

Search the Archive

Re: Numerical solution of the heat equation on a disk

  • To: mathgroup at smc.vnet.net
  • Subject: [mg113636] Re: Numerical solution of the heat equation on a disk
  • From: Alexei Boulbitch <alexei.boulbitch at iee.lu>
  • Date: Fri, 5 Nov 2010 05:13:40 -0500 (EST)

Hi, Francois,

I would simply regularize the equation, i.e instead
u_t = u_rr + (1/r) u_r
I would solve
u_t = u_rr + (1/(r+eps)) u_r
with a small eps. The choice of its value should be done depending upon the origin of your equation. This will
remove the problem. Try this, for instance:

NDSolve[{D[u[t, r], t] == D[u[t, r], r, r] + D[u[t, r], r]/(r + 0.01),
    u[0, r] == 10*(Exp[-r^2/5] - Exp[-1/5]),
   u[t, 1] == 0, (D[u[t, r], r] /. r ->  0) == 0}, u, {t, 0, 2}, {r, 0,
   1}]
Plot3D[Evaluate[u[t, r] /. %], {t, 0, 2}, {r, 0, 1}, PlotRange ->  All,
   AxesLabel ->  {"t", "r", "u"}]

Have fun, Alexei



Hello,

I would like to get a numerical simulation of the heat equation with Dirichlet boundary conditions on a disk. With the problem I have, the function does not depend on theta, so we get :

u_t = u_rr + (1/r) u_r

It introduces a singularity as goes to 0 and Mathematica can not solve the problem with NDSolve. Is there a way to go around this ?

Best regards,
Francois

PS : I know that I can do Bessel expansion, but it's not what I want to do here.


-- 
Alexei Boulbitch, Dr. habil.
Senior Scientist
Material Development

IEE S.A.
ZAE Weiergewan
11, rue Edmond Reuter
L-5326 CONTERN
Luxembourg

Tel: +352 2454 2566
Fax: +352 2454 3566
Mobile: +49 (0) 151 52 40 66 44

e-mail: alexei.boulbitch at iee.lu

www.iee.lu

--

This e-mail may contain trade secrets or privileged, undisclosed or
otherwise confidential information. If you are not the intended
recipient and have received this e-mail in error, you are hereby
notified that any review, copying or distribution of it is strictly
prohibited. Please inform us immediately and destroy the original
transmittal from your system. Thank you for your co-operation.



  • Prev by Date: Re: Renaming Variables Across Files
  • Next by Date: Re: Beginner question about Mathematica FinancialData
  • Previous by thread: Re: Numerical solution of the heat equation on a disk
  • Next by thread: issue with LinearSolve[] when using SparseArray when size close