Guest User

Untitled

a guest
Jul 18th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. ParametricNDSolveValue::ndsz: At r == 0.0004036933699289324`, step size is effectively zero; singularity or stiff system suspected. >>
  2.  
  3. Potential[x_] := 5.154462413581529*^7 - 256000000*(1 - x)^2 + 128000000*(1 - x)^4 - 1.030892482716306*^8*x^2 + 8.049495987048458*^8*(1 - x)^2*x^2 + 5.154462413581531*^7*x^4
  4.  
  5. test = ParametricNDSolveValue[{(Derivative[2][t][r] + (2/r)*Derivative[1][t][r] - D[Potential[x], x] /. x -> t[r]) == 0, t[10^(-12)] == d,
  6. Derivative[1][t][10^(-12)] == 0}, t[0.5], {r, 10^(-12), 1}, {d}];
  7.  
  8. C = 0.0005;
  9. d = 0.002;
  10. Under = 1;
  11. Monitor[Quiet[While[C >= 10^(-18), While[Under == 1, d = d - C; If[Abs[test[d]] > 1 || d < 0, Under = 0]; ]; d = d + C; C = C/10; Under = 1; ]; ], d]
  12.  
  13. test = ParametricNDSolveValue[{(Derivative[2][t][r] + (2/r)*
  14. Derivative[1][t][r] - D[Potential[x], x] /. x -> t[r]) == 0,
  15. t[10^(-12)] == d, Derivative[1][t][10^(-12)] == 0}, t, {r, 10^(-12), 1}, {d}]
  16.  
  17. test[.001]["Domain"][[1, 2]]
  18. (* 0.000383406 *)
  19.  
  20. test[.002]["Domain"][[1, 2]]
  21. (* 1. *)
  22.  
  23. c = 0.0005; d = 0.002; Under = 1; Monitor[
  24. Quiet[While[c >= 10^(-18), While[Under == 1, d = d - c; If[test[d]["Domain"][[1, 2]] < 1,
  25. Under = 0];]; d = d + c; c = c/10; s = d; Under = 1;];], d]
  26. NumberForm[s, 16]
  27. (* 0.001701281449747991 *)
  28.  
  29. dl = c; du = d;
  30. Do[dt = (dl + du)/2; If[Quiet@test[dt]["Domain"][[1, 2]] < 1, dl = dt, du = dt], {i, 20}]
  31. NumberForm[du, 16]
  32. (* 0.001701281449747996 *)
Add Comment
Please, Sign In to add comment