0
$\begingroup$

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[0] == ri, TH[0] == 0., Z[0] == 0, SI[0] == sii, PH[0] == 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]

enter image description here

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.

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

DSolve doesn't find a closed form solution!

Remove Z[0]==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[0] == ri , TH[0] == 0., SI[0] == sii, PH[0] == phi}

sol = NDSolveValue[smllCirc, {SI, PH, R, TH}, {s, 0, 1}]
Plot[Through[sol[x]], {x, 0, 1}, Evaluated -> True]

enter image description here

$\endgroup$
  • $\begingroup$ Vielen Dank! But it does not work (presumably due to my earlier Ver 8.0 ), even after removing ( misplaced Z[0]==0.) ! Secondly I did not expect that Mathematica cannot capture these standard trigonometric circular functions in closed form... $\endgroup$ – Narasimham Nov 6 '19 at 18:55
  • $\begingroup$ If you increase the simulation range you'll see that the result is more than standard trigonometrical. $\endgroup$ – Ulrich Neumann Nov 6 '19 at 19:09
  • 1
    $\begingroup$ @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. $\endgroup$ – bbgodfrey Nov 7 '19 at 14:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.