Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. hor[x_, y_, c_] := (((y - 1)^2 - x^2)/((y - 1)^2 + x^2)*((
  2. 1 - Exp[-(((y - 1)^2 + x^2)/c)])/(((y - 1)^2 + x^2)/
  3. c))) - (ExpIntegralE[1, ((y - 1)^2 + x^2)/c]);
  4. ver[x_, y_, c_] := -(((y - 1)^2 - x^2)/((y - 1)^2 + x^2)*((
  5. 1 - Exp[-(((y - 1)^2 + x^2)/c)])/(((y - 1)^2 + x^2)/
  6. c))) - (ExpIntegralE[1, ((y - 1)^2 + x^2)/c]);
  7. mix[x_, y_, c_] := -((2 x (y - 1))/((y - 1)^2 + x^2))*((
  8. 1 - Exp[-(((y - 1)^2 + x^2)/c)])/(((y - 1)^2 + x^2)/c));
  9.  
  10. dim[x_, y_, c_, w_] := 1/2 (ver[x, y, c] - hor[x, y, c]) + w;
  11.  
  12. top := dim[x, y, c, w] - Sqrt[((dim[x, y, c, w])^2 + (mix[x, y, c])^2)]
  13. bottom := mix[x, y, c]
  14. points = Join[Table[{-3, y}, {y, -5, 5, 0.5}], Table[{3, y}, {y, -5, 5, 0.5}]];
  15. param = {w -> 0.5, c -> 1};
  16. odesystem = {x'[t], y'[t]} == ({bottom, top} /. {p : x | y :> p[t]} /. param);
  17.  
  18. paramsol = ParametricNDSolveValue[{odesystem, {x[0], y[0]} == {m, k}}, {x, y}, {t, -100, 100}, {m, k},
  19. Method -> {StiffnessSwitching,
  20. Method -> {ExplicitRungeKutta, Automatic}}, PrecisionGoal -> 10, AccuracyGoal -> 8, MaxSteps -> 100000, MaxStepSize -> 0.1];
  21. soln = paramsol @@@ points;
  22. Graphics[{Black, Arrowheads[0], Arrow[Transpose@Through[#["ValuesOnGrid"]] & /@ soln],{Black, Thick, Line[{{0, 0.5}, {0, 1.5}}]}}, PlotRange -> 5, Frame -> True,PlotRangePadding -> Scaled[.02]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement