При решении некой задачи ОТО требуется численно решить следующее нелинейное уравнение:
при граничном условии
на отрезке
, при различных значениях параметра
.
При
, естественно, получаем (полу)окружность, что из физической постановки задачи верно. При ненулевых
физически должна получаться вытянутая вдоль
капля. Дальше начинаются танцы с бубеном. Пытаюсь влоб найти численное решение в Mathematica, используя ParametricNDSolve при стандартных настройках:
Код:
sol = ParametricNDSolve[{y'[x] == -x/y[x] (1 - \[Lambda] Sqrt[x^2 + y[x]^2 (1 - \[Lambda]^2 x^2)])/(1 - \[Lambda]^2 x^2), y[0] == 1}, y, {x, 0, 2}, {\[Lambda]}]
Plot[Evaluate[Table[y[\[Lambda]][x] /. sol, {\[Lambda], 0.1, 0.995, .2}]], {x, 0, 1}, PlotRange -> All]
но, понятное дело, там, где капля пересекает ось
производная
обращается в бесконечность, так что NDSolve загибается (интересно, что случай с окуржностью он решает, хотя там тоже бесконечности вылезают).
Вобщем вопрос: какие есть подходы к численному решению такой задачи? Можно, конечно, в ряд разложить в окрестности особой точки, но неужели стандартными методами Mathematica такие задачи не решаются?