# [✓] Use NDSolve to solve three dimensional (t,x,y,) pde?

Posted 10 months ago
824 Views
|
2 Replies
|
1 Total Likes
|
 Consider the following code: Clear[x, t, xMin, xMax, TMax, yMin, yMax]; TMax = 3.73; xMin = -Sqrt[2] Pi; xMax = -xMin; yMin = -Sqrt[ 2] Pi; yMax = -yMin; eqn = D[h[t, x, y], t] == -Div[Grad[h[t, x, y], {x, y}]/h[t, x, y], {x, y}] - Div[Grad[Laplacian[h[t, x, y], {x, y}], {x, y}]*h[t, x, y]^3, {x, y}]; bcs = {h[0, x, y] == 1 - 0.1 Cos[Sqrt[2]/2*Sqrt[x^2 + y^2]], h[t, x, yMin] == h[t, x, yMax], h[t, xMin, y] == h[t, xMax, y]}; hsol = NDSolveValue[{eqn, bcs}, h[t, x, y], {t, 0, TMax}, {x, xMin, xMax}, {y, yMin, yMax}]  The above code can be run but show no results when I try to plot it using Plot3D,like: Plot3D[hsol[0, x, y], {x, xMin, xMax}, {y, yMin, yMax}, PlotRange -> All]. Does anyone can help me with this? Thanks a lot.
2 Replies
Sort By:
Posted 10 months ago
 There is an inconsistency between the structure of hsol and the way you use it. Try it either this way: hsol = NDSolveValue[{eqn, bcs}, h, {t, 0, TMax}, {x, xMin, xMax}, {y, yMin, yMax}] or this way: hsol2[t_, x_, y_] = NDSolveValue[{eqn, bcs}, h[t, x, y], {t, 0, TMax}, {x, xMin, xMax}, {y, yMin, yMax}]