# Works with NDSolve, not DSolve

EDIT1:

Clear[".*"];
a = 1; ri = 1; thi = 0; zi = 0.; phi = 0.; smax = 12; sii =
Pi/3.; slp = .8;
smallCirc = {(SI'[s] + Sin[PH[s]] Sin[SI[s]]/R[s]) ==
slp (Cos[PH[s]]/R[s]),
PH'[s] == -Cos[SI[s]]/a, R'[s] == Sin[PH[s]] Cos[SI[s]],
TH'[s] == Sin[SI[s]]/R[s], Z'[s] == Cos[PH[s]] Cos[SI[s]],
R == ri, TH == 0., Z == 0, SI == sii, PH == phi};
NDSolve[smallCirc, {SI, PH, R, TH, Z}, {s, 0, smax}];
{si[t_], ph[t_], r[t_], th[t_],
z[t_]} = {SI[t], PH[t], R[t], TH[t], Z[t]} /. First[%];
Plot[{si[s], ph[s], r[s], th[s], z[s]}, {s, 0, smax},
GridLines -> Automatic]
sor = ParametricPlot3D[{r[s] Cos[th[s] + v], r[s] Sin[th[s] + v],
z[s]}, {s, 0, smax}, {v, 0, 2 Pi}, PlotLabel -> SPH,
PlotStyle -> Blue] ;
fila = ParametricPlot3D[{r[s] Cos[th[s] + 0], r[s] Sin[th[s] + 0],
z[s]}, {s, 0, smax}, PlotLabel -> 3 _D Projn,
PlotStyle -> {Thick,White}];
smll = Show[{sor, fila}, PlotRange -> All, Axes -> None,
Boxed -> False, PlotLabel -> "SMLL_CIRCS_ SPH"]
soln = DSolve[smallCirc, {SI, PH, R, TH, Z}, s] The above tries to compute small circle (runs between equator/ smaller parallel circle) on sphere with four integrated parameters {angle to meridian,meridian to axis and polar coordinates}. While it works with an NDSolve (to obtain above picture extra Z is included) , it does not compute as a function of arc length $$s$$ with the analytical solution DSolve in a required closed form. What do I miss? Thanks for help.

• no closed-form solution? – AccidentalFourierTransform Nov 6 '19 at 15:13
• Remove Z==0 ! – Ulrich Neumann Nov 6 '19 at 15:23
• What is the actual mathematical problem you are attempting to solve? Can you provide a reference? – bbgodfrey Nov 9 '19 at 15:10
• These are standard expressions for geodesic curvature and meridian coupled ODEs. The image with small circle shows that it works for NDSolve only – Narasimham Nov 10 '19 at 17:12
• I get a Set::write error when I paste your code and run it. – Michael E2 Nov 10 '19 at 17:30

DSolve doesn't find a closed form solution!

Remove Z==0 (misplaced initial condition!). Now NDSolve finds a solution

a = 1; ri = 1; thi = 0; zi = 0.; phi = 0.; sii =Pi/3.; slp = .8

smllCirc = {(SI'[s] + Sin[PH[s]] Sin[SI[s]]/R[s]) == slp (Cos[PH[s]]/R[s]), PH'[s] == Cos[SI[s]]/a,R'[s] == Sin[PH[s]] Cos[SI[s]],TH'[s] == Sin[SI[s]]/R[s],R == ri , TH == 0., SI == sii, PH == phi}

sol = NDSolveValue[smllCirc, {SI, PH, R, TH}, {s, 0, 1}]
Plot[Through[sol[x]], {x, 0, 1}, Evaluated -> True] • Vielen Dank! But it does not work (presumably due to my earlier Ver 8.0 ), even after removing ( misplaced Z==0.) ! Secondly I did not expect that Mathematica cannot capture these standard trigonometric circular functions in closed form... – Narasimham Nov 6 '19 at 18:55
• If you increase the simulation range you'll see that the result is more than standard trigonometrical. – Ulrich Neumann Nov 6 '19 at 19:09
• @Narasimham It is, however, possible to obtain SI and R symbolically in terms of PH`, and perhaps more. I shall try to find time to write it up tomorrow. – bbgodfrey Nov 7 '19 at 14:44