Potential and Field in a Plane 
Condensor with a Shifted Voltage Strip 
on an Electrode

St. Rossegger, B. Schnizer

Institut fuer Theoretische Physik
Technische Universität Graz
A-8010 Graz, Austria, Europe
Email: schnizer@itp.tu-graz.ac.at

2005-01-26

1.  Description

The potential and field distributions for the configuration shown below, a twodimensional infinite plane condensor of 
width  D, whose upper electrode has a strip of width  w,  are computed by conformal maps. The strip is at  a Voltage  
V= cvV and can be shifted along the x-axis with the value c;  the other electrodes are grounded. The potential and the 
field are plotted, as is the field on the electrodes. The values of the potential and field are computed at a point which may 
be selected by the user. 
The relative current  I/qv  induced on the upper left electrode by a charge  q  moving with constant velocity  v  on various 
trajectories parallel to the y-axis is shown as function of y.  The user may also chose the x-coordinate of such a trajectory.

By the map  W =  f(z)  the  upper half of the z = x + i y  -plane comprising the above configuration is mapped to 
a closed infinite plane condensor of width   π   in the   W = U + i V -plane; whose upper electrode  V = π   is at 
potential  cvV, while the lower one,  V = 0,  is grounded.   This map consists of three conformal maps:   
				z = (Subscript[f, 3])(t')  =  (D/π) ln t' + (c-w/2)
maps the strip  D  ≥  y  ≥  0  to the half space s' ≥ 0 of the complex  t' = r' + i s' -plane such that the lines  y = 0  and  
y = D  become the axis  s' = 0. The function   
				W = (Subscript[f, 1]^(-1))(t)  =  ln t   
maps the closed condensor to the  t = r + i s -plane such 
that the upper electrode V = D becomes the ray  s = 0,  r <  0; the lower electrode V = 0 the ray    s = 0,  r  >  0. The 
rational function  
		t' = (Subscript[f, 2])(t)=  - ((α^2) t -  1)/(t - (α^2)),  t = (Subscript[f, 2]^(-1))(t')= ((α^2)t' + 1)/(t' + (α^2));  α = (e^(((π w)/(4 D)))).
		
maps the t- on the t'-plane such that the s- becomes the s'-axis.

The total conformal maps are then:

	z  =  f(W) =  (D/π) Log[ 
          Sinh[((π w)/(4 D)) + (W/2)]/
            Sinh[((π w)/(4 D)) - (W/2)]] + (c - w/2),
	
	W = (f^(-1))(z) =  Log[
        Cosh[((π (z -  c +  w))/(2 D))]/
          Cosh[((π (z - c))/(2  D))]].

The inverse function has been found by hand. Mathematica does not succeed to give such a 
simple expression.
The complex potential and the field in the simple plane condensor are:

	Ψ(W) = - i ((Subscript[V, 0])/π)W,     (Subscript[E, W])(W) = (Subscript[E, U])   +  i (Subscript[E, V])= - i ((Subscript[V, 0])/π)  =  - (d(Ψ/dW))^( * ).

The real potential and field in the plane condensor with the Voltage strip as shown above are:

	(Subscript[Φ, 1])(x, 
          y)  =  ((Subscript[V, 0])/π)[arctan( tanh[(π/(2  D)) (- x + c)] tan[((π y)/(2  D))])  +  arctan( tanh[(π/(2  D)) (x - c  +  w)] tan[((π y)/(2  D))]) ].
	
  (Subscript[E, x])(x, y)   =   ((Subscript[V, 0])/(2  D))sin[((π y)/D)]\(\(\([1\/\(cosh[\(π\ \((x\  - \ c)\)\)\/\(2\ D\)]\  + \ \ cos[\(π\ y\)\/D]\) - 
          1\/\(cosh[\(π\ \((x\  - \ c\  + \ w)\)\)\/\(2\ D\)]\  + \ \ cos[\(π\ y\)\/D]\)]\)\(,\)\)\)
	 
  (Subscript[E, y])(x, y)   =  - ((Subscript[V, 0])/(2  D))\(\(\([sinh[\(π\ \((x\  - \ c)\)\)\/\(2\ D\)]\/\(cosh[\(π\ \((x\  - \ c)\)\)\/\(2\ D\)]\  + \ \ cos[\(π\ y\)\/D]\) - 
            sinh[\(π\ \((x\  - \ c\  + \ w)\)\)\/\(2\ D\)]\/\(cosh[\(π\ \((x\  - \ c\  + \ w)\)\)\/\(2\ D\)]\  + \ \ cos[\(π\ y\)\/D]\)]\)\(.\)\)\)
	 
The potential and the field in the condensor with the Voltage strip may be extended to the corresponding 
complex quantities:

	Φ(z) = (Subscript[Φ, 1])(x, y)+ i (Subscript[Φ, 2])(x, y) =   - i ((Subscript[V, 0])/π)W    (with  W = (f^(-1))(z)  as given above);
	
	E(z) =  i ((Subscript[V, 0])/(2  D))[tanh[\(TraditionalForm\`\(π\/\(2\ D\)\) \((\(z\^*\)\  - \ c)\)\)]  -  tanh[\(TraditionalForm\`\(π\/\(2\ D\)\) \((\(z\^*\)\  - \ c\  + \ 
            w)\)\)] ;
	
	E(W) = i \(TraditionalForm\`\(\(V\_0\/D\)\(\ \)\([\)\(cosh[\(W\^*\)]\)\)\) -  cosh[((π w)/(2 D))] ]/sinh[((π w)/(2 D))]  =  i ((Subscript[V, 0])/D)\(TraditionalForm\`\(2\ cosh[\(W\^*\)]\ \ \  - \ \ α\^2\  - \ \ \ α\^\(-2\)\)\/\(α\^2\  - \ \ α\^\(-2\)\)\).

All the transformations and formulas for the configuration without shift are derived and discussed in the long
write/up  notebook CondVoStrLW.nb. The shift just changes  x  →  x + c, which implies  z  →  z + c.
The shift  c  has been intorduced so that this configuration may be matched with other ones, in particular with the
plane condensor whose upper electrode contains a gap treated in the notebook  SplitCondensor.nb. Such a match
is done in the notebook Comparisons.nb

In the present notebook almost all variables start with the letters cv...  . 
An analogous convention is also adopted in the other notebooks on conformal maps applied to models for 
Resistive Plate Chambers (RPC's). So several notebooks may be used simultaneously in the same kernel without risk of 
interference.

The main parameters are the Voltage  cvV  applied to the Voltage strip, the width of the condensor   D = cvgd,
the width of the strip  w  =  cvw  and the shift  c=cvc. Default values are assigned to these as to all other variables. 

The cells where values are assigned to these parameters have a background in cyan so that the user may locate them 
easily; he may assign other values to these variables and evaluate the notebook again; by tests we are quite sure that 
the program will run without difficulty. 
The user may play with some other parameters so that he gets more satisfactory pictures. Such recommendations are 
also given in cells with cyan background.

Please, report errors and difficulties per email to the adress given above in the affiliation.

2.  Input

Needs["Graphics`ComplexMap`"]

Off[General::spell1]

In this notebook many variables have similar names. The ensuing warnings are switched off above in the second line.
When working on the program these  warning may be useful; switch them on by the corresponding command On[...].
This is also implemented in the last line of this notebook.

2.1  Input Data

Global input Data

Clear["cv*"]

    
cvV   = 1;                      
cvgd = 
      10;                     ;
cvw  =  
        30;                       
cvc  = -10;                         
\(\(cvtcb = 0.011;\)	 (*\ 
      Relative\ thickness\ of\ lines\ representing\ electrodes\ *) \)

\(Print[
      SequenceForm[
"  Width of condensor:                             D = ", \ cvgd, \ " mm."]]\)
\(Print[
      SequenceForm[
"  Width of strip at upper electrode :             w = ", \ cvw, \ " mm."]]\)
Print[
      SequenceForm[
"  Position of the right hand end of \
the strip:    c = ", cvc ,  " mm."]]
cvmc = cvc - cvw/2;
Print[
      SequenceForm["  Middle Postition of the strip:                 mc = \
", cvmc ,  " mm."]]

2.2 Functions for the conformal map

2.2.1   Finding the value of the parameter p belonging to the dimensions selected in 2.1

The conformal map needs one parameter  α = cva = (e^(((π w)/(4 D)))),whose value depends on the ratio of the two geometric
parameters D and w.

cva  =  Exp[(π cvw)/(4 cvgd)];

2.2.2  The function  z  =  f(W)

The three conformal maps (Subscript[f, 1]), (Subscript[f, 2]), (Subscript[f, 3]) and the resulting map f  as described above are implemented below. 
Notations are:  W = cvWw,  t = cvtt, t' = cvtp,  α  = cva ; z = f(W) = cvf[cvWw].

cvf1[cvWw_]  =  Exp[cvWw] ;
cvf2[
          cvtt_]  =  - (cvtt cva^2   -  
                1)/(cvtt   -   cva^2) ;
cvf3[cvtp_]  =  
        cvgd/π  Log[cvtp]  + cvmc;
cvf[cvWw_]      =   cvf3[cvf2[cvf1[cvWw]]];

2.2.3 The inverse function  W = (f^(-1))(z)

The inverse functions to  (Subscript[f, 1])to (Subscript[f, 3]) may be expressed as analytic functions;  W = (f^(-1))(z)= cvi[sczz] :

cvi1[cvtt_] =  Log[cvtt] ;
cvi2[
          cvtp_] =  (cvtp  cva^2   +  
              1)/(cvtp  +   cva^2)  ;
cvi3[
          cvzz_] =   Exp[(cvzz  - cvmc) π/
              cvgd];
cvi[cvzz_]    =  cvi1[cvi2[cvi3[cvzz]]];

2.2.4  The complex electric field

The complex electric field   (Subscript["E", "x"])"\:f39f+ i "(Subscript["E", "y"])  at a point   z = x + i y   is given by the function  cvfe, which depends on 
W =cvWw, or by the function cvfez, which depends on cvzz. The value of W belonging to a given value  z  is 
found by  cvi. 
Note: Here MKSA units are used; but D = cvgd is given in mm, so the electric field computed from that formula is in  
kV/m.  (Subscript[E, z])(z) = cvfez[vszz] , (Subscript[E, z])(W) = cvfe[vsWw] .

cvfez[
          cvzz_] =   -I cvV  / cvgd/
              2 * (Tanh[π (Conjugate [cvzz - cvmc] + 
                          cvw/2)/(2 cvgd)]  + 
Tanh[π ( 
                        cvw/2  -  
                          Conjugate [cvzz - cvmc])/(2 cvgd)]) // 
          Chop ;

cvfe[
          cvWw_]  =   I cvV/
            cvgd (2 Cosh[Conjugate[cvWw]]  -  (cva^2  +  
                    1/cva^2))/(cva^2  -  1/cva^2);

3.  Section with Field Graphics

3.1  Variables needed in all pictures

Most evaluations for finding values or graphs are done by using the values of  W = U + i V  belonging to a given z. For 
curves appropriate ranges of U  must be found.  The range of  V  is almost always  0 ≤ V ≤  π.

cvneq = 
        20  ;

cvneq  specifies the number of equipotential and field lines;  this value in turn specifies the step widths used for the
variables  U ( = cvdu) and  V = π/cvneq used in cvcm. The range of the variable U is bounded by cvlu  and 
by cvru. These values have been determined by trial and error. The horizontal plot range in all pictures is 
determined by cvplr In some figures the vertical plot range is determined by cvmaE and multiples of it.

cvmaE  =  cvV/cvgd;
cvplr  =  (cvgd  +  
            Abs[2 cvc]);
cvims  =  500;
cvlu  =  -6 cvi[cvplr];
cvru  =   6 cvi[cvplr];
cvdu = Abs[cvru  -  cvlu]/(2 cvneq);

3.2 Field graphics

The user may want to improve the pictures drawn below. For this, he may try to obtain better values for 
cvlu, cvru, cvdu, cvmaE. If he wants to do so it is recommended to remove the semicolons of the last block
at the end of the preceeding subsection, so that the values are printed. Then he may try a slight change of 
these values and see what comes out. It is commendable to insert these new values below in the
commands for  cvp2, cvp1, cvp23, cvcm. It is extremely commendable to save this  trial notebook
under a new name beforehand so that the notebook with the orginal specifications remains intact!

cvp2  computes the electric field at the inside of the upper electrode (cvp1 of the lower) .The corresponding pictureis are shown in figure cvp23.  
cvcm plots the equipotential and electric field lines.  cvp1 shows  the electric field at the bottom electrode. 
In the two cvp pictures the unit of the electric field strength is  kV/m  since in the definition of the functions  cvfe 
and cvfez in 2.2.4  D = cvgd is used, whose value is defined in mm in  1.1, while we use  MKSA units.

cvtru  =  { Hue[0], AbsoluteThickness[2], 
          Line[{{-cvw/2 + cvmc, -10 cvmaE}, {-cvw/2 + cvmc, 
                cvmaE}}], 
Line[{{cvw/2  + 
                  cvmc, -10 cvmaE}, {cvw/2 + cvmc, 
                10  cvmaE}}]};
cvtrl  =  { Hue[0], 
          Line[{{-cvw/2 + cvmc, 
                0}, {-cvw/2 + 
                  cvmc, -cvmaE}}], 
Line[{{cvw/2 + 
                  cvmc, 0}, {cvw/2 + cvmc, -cvmaE}}]};

cvp2 = Plot[{cvfez[xx + I cvgd]//Im},{xx, -cvplr, cvplr},DisplayFunction ->  Identity];
cvp1 = Plot[{cvfez[xx ] // Im},{xx, -cvplr, cvplr},DisplayFunction ->  Identity];

Print["Electric field distribution on upper \
electrode"]
\(cvp23\  = \ 
          Show[cvp2, \ ImageSize\  -> \ cvims, 
            Epilog\  -> \ 
              cvtru, 
DisplayFunction -> \ $DisplayFunction, AxesLabel -> {"x [mm]", None}, \ 
            PlotLabel\  -> \ 
SequenceForm[\ 
                Subscript["E", "y"], \ "  [kV/m]"]];\)

Print["Equipotential and electric field lines"]
cvcm = CartesianMap[cvf,{cvlu,  cvru, cvdu},{$MachineEpsilon, π (1 - $MachineEpsilon), π (1 - 2  $MachineEpsilon)/cvneq},
 ImageSize  ->  cvims ,
 PlotRange  -> {cvplr {-1, 1}, {-0.1, 
                    1.2  cvgd }},
AxesLabel -> {"x [mm]", "y \
[mm]"},
Epilog -> {Thickness[cvtcb], 
                  Line[2 {{-cvplr, 0}, {cvplr, 
                          0}}], 
Line[{{-cvplr, 
                        cvgd}, {cvc - cvw, cvgd}}], 
                  Line[{{ cvplr, cvgd}, {cvc, 
                        cvgd}}], 
Hue[0], 
                  Line[{{cvc, cvgd}, {cvc - cvw, 
                        cvgd}}], 
Text[
                    SequenceForm["Φ = ", 
                      cvV, " Volt"], {cvmc 0.75, 1.15 cvgd}]}];

Print["Electric field distribution on lower electrode\
"]
\(Show[cvp1, 
        Graphics[
          cvtrl], \ \ PlotRange\  -> {cvplr {\(-1\), 
                1}, {0, \(-cvmaE\)\ }}, 
\ 
        ImageSize\  -> cvims, 
        DisplayFunction -> \ $DisplayFunction, 
AxesLabel -> {"x [mm]", None}, \ 
        PlotLabel\  -> \ 
SequenceForm[\ 
            Subscript["E", "y"], \ "  [kV/m]"], 
        Epilog\  -> \ cvtrl];\)

4.  Field and Potential at a Selected Point

Below the coordinates  (cvxp, cvyp )  of a point  zp  may be chosen by the user. The values of the potential and 
of the electric field at this point  are computed and printed. 
The equipotential line and the field line passing through that point are shown.

cvWp is the point  Wp  corresponding to  zp   computed by the inverse mapping function  W = (f^(-1))(z) = cvi.  
This value is used to compute the complex potential in the W-condensor, which is equal to the potential at zp 
in the real condensor. Wp is also used to compute the complex electric field by the formula given in  2.2.4.  
cvpc (cvec) displays the equipotential (electric field ) line passing through  zp.  The factor  1000  in the second 
Print command (giving the electric field strength)  is  needed since in the definition of the function  cvfe in 2.2.4  
D = cvgd is used, whose value is defined  in mm in 1.1, while we use  MKSA units.

cvxp  =  -10 ; cvyp  =  
        2 ;

cvWp = cvi[cvxp   + I cvyp];
Print[
        SequenceForm["At point (cvxp,cvyp) = (", cvxp, ", ", 
          cvyp, ") mm : ", "Potential = ", 
          N[Re[-I cvV/π cvWp]] // Chop, " V;"]];
Print[
          SequenceForm["             (", 
            Subscript["E", "x"], ",", 
            Subscript["E", "y"], ") = (", 
            N[Re[1000 cvfe[cvWp]]], ", ", 
            N[Im[1000 cvfe[cvWp]]] ") V/m "]];

cvpc = 
        ParametricPlot[
          Evaluate[{Re[cvf[I Im[cvWp] + s]], 
              Im[cvf[I Im[cvWp] + s]]}], {s, -20, 40} , 
          DisplayFunction -> Identity, 
          PlotStyle -> {Dashing[{ .01}]}];
cvec=ParametricPlot[Evaluate[{Re[cvf[Re[cvWp] + I s]], 
                Im[cvf[Re[cvWp] + I s]]}],{s, 0, Pi},DisplayFunction ->  Identity];
cvpoi=Show[cvpc,cvec,AspectRatio -> Automatic,ImageSize -> cvims,DisplayFunction ->  $DisplayFunction,TextStyle -> {FontSize -> 16},AxesLabel -> {"x [mm]", "y [mm]"},
 PlotRange  -> {cvplr {-1, 1}, {-0.1, 
                  cvgd 1.3}},Epilog -> {Thickness[cvtcb], 
                Line[2 {{-cvplr, 0}, {cvplr, 
                        0}}], 
Line[{{-cvplr, 
                      cvgd}, {cvc - cvw, cvgd}}], 
                Line[{{ cvplr, cvgd}, {cvc, cvgd}}], 
Hue[
                  0], Line[{{cvc, cvgd}, {cvc - cvw, 
                      cvgd}}], 
Text[
                  SequenceForm["Φ = ", 
                    cvV, " Volt"], {cvmc  +  cvw/4. , 
                    1.15 cvgd}], 
AbsolutePointSize[4], 
                Point[{cvxp, cvyp}]}];

cvppl  =  PlotPoints  ->  100000;

5.   Weighting Field = Current Induced on the Electrode

The current I induced by a charge  q  moving with velocity  (Overscript[v, →])   on an electrode is determined by the weighting field 
 (Overscript[E, →]) generated by the Voltage V applied to that electrode according to the formula  I = - q ((Overscript[v, →]) ·(Overscript[E, →]))/V.  Here the charge
 moves in the vertical direction so that  I = - q v (Subscript[E, y]) /V. The list  cvxtl contains the horizontal coordinate  of various 
 vertical trajectories. For these the quantity  I/qv  is displayed as a function of  y = cvyt  in the pictures.

The user may select the horizontal coordinates  x  of a set of vertical trajectories. These are given in the list
cvxtl  in units of w  =  cvw.

cvxtl  =  
        cvw  {0,  .25,   .5,   .75,  1,  1.25,  1.5} + 
          cvmc;

cvpli = Table[Plot[-Im[cvfe[cvi[cvxtl[[k]]  +  I cvyt]]]/
                  cvV,{cvyt, 0, cvgd},DisplayFunction ->  Identity, 
PlotStyle  ->  {Hue[
                      0.1 k],  Thickness[0.005]},
\(PlotLabel\  -> \ \ SequenceForm["x = ", cvxtl[\([k]\)], " mm"]\),
AxesLabel  ->   {"y \
[mm]", "I/qv [1/mm]"}],{k, Length[cvxtl]}];

In the first picture below the position of the trajectories (various colors) in the condensor are shown; in the  next
one the corresponding  current ratios (same colors) are shown as functions of the coordinate y.

cvtli  =  
        Table[{Hue[0.1 k], 
              Line[{{cvxtl[[k]], 0}, {cvxtl[[k]], cvgd}}]}, {k, 
              Length[cvxtl]}] // Flatten;
cvwxl  =  
        Show[Graphics[Prepend[cvtli, Thickness[0.005]]], 
          Graphics[{Thickness[cvtcb], 
              Line[cvplr {{-1, 0}, {1, 
                      0}}], 
Line[{{-cvplr, 
                    cvgd}, {-cvw + cvc, cvgd}}], 
              Line[{{cvplr, cvgd}, {cvmc, cvgd}}], 
Hue[0], 
              Line[{{cvc, cvgd}, { cvc - cvw, 
                    cvgd}}]}], 
Axes  ->  True,  
          ImageSize  ->  500];

cvwcl  =  
        Show[cvpli,  PlotLabel  ->  None,  
          ImageSize  ->  500, 
          DisplayFunction  -> $DisplayFunction];

6.   Current Induced on the Electrode for a Selected Trajectory

The user may select the horizontal coordinate  x =cvxs  of a vertical trajectory. The first figure shows the position of this 
trajectory in the real condensor. The next one gives the current ratio induced in the upper left electrode as function of the 
vertical position  y = cvyt  of the point charge, using W = (f^(-1))(z) = cvi  in the function cvfe for the complex electric field
introduced in  2.2.4.

cvxs  =  -8;

Show[Graphics[{Thickness[0.005],  Line[{{cvxs, 0}, {cvxs, cvgd}}]}], 
        Graphics[{Thickness[cvtcb], 
            Line[cvplr {{-1, 0}, {1, 
                    0}}], 
Line[{{-cvplr, 
                  cvgd}, {cvc - cvw, cvgd}}], 
            Line[{{ cvplr, cvgd}, {cvc, cvgd}}], 
Hue[0], 
            Line[{{cvc, cvgd}, {cvc - cvw, 
                  cvgd}}]}], 
Axes  ->  True,  
        ImageSize  ->  500];
cvpls  =  
        Plot[- Im[cvfe[cvi[cvxs +  I cvyt]]]/cvV, {cvyt, 0, 
            cvgd},  
PlotStyle  ->  {Thickness[
                0.005]},  
          ImageSize  ->  
            500, 
PlotLabel  ->   SequenceForm["x \
= ", cvxs, " mm"], 
AxesLabel  ->   {"y \
[mm]", "I/qv [1/mm]"}];

7.   Distribution of Electric Field

The distribution of the absolute value of the electric field over that part of the configuration, where the variation of the 
electric field is largest, is shown in the picture below. The real and imaginary parts of the function  cvf[W] = 
cvf[u + I v] give  the position coordinates  x  and  y;  cvfe[u + I v]  the complex electric field (s. subsect. 2.2.4). 
The operator Abs[] applied to this function in the command for the picture cvabse  produces  |E|;  the operator Im[] in 
cvcey leads to a plot for (Subscript[E, y]).  This is the weighting field in a case where the influencing charge is moving along the 
y-direction as is the case in RPC's.

cvabse = 
        ParametricPlot3D[
          Evaluate[{cvf[u  +  I v] // Re, cvf[u  +  I v] // Im, 
              Abs[1000 cvfe[u  +  I v]]}], {u, -cvw, 
            cvw},  {v, $MachineEpsilon, Pi (1 - $MachineEpsilon)},  
          BoxRatios  ->  {1, 1,  .75}, 
          PlotRange  ->  {0, 
              0.15 10^5  cvmaE}, 
PlotPoints  ->  
            50, AxesLabel  -> {"x [mm]", "y [mm]", "|E| [V/m]\
"}, 
ImageSize  ->    600];

The two pointed towers arise from the infinite field values at the edges of the Voltage strip.

cvey = 
        ParametricPlot3D[
          Evaluate[{cvf[u  +  I v] // Re, cvf[u  +  I v] // Im, 
              Im[1000  cvfe[u  +  I v]]}], {u, -cvw, 
            cvw},  {v, $MachineEpsilon, Pi (1 - $MachineEpsilon)},  
          BoxRatios  ->  {1, 
              1,  .75}, 
PlotPoints  ->  50, 
          PlotRange  -> cvV/cvgd 10000.  {-1, 1}, 
          AxesLabel  -> {"x [mm]", "y [mm]", 
              SequenceForm[Subscript["E", "y"], " [V/m]"]}, 
          ImageSize  ->  600];

The edges bounding the Voltage strip lead to infinite jumps of the electric field, cf. Fig.cvp23.

On[General::spell1]