From: susy on
It does not work for bc

F[10^-5] == Pi

Having searched using google for some time, I found a solution as follows:


\[Epsilon] = 10^-10;
fSky[sl_?NumericQ] :=
NDSolve[{(1/4 r^2 + 2 Sin[F[r]]^2) F''[r] + 1/2 r F'[r] + Sin[2 F[r]] ( F'[r])^2 - 1/4 Sin[2 F[r]] - 1/(r)^2 Sin[F[r]]^2 Sin[2 F[r]] == 0, F[\[Epsilon]] == \[Pi], F'[\[Epsilon]] == sl}, F, {r, \[Epsilon], 1000}]
fSky2[sl_?NumericQ] :=
With[{f = fSky[sl][[1, 1, 2]]}, f[f[[1, 1, 2]]]]
Plot[fSky2[sl], {sl, -5.468, -5.469}]
Plot[Evaluate[F[r] /. fSky[sl /. sl -> -5.46877516]], {r, 0., 10}, PlotRange -> All, Frame -> True]


It seems be able to give the correct result comparing with that given in some published paper. But the problem is that
FindRoot[fSky2[sl] == 0, {sl, -5.}]
cannot find a root, because the root probably does not exist. If we plot fSky2[sl] as shown in the above range, one may see a discontinuous ossilation around 0.

Who can propose a better solution? Thanks in advance for your attention.