天线远场辐射的三维方向图


#1

老师您好,
根据您的建议我修改了模型,现在还有两个问题:

  1. 我的模型周围用二氧化硅包围,为了得到远场分布,我扩大了FDTD仿真区域在z方向上的范围,在空气中加了一个面监视器T_up,然后再通过T_up监视器的数据计算得到的farfield是不是就是准确的远场?(这样是为了避免监视器处于远场处折射率不一样的情况)
  2. 利用farfield我只能得到远场在某个方向上的投影,或者可以得到某个立方体区域的远场强度ff.lsf,如果想要得到类似于下图的这种三维辐射方向图该怎么办呢?
    OPA4.fsp (456.6 KB)
    ff.lsf (633 Bytes)

#2

A1:请明确说明什么方向的远场?按我的理解应该是天线在XZ半平面的辐射,但是由于Z方向有空气不能这样计算。既然天线埋在SiO2里面,我建议扩展它,这样可以用类似T的监视器监视器得到半球上的远场。
现在的设置中,T_up得到的是XY面的场,应该不是你需要的。
A2:farfield可以得到半径一米的半球表面上的远场,因此,用修改后的RT监视器可以得到两个半球上的远场,分别对应辐射场合反射场。
得到准确结果的前提是,监视器边缘的场几乎为零。

目前我们的软件不能显示你说的这个三维辐射图,也没有脚本直接得到类似结果。

不过,用BOX分析组中的监视器和合适的Farfieldexact,应该能得到整个球面上的结果,如何显示就困难了。

希望你再考虑一下。另外详细阅读文献看看他们用的什么计算方法。
修改后的文件供你参考。
OPA4_modified.fsp (463.2 KB)


#3

谢谢孙老师,不过我还有一些问题没有弄明白:
1.我想要得到其实是远场在每个方向上的分布。我的结构是用SiO2包埋,但SiO2不是无限大的,只有薄薄的一层,远场处的背景仍然是空气,那么这时候是不是需要利用Change far field index分析组来计算呢?
以您修改之后的模型OPA4_modified.fsp中的T_up监视器和分析组scat_ff为例。
2.我一直理解的是,只要有一个面监视器,根据面监视器上的场就可以得到远场任意位置的场分布。是不是根据函数farfieldexact3d(monitor,x,y,z,f),只需要把x,y,均设置为[-1,1],将z也从-1到1扫描记录下每个z位置对应的xy平面上的场分布即可得到边长为1m的立方体区域中任意位置的场分布?
3. 监视器T_up中的farfield的脚本是什么?从T_up的visualize中的farfield得到的是z轴上半球的远场分布吗?运行监视器T_up的visualize中的farfield,在1.55um处得到的场分布如下图中左侧所示,这些图不仅有方位角坐标,同时也能看出远场随俯仰角的分布;但如果用利用脚本把监视器T_up中的farfield保存出来再用matlab画出来,只能得到远场随xy坐标的分布(uz=1),也不能得到它随方位角的变化了,如图中右侧所示。是不是说我保存出来的数据只能得到沿z正方向距离结构1m处,xy平面上远场的分布?还是说是指上半个球面上远场投影到沿z正方向距离结构1m处的xy平面上的分布?
同时在matlab里面load出来dataTup.mat之后,电场都是不是都转了90度?下图右侧的场图都是旋转90度之后的结果。


4. 分析组scat_ff中的XY_halfspace中的数据里的E2_upper是不是应该与监视器T_up的visualize中的farfield得到的结果是一样的?运行分析组scat_ff,将里面的XY_halfspace这个结构体中的数据保存出来,用matlab画出的电场分布如下图所示。左图和右图分别是投影到沿Z轴1m和-1m处, XY平面上的远场分布吗?如果我直接右键运行分析组中的监视器z1的visualizer中的farfield是不是就能得到XY_halfspace中E2_lower的数据?
data = getresult(“scat_ff”,“XY_halfspace”);
?data;
lambda=data.lambda;
ux=data.ux;
uy=data.uy;
E_lower=data.E_lower;
E_upper=data.E_upper;
E2_lower=data.E2_lower;
E2_upper=data.E2_upper;
H2_lower=data.H2_lower;
H2_upper=data.H2_upper;
matlabsave(“data_hs”,E_lower,E_upper,E2_upper,E2_lower,lambda,ux,uy);


#4

A1:因为远场计算的原理是监视器位于均匀介质里面:


其实应该还有一条,如果考虑“薄薄的一层,远场处的背景仍然是空气”的情况,那应该要求这种反射不能与器件相互作用。而利用Change far field index分析组的前提就应该是这样。否则,近场已经考虑了这种作用,再考虑一次是不是重复了?
如果用scat_ff,则可以XY平面的远场。
用scat_ff里面的监视器,已经记录了近场的所有信息。如何得到你需要的远场,需要你自己处理,例如作适当的近似,而我们软件仅提供原理正确的方法。建议你找些参考文献看看。
T_up监视器只能给出Z〉0半空间的结果,但是与你要的“每个方向上的分布“有很大差别,除非这种结构的远场最后都在Z〉0空间
A2:同理,farfieldexact3d需要监视器及以后的区域是均匀介质。不过你可以近似试一下,使用scat_ff的监视器数据

A3:你是说在Visualizier里查看吧?应该是farfieldpolar3d。
参见这个例子https://kb.lumerical.com/en/index.html?solvers_far_field_projections_polarization.html
是半球面上的分布,脚本参见前面的例子。
理解了它是怎么算出来的,你就明白了。
我们是画在半球面上,Matlab是画在一个“平面”上,结果当然不同。我们脚本与Matlab相近但是不同,需要用户仔细检查,例如

A4:基本是,但是仍然有前面所说的问题,其前提要求所有监视器位于均匀介质中。虽然能得到两个半球面上的结果,如何分析它是个问题,因为有监视器位于两个介质中。

而XY, YZ, XZ则不同,因为一个是半球的表面(T_up的visualize),一个是0~360度的平面(scat_ff,可以看看其计算脚本)。

总之,这个问题比较复杂。如果用我修改过后的文件,则避免了这个问题,但是有不符合你的器件工作状态。不过你也可以考虑一下这个薄层的问题,其主要作用是什么?主要的辐射场在什么空间?也许一些近似是必要的。

请再考虑一下,并与你老师讨论一下。


#5

嗯,我大概明白了一些,谢谢孙老师