如何设置Floquet端口
什么是Floquet? 广义的弗洛凯理论(Floquet theory)是常微分方程的一种,与周期系数有关,除了电磁场,其应用还包括固态物理,量子领域,宇宙学等。在电磁仿真中,Floquet就成了端口激励,配合周期性的边界条件,用于研究周期性结构。
Floquet 端口与waveguide端口类似,都能求解反射和传输系数。
区别如下:
1)结果:Waveguide给出的结果是S11和S21,高级模是S1(x),S1(x)和S2(x),1(x);而Floquet给出的结果是SZmax(x),Zmin(x)和SZmax(x),Zmax(x),其中x都是模数。所以可以看出Floquet只有Z方向激励,而且是从Z方向的边界激励。而waveguide端口XYZ方向都可以。
floquet 端口名称和结果文件夹:
2)边界:Waveguide端口可以用E或M边界限制,从而手动形成具体的激励模式(假设端口激励整个空间),比如X方向为E,Y方向为M,然后把端口放在Zmax或Zmin,这样就和Floquet的基础模式等效,TE(0,0)或TM(0,0)。而Floquet端口必须要求XY方向是unit cell(为了Floquet算法),Z方向是Open(add space) 或Open。边界设置好之后,Floquet Boundaries 选项就可以点击了。
3)求解器:Waveguide端口可用于FIT,TLM,TEM,而Floquet只支持FEM。
4)入射角:Waveguide在FIT中需要和XYZ轴垂直,所以只能用于垂直入射。而Floquet端口在FEM中,入射角可以用参数Theta/Phi控制。
如何设置Floquet端口?这里不建议手动改动边界和定义Floquet,因为CST的高效做法是template模板:
选择周期结构,超材料-单元,可见推荐求解器是F,就是Floquet端口,T求解器只能用于waveguide端口处置入射:
用模板的最大好处就是自动入射角控制Theta/Phi:
忘记theta/phi默认定义的可以参考帮助文档:
当然不确定方向时最好的办法就是加个场监视器看场传播,比如theta=45,phi=0,就是X方向朝Z方向45度入射:
这个模型是component library案例库里面的FSS ring resonator。顺便提一下就是unitcell边界的场视图是4个单元图。
接下来是Floquet端口的其他设置:
1)Number of floquet mode, 默认是2,就是两个基础模式,并且beta和alpha都在表格中自动算出。那很多初学者可能会问,这么多模式怎么用呢?简单回答就是适当多考虑几个模式。虽然两个基础模是重点关心的,但是电磁场在结构影响后,再传播抵达端口的电磁场会有高阶模混合在一起,而端口没有计算高阶模的话,是不会考虑高阶模的计算,处理和记录的。而且越高频,能传播的高阶模就越多。不过大部分高阶模是倏逝波(Evanescent wave), 很可能抵达不了端口,所以说适当多考虑。
2)Distance to reference plane: 用于S参数的相位的调整,默认为零,正数是向外移,复数向内移。这个相当于Z方向的背景距离调整。这里可能有人会问,Z方向垂直入射时相位调整好理解,如果入射有一定角度时,相位怎么理解呢?其实是一样的,因为时周期结构,可以想象成无限大的平面,所以相位就只和背景距离有关了。这里涉及到另一个问题,一般Z 方向背景距离应该设置多少呢?如果是默认的open (add space),背景距离是中心频率的1/4波长。用户可以改成open,然后背景中手动定义距离,然后用这个distanceto reference plane把相位结果调整到结构表面,这样的S参数结果就是结构本身的相位,排除背景。那为什么不把背景距离设置成零呢?设置为零就是floquet端口贴上了结构,这种结构近场直接接触端口是需要尽量避免的,背景距离太小,结果不准,且一般都会报错。背景距离太大,还要考虑端口模式计算了多少,就是刚才的倏逝波问题,有的模式无法抵达端口,所以Z方向背景距离需要做个收敛分析,找个合适的距离计算。
3)Polarization independent of scan angle phi:这个不容易理解,其实就是定义极化方向。通常不需要,因为一般极化都垂直于入射角,所以跟着phi默认的就可以。勾选可以自定义极化方向,拿个theta=45,phi=45的例子,不勾选,极化方向与XY平面平行:
勾选+极化0度,极化方向与XZ平面平行:
勾选+极化45度,极化方向指向原点:
勾选+极化90度,极化方向与YZ平面平行:
可见勾选会使极化方向重新定义(其实是跟端口的u方向有关),不容易理解的话,最好就是观察极化方向来确定是不是所需要的极化。
其他选项都是一些模式排序和查看之类的,就跳过了。