p0 = Table[
pts = N@
Table[0.2 {Cos[\[Theta]], Sin[\[Theta]]}, {\[Theta],
0.2 + \[Phi], 2 \[Pi] - 0.2 + \[Phi], (2 \[Pi])/50}];
m = {0, 0, 1 + x/5};
Show[
VectorPlot[
Evaluate[Curl[m, {x, y, z}][[1 ;; 2]]], {x, 0, 5}, {y, 0, 5},
Frame -> False, PlotRange -> {{-1, 6}, {-1, 6}},
VectorPoints ->
Flatten[Table[{i + 0.5, j}, {i, -1, 5}, {j, 0, 5}], 1],
VectorStyle -> {Thick, Arrowheads[0.03]}],
Graphics[{
Red, Thick,
Table[Arrow[{{i - (0.1 + i/10)/2, -0.5}, {i + (0.1 + i/10)/
2, -0.5}}], {i, 0, 5}],
Table[
Arrow[{{i + (0.1 + i/10)/2, 5.5}, {i - (0.1 + i/10)/2,
5.5}}], {i, 0, 5}],
Table[
Arrow[{{-0.5, i + (0.1 + 0/10)/2}, {-0.5,
i - (0.1 + 0/10)/2}}], {i, 0, 5}],
Table[
Arrow[{{5.5, i - (0.1 + 5/10)/2}, {5.5,
i + (0.1 + 5/10)/2}}], {i, 0, 5}]
}],
Graphics[{Thick,
Table[Arrow[Plus[{i, j}, #] & /@ ((1 + i/5) pts), 0], {i, 0,
5}, {j, 0, 5}]}, PlotRange -> {{-1, 6}, {-1, 6}}]
]
, {\[Phi], 0, 2 \[Pi], (2 \[Pi] - 10^-5)/50}];
ListAnimate[p0]