共面波导的场线

共面波导的场线

我想画出共面波导的电场线和磁场线。类似于图 (b)图像。我想用 TikZ 画这个。我可以通过某种方式破解一些看起来或多或少像它的丑陋代码。但是,我想创建一个完美的图像。

让我来解释一下对我来说最大的问题:波导由内导体和另外两个导体组成。电场线从内导体到外导体呈椭圆曲线。磁场线在内导体周围形成椭圆。主要方面,在许多图像中经常显示错误,是电场线和磁场线总是垂直相交。如您在上图中所见,它看起来不错,但线条并不垂直。

我可以以某种方式绘制一些弯曲曲线并调整参数直到看起来不错。但我想要一个干净的解决方案,以真正垂直的方式绘制这些线。我试图找出一些角度保持变换(莫比乌斯变换?),将网格映射到椭圆/双曲曲线上。但我在这方面的数学技能早已消失。

我希望有一个人可以帮助我。

编辑:电场线也应该垂直于导体的表面。

答案1

正如评论中所说,这些场线的问题可以在静态静电和磁场二维场的等势线中重现。下面是使用包绘制场线的代码pgfplots(基于 PFG/TikZ),以及绘制“轮廓线”的功能,通过外部调用gnuplot

gnuplot由于字段是使用可以处理但不能处理的复数获得的pgfplots,因此我不得不求助于选项raw gnuplot,如文档pgfplots这个问题

有一份文档解释了这些字段的派生这里

\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}

结果是:

在此处输入图片描述

注意:

  • 正确渲染大面积区域需要非常高的采样率(set isosamples 50;),从而产生大量 pdflatex无法开箱即用的数据(尽管三者之一 \addplot可以毫无困难地编译)。因此,必须使用选项编译此文件lualatex-enable-write18或者pdflatex在扩展后使用,如上所述这一页
  • 我把(红色)电场图分成两部分,以避免在导体附近绘制非常高密度的等高线。
  • 可以修改下面的几何参数\begin{tikzpicture}来调整条带的宽度。
  • 编辑2:在某些点上,(蓝色)电场线相对于导体的正交性不被尊重。这是由于所采用的建模中厚度被忽略了,使得得到的公式在短距离上无效(由于结果的形式相当简单,可以用一种相当简单的方法解决这个问题)。从物理角度来说,设置=0 使得导线内部的线的曲率趋于无穷大。

编辑1:这是场计算和 TikZ 代码中的一个小不一致。现在已在支持文档、代码gnuplot和图片中进行了更正。旧图片看起来很奇怪,因为场在很远的距离下看起来一定像四极体。

同时,为了获得更有趣的模式,我们指定了等势能级。这些能级略微取决于所选的几何参数,必须针对不同的几何形状进行修改,或者set cntrparam levels discrete ....;可以用以下方式替换这些线:set cntrparam levels auto 20;

编辑3:我刚刚意识到我的回答并没有真正解决 OP 问题,因为它没有考虑到基板的(通常很大的)介电常数。可以使用图像方法(因为问题被转化为静电问题)来解决这个问题。这还需要释放假设 $t$ 可忽略不计,这在支持 PDF 中执行的问题分析中并不困难,同时保持完全相同的方法。我可能会在接下来的几周内更新它以及 tikz+gnuplot 代码。

相关内容