- #1
Hop
- 1
- 0
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][u][r,theta,t]==alpha Derivative[2,0,0][u][r,theta,t]+alpha Derivative[1,0,0][u][r,theta,t]+alpha Derivative[0,2,0][u][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!
Thanks,
Hop
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][u][r,theta,t]==alpha Derivative[2,0,0][u][r,theta,t]+alpha Derivative[1,0,0][u][r,theta,t]+alpha Derivative[0,2,0][u][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!
Thanks,
Hop