<< Graphics`Graphics`

step1  円柱まわり  example 9.7  p.219

fz = z + 1/z; 
    eq = z'[t] == Conjugate[D[fz, z] /. z -> z[t]]

ne = 25;
z0 = Table[-10 - 2  I + 0.2 I i, {i, 0, ne}];

zuall = 
      Table[{ans = 
            NDSolve[{eq, z[0] == z0[[i]]}, 
              z[t], {t, 0, 100}]; 
ParametricPlot[
            Evaluate[{Re[z[t]], Im[z[t]]} /. ans], {t, 0, 100}, 
            PlotStyle ->  Hue[0.7], 
            PlotRange ->  {{-5, 5}, {-2, 2}}]}, {i, 
          ne}]

zuout1 = 
      Show[zuall, Graphics[Disk[{0, 0}, 1]], 
        DisplayFunction ->  $DisplayFunction, 
        AspectRatio ->  Automatic]

step2  翼まわり1 （水平）

w = z1 + 1/z1 /. z1 -> -0.5 +  I 0.5 + 1.58 z

zu0 = 
      ParametricPlot[{Re[w /. z ->  Exp[I θ]], 
          Im[w /. z ->  Exp[I θ]]}, {θ, 0, 2 Pi}, 
        PlotStyle ->  Hue[0.9], 
        PlotRange -> {{-5, 5}, {-3, 3}}, 
        AspectRatio ->  0.3]

zuall2 = 
      Table[{ans = 
            NDSolve[{eq, z[0] == z0[[i]]}, 
              z[t], {t, 0, 100}]; 
ParametricPlot[
            Evaluate[{Re[w], Im[w]} /. z ->  z[t] /. ans], {t, 0, 
              100}, PlotPoints ->  500, PlotStyle ->  Hue[0.7], 
            PlotRange ->  {{-10, 5}, {-5, 5}}]}, {i, 
          ne}]

zuout21 = 
      Show[zu0, zuall2, 
        DisplayFunction ->  $DisplayFunction]

ans = 
        NDSolve[{eq, z[0] == z0[[11]] + 0.0001 I}, 
          z[t], {t, 0, 1000}];
zuadd = 
      ParametricPlot[
        Evaluate[{Re[w], Im[w]} /. z ->  z[t] /. ans], {t, 0, 
          1000}, PlotPoints ->  500, PlotStyle ->  Hue[0.7], 
        PlotRange ->  {{-10, 5}, {-5, 5}}, 
        PlotPoints ->  500]

zuout2 = Show[zuout21, zuadd]

step3  翼まわり2（迎え角あり）

zuall3 = 
      Table[{ans = 
            NDSolve[{eq, z[0] == z0[[i]]}, 
              z[t], {t, 0, 100}]; 
ParametricPlot[
            Evaluate[{Re[w], Im[w]} /. 
                  z ->  Exp[ I  30  °] z[t] /. ans], {t, 
              0, 100}, PlotStyle ->  Hue[0.7], 
            PlotPoints ->  500, 
            PlotRange ->  {{-10, 5}, {-5, 5}}]}, {i, 
          ne}]

zuout31 = 
      Show[zu0, zuall3, 
        DisplayFunction ->  $DisplayFunction]

ans = 
        NDSolve[{eq, z[0] == z0[[11]] + 0.0001 I}, 
          z[t], {t, 0, 1000}];
zuadd = 
      ParametricPlot[
        Evaluate[{Re[w], Im[w]} /. 
              z ->  Exp[ I  30  °] z[t] /. ans], {t, 0, 
          1000}, PlotStyle ->  Hue[0.7], PlotPoints ->  500, 
        PlotRange ->  {{-10, 5}, {-5, 5}}, 
        PlotPoints ->  500]

zuout3 = Show[zuout31, zuadd]

results  ex. 9.7 summary

Show[GraphicsArray[{{zuout1}, {zuout2}, {zuout3}}]]