Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I am trying to calculate speed of viscous fluid in a rotating hollow sphere. The sphere is rotating round z axis. The fluid is incompressible. I used Navier-Stockes equations. The only boundry condition I have, is rotational speed of sphere. My code:

v = {vr[r, ϑ, ϕ], vt[r, ϑ, ϕ], vf[r, ϑ, ϕ]}

eq =  Curl[Cross[v, Curl[v, {r, ϑ, ϕ}, "Spherical"]], {r, ϑ, ϕ}, "Spherical"] + 
      Curl[Laplacian[v, {r, ϑ, ϕ}, "Spherical"], {r, ϑ, ϕ}, "Spherical"]

NDSolve[{eq[[1]] == 0, eq[[2]] == 0, eq[[3]] == 0, vf[1, ϑ, ϕ] == Sin[ϑ], 
vr[1, ϑ, ϕ] == 0, vt[1, ϑ, ϕ] == 0}, {vr, vt, vf}, {r, 0, 1}, {ϑ, 0, Pi}, {ϕ, 0, 2*Pi}]

Mathematica displays an error:

NDSolve::ivone: Boundary values may only be specified for one independent variable. Initial values may only be specified at one value of the other independent variable. >>

I have no idea what is wrong, so if anyone can help me, I'll be very happy. Thanks.

share|improve this question
You should post actual Mathematica code, as it will help diagnose the problem. It looks like you have a syntax error with vf and sin, which should use brackets instead of parentheses (also mind capitalization). –  bobthechemist Sep 28 '13 at 16:10
Your problem is not particularly well posed. First of all, you should set boundary conditions on vr and vt. Secondly, you need to be clear what type of problem you're dealing with, as NDSolve is only designed to work with initial-value types of problem - as the documentation on NDSolve and your NDSolve::ivone error makes clear. –  episanty Sep 28 '13 at 18:21

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.