Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Heat Equation in Polar coordinates in Mathematica

  1. Oct 28, 2005 #1


    User Avatar

    Hi! Can someone please help?
    I'm trying to solve the heat equation in polar coordinates. Forgive my way of typing it in, I'm battling to make it look right. The d for derivative should be partial, alpha is the Greek alpha symbol and theta is the Greek theta symbol.
    du/dt = (alpha.alpha)[(d/dr)(du/dr)+(1/r)du/dr+(1/(r.r))(d/theta)(du/dtheta)]
    This is the heat equation for a disk with radius a.
    u(r,theta,0) = (a-r)cos(theta)
    u(a,theta,t) = 0

    In Mathematica, I used:
    NDSolve[{Derivative[0,0,1][r,theta,t]==alpha Derivative[2,0,0][r,theta,t]+alpha Derivative[1,0,0][r,theta,t]+alpha Derivative[0,2,0][r,theta,t], u[r,theta,0] == (a-r)Cos[theta], u[a,theta,t]==0},u,{r,0,a},{theta,0,1},{t,0,1}]

    I got an error: NDSolve: bcart
    I tried replacing alpha with 2 and a with 4. Still got a problem. Is there a way of keeping the alpha's and a's? And can the radius start from 0, without problems?

    Then I need to plot it in 3 dimensions. I tried: (radius starting from 1 since I had problems)
    Plot3D[Evaluate[u[r,theta,t] /. First[%]],{r,1,4}, {theta,0,pi}, {t,0,1},PlotPoints -> 50]

    I got an error: Plot3D: plnc (repeatedly)
    General :: stop
    Plot3D[InterpolatingFunction[{{1.,4.},{0.,3.14159},{0.,1.}},<>][r,theta,t],{r,1,4},{theta,0,pi},{t,0,1}, PlotPoints -> 50]

    I still need to add a different boundary condition where du/dr(a,theta,t) = 0 and need to solve u(r,theta,t). Would it work the same way?

    Please help! I would really appreciate it!

  2. jcsd
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Can you offer guidance or do you also need help?