MathGroup Archive 2000

[Date Index] [Thread Index] [Author Index]

Search the Archive

RE: How to plot field lines of conformal mapping

  • To: mathgroup at smc.vnet.net
  • Subject: [mg26165] RE: [mg26083] How to plot field lines of conformal mapping
  • From: "David Park" <djmp at earthlink.net>
  • Date: Thu, 30 Nov 2000 01:04:08 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

Jos,

Here is one method for doing it. Since I am not a very complex fellow, I
converted your f function to a real mapping.

f = z + I*Sinh[z]
% /. z -> u + I*v
F[u_, v_] = ComplexExpand[
   {Re[%], Im[%]}]

z + I*Sinh[z]
u + I*v + I*Sinh[u + I*v]
{u - Cosh[u]*Sin[v],
  v + Cos[v]*Sinh[u]}

Then you can plot it this way. You don't really need 700 plot points. I had
to use the Join statement to add the two end points to the v cases.

ParametricPlot[Evaluate[(F[u, #1] & ) /@ Join[Range[-1.5, 1.5, 0.25],
      {-Pi/2, Pi/2}]], {u, -3, 3}, Frame -> True, Axes -> None,
   AspectRatio -> Automatic, ImageSize -> 500,
   PlotRange -> {{-10, 10}, {-10, 10}}];

Here is another approach which labels each of the curves. I left out the two
end point cases.

labeledcurve[v_] := {First[ParametricPlot[Evaluate[F[u, v]],
     {u, -3, 3}, DisplayFunction -> Identity]],
   Text[NumberForm[N[v], 3], F[2.5, v], Background -> GrayLevel[1],
    TextStyle -> FontSize -> 10]}

Show[Graphics[labeledcurve /@ Range[-1.5, 1.5, 0.25]], Frame -> True,
   Axes -> None, AspectRatio -> Automatic, ImageSize -> 500,
   PlotRange -> {{-10, 10}, {-10, 10}}];

David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/

> -----Original Message-----
> From: Jos R Bergervoet [mailto:Jos.Bergervoet at philips.com]
To: mathgroup at smc.vnet.net
>
> I would like to plot a family of field lines obtained from a conformal
> mapping, as in the following code snippet. Is there a shorter way?
>
>   f = z + I Sinh[z]
>
>   ParametricPlot[{
>                     {Re[f], Im[f]} /. z->u-Pi/2I,
>                     {Re[f], Im[f]} /. z->u-1.5I,
>                     {Re[f], Im[f]} /. z->u-1.25I,
>                     {Re[f], Im[f]} /. z->u-1.0I,
>                     {Re[f], Im[f]} /. z->u-0.75I,
>                     {Re[f], Im[f]} /. z->u-0.5I,
>                     {Re[f], Im[f]} /. z->u-0.25I,
>                     {Re[f], Im[f]} /. z->u+0I,
>                     {Re[f], Im[f]} /. z->u+0.25I,
>                     {Re[f], Im[f]} /. z->u+0.5I,
>                     {Re[f], Im[f]} /. z->u+0.75I,
>                     {Re[f], Im[f]} /. z->u+1.0I,
>                     {Re[f], Im[f]} /. z->u+1.25I,
>                     {Re[f], Im[f]} /. z->u+1.5I,
>                     {Re[f], Im[f]} /. z->u+Pi/2I
>                  },
>                     {u,-3,3}, PlotPoints->700]
>
>
> I tried (without success) to do it after creating a table in advance:
>
>   n = 1
>   t = Table[{Re[f], Im[f]} /. z->u+i/n Pi/2I , {i, -n,n}]
>   ParametricPlot[t, {u,-3,3}, PlotPoints->700]
>
> This does not work. Does anyone know an elegant solution?
>
> NB: I do not want the full CartesianMap[F , {-3,3}, {-Pi/2,Pi/2}]
> but only one of the two families of lines.
>
> Thanks in advance,
> Jos
>
> --
>   Dr. Jozef R. Bergervoet                      Electromagnetism and EMC
>   Philips Research Laboratories,             Eindhoven, The Netherlands
>   Building WS01                                     FAX: +31-40-2742224
>   E-mail: Jos.Bergervoet at philips.com              Phone: +31-40-2742403
>
>



  • Prev by Date: Re: How to plot field lines of conformal mapping
  • Next by Date: Re: Function compile problems
  • Previous by thread: Re: How to plot field lines of conformal mapping
  • Next by thread: Re: vector multiplication