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$
13
  • 1
    $\begingroup$ no closed-form solution? $\endgroup$ Commented Nov 6, 2019 at 15:13
  • $\begingroup$ Remove Z[0]==0 ! $\endgroup$ Commented Nov 6, 2019 at 15:23
  • $\begingroup$ What is the actual mathematical problem you are attempting to solve? Can you provide a reference? $\endgroup$
    – bbgodfrey
    Commented Nov 9, 2019 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
    Commented Nov 10, 2019 at 17:12
  • $\begingroup$ I get a Set::write error when I paste your code and run it. $\endgroup$
    – Michael E2
    Commented Nov 10, 2019 at 17:30

1 Answer 1

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$
3
  • $\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
    Commented Nov 6, 2019 at 18:55
  • $\begingroup$ If you increase the simulation range you'll see that the result is more than standard trigonometrical. $\endgroup$ Commented Nov 6, 2019 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
    Commented Nov 7, 2019 at 14:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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