Subscript[x, 0][n_] = N[-1 + Cos [nPi/12]]
Subscript[y, 0][n_] = N[0.2 Sin[(n Pi)/12]]
f[{x_, y_}] = {x + 0.02 Subscript[E, x][x, y]/\[Epsilon][x, y],
y + 0.02 Subscript[E, y][x, y]/\[Epsilon][x, y]}
\[CurlyPhi][x_, y_] = 1/Sqrt[(x + 1)^2 + y^2] + 1/Sqrt[(x - 1)^2 + y^2]
Subscript[E, x][x_, y_] = \!\(
\*SubscriptBox[\(\[PartialD]\), \(x\)]\(\[CurlyPhi][x, y]\)\)
Subscript[E, y][x_, y_] = \!\(
\*SubscriptBox[\(\[PartialD]\), \(y\)]\(\[CurlyPhi][x, y]\)\)
\[Epsilon][x_, y_] = Sqrt[
Subscript[E, x][x, y]^2 + Subscript[E, y][x, y]^2]
g[{x_, y_}] = FixedPointList[f, {x, y},
SameTest -> ((Sqrt[(#2[[1]])^2 + (#2[[2]])^2] > 3.0) || (#2[[1]] >
0) &)]
g /@ Table[{Subscript[x, 0][x], Subscript[y, 0][n]}, {0, 1, 11, 2}];
coordinatest1 = Join[%, % /. {x_, y_} -> {x, -y},
SetOptions[ListContourPlot, PlotStyle -> Red];
Show[
ListLinePlot /@ coordiantest1,
ContourPlot[\[CurlyPhi][x, y], {x, -2, 2}, {y, -2, 2},
ContourShading -> False,
PlotRange -> {1.1, 6.0}, Contours -> 16, PlotPoints -> 50,
FrameLabel -> False,
ContourStyle -> {{Blue, Dashing[{0.01, 0.01}]}}],
Graphics[{Text["+q", {-1, 0}], Text["+q", {1, 0}]}],
AspectRatio -> Automatic,
PlotRange -> {{-2, 2}, {-2, 2}}, Axes -> False]