As said in the comment, the problem of these lines of field can be recast in equipotential lines of static electrostatic and magnetic 2D fields.
Below is a code that plot the fields lines, using the package pgfplots
(based on PFG/TikZ), and its functionality to plot "contour lines", by an external call to gnuplot
.
As the fields are obtained by using complex numbers that gnuplot
can handle but not pgfplots
, I had to resort to the option raw gnuplot
, as described in the pgfplots
documentation and in this question.
A document explaining the derivation of these fields is available here
\begin{tikzpicture}
% geometrical parameters
\def\ai{1}
\def\bi{1.5}
\def\bii{6.}
% raw gnuplot setup
\def\gnuplotcommon{
set contour base;
set cntrparam cubicspline;
unset surface;
set key off;
set view map;
set isosamples 50;
ii={0,1};
FF(x,y)=((x)+ii*y)*(log((x)+ii*y)-1);
FFF(x,y)=(FF(x-\ai,y)-FF(x+\ai,y))-(\ai/(\bii-\bi))*
((FF(x-\bii,y)-FF(x-\bi,y))+(FF(x+\bi,y)-FF(x+\bii,y)));
}
\begin{axis}[
no markers, axis on top, tick label style={font=\small},
minor y tick num=1, minor x tick num=1,
y label style={at={(axis description cs:-0.05,.5)},rotate=-90,anchor=south},
xlabel={$x$}, ylabel={$y$},
xmin=-10, xmax=10, ymin=-10, ymax=10,
width=10cm, height=10cm,
point meta=10,empty line = jump
]%
% magnetic field
\addplot[contour prepared,raw gnuplot, thick, contour/draw color=red,contour/labels=false]
gnuplot {%
\gnuplotcommon
set cntrparam levels discrete 3.8,3.4,3,2.6,2.2,1.9,1.7,1.4,1.2,1,
0.8,0.6,0.4,0.5,0.2,0,-0.2,-0.4,-0.6,-0.8;
splot[-10:10][-10:10] real(FFF(x,y));
};
% electric field 1/2 top
\addplot[contour prepared,raw gnuplot, thick, contour/draw color=blue,contour/labels=false]
gnuplot {%
\gnuplotcommon
set cntrparam levels discrete -2.5,-2.25,-2,-1.75,-1.5,-1.25,-1,-0.75,-0.5,-0.25,-0.1,0,
0,0.1,0.25,0.5,0.75,1,1.25,1.5,1.75,2,2.25,2.5;
splot[-10:10][0.01:10] imag(FFF(x,y));
};
% electric field 1/2 bottom
\addplot[contour prepared,raw gnuplot, thick, contour/draw color=blue,contour/labels=false]
gnuplot {%
\gnuplotcommon
set cntrparam levels discrete -2.5,-2.25,-2,-1.75,-1.5,-1.25,-1,-0.75,-0.5,-0.25,-0.1,0,0,
0.1,0.25,0.5,0.75,1,1.25,1.5,1.75,2,2.25,2.5;
splot[-10:10][-10:-0.01] imag(FFF(x,y));
};
% conductors
\addplot[mark=none, black, ultra thick] coordinates {(-\ai,0) (\ai,0)};
\addplot[mark=none, black, ultra thick] coordinates {(-\bii,0) (-\bi,0)};
\addplot[mark=none, black, ultra thick] coordinates {(\bi,0) (\bii,0)};
\end{axis}
\end{tikzpicture}
With the result:

Notice:
- a correct rendering on a large region requires a very high sampling
(
set isosamples 50;
) producing a rather large amount amount of data that
pdflatex
can not handle out of the box (though one of the three
\addplot
alone can be compiled without trouble). Hence this file
must be compiled using lualatex
with the -enable-write18
option,
or using pdflatex
once it has been extended as explained on this
page.
- i have split the (red) electric field map in two parts in order to avoid the drawing of very high density contours lines in the vicinity of the conductors.
- The geometrical parameters just below
\begin{tikzpicture}
can be modified to tune the width of the strips.
- EDIT 2: At some points the orthogonality of the (blue) electric field lines with respect to the conductors is not respected. This results from the adopted modelization where the thickness t has been neglected, making the resulting formula invalid at short distance (thanks to the rather simple form of the result, this could be fixed in a rather simple way). In physical terms, setting t=0 makes the curvature of the lines going to infinity inside the conductors.
EDIT 1: it was a small inconsistency in both the calculation of the field and the TikZ code. These are now corrected in the supporting document, the gnuplot
code, and the picture. The older picture seemed odd_looking, as the fields must look like quadrupolar at large distance.
At the same time, the equipotential levels have been specified in order to obtain more interesting patterns. These levels slightly depend on the chosen geometrical parameters and would have to be modified for a different geometry, or the set cntrparam levels discrete ....;
lines could be replaced by set cntrparam levels auto 20;
Edit 3: i just realized that my answer does not really address the OP question, as it didn't take into account the (usually large) dielectric permittivity of the substrate. Some trickery is possible to fix this by using the method of image (as the problem is translated into an electrostatic one). This would
also require to releases the assumption $t$ negligible, which is not really difficult in the analysis of the problem performed in the supporting PDF, while keeping exactly the same approach. I will likely update it, as well as the tikz+gnuplot code, in the upcoming weeks.