CST电磁仿真软件表面等离子极化激元SPP --- 一维光栅耦合 - 衍射模式, 效率, Floquet端口

本文主要是介绍CST电磁仿真软件表面等离子极化激元SPP --- 一维光栅耦合 - 衍射模式, 效率, Floquet端口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这两期我们看一下衍射光栅的高阶衍射、衍射效率、反射率。具体到仿真设置,就是Floquet端口的模式分析,S参数与衍射效率和反射率的关系。那么研究这些衍射和表面等离子极化激元SPP有什么关系呢?关系可大了,光栅是一种能够用来激励出SPP模式的结构,所以我们要了解其衍射特性,才能激励出表面波SPP。

使用等离子激元单元模板,开启计算透射率反射率吸收率:

添加银材料,画个因材料的基底,这里d是光栅周期长度,1000纳米:

将WCS移至上方中间,添加光栅,这里ratio是光栅与周期的比,可放0.5,h是光栅高度,可放250:

Z+方向加1000:

Z-方形电边界,其他为Unit Cell:

边界扫描角设theta,初始为0(垂直入射):

进入Zmax端口:

可见该尺寸有6个模可传播(有beta值),这样我们将仿真模数改成6:

注意这里截图只显示了前5个模式。6个模式分别是:

TE(0,0),TM(0,0),TE(1,0),TM (1,0),TE(-1,0),TM (-1,0)。

括号里第一个数字对应X,对应光栅衍射中的0阶,1阶和-1阶模式;第二个数值对应Y都是0就是指1维光栅。

如果下拉列表就可以看到可传播的模式有beta传播常数,不可传播的模式则是alpha衰减系数。

还要注意,这下面的Theta是0,表示这些模式beta和alpha分析的是垂直入射的情况;如果将Theta改成45度,点击update,模式就都更新了,虽然还是只有6个传播模,但是X发生改变,阶数不同了。

所以,在我们等一下研究入射角时,我们就要增加计算模式,比如10个模式,这样就包括了-2阶,-1阶,0阶,1阶和2阶。更要注意,这个theta和边界扫描角参数theta作用不同,这里只是计算模式参数,边界那个是真正用来扫描入射角的。

1.  垂直入射的衍射模:

Theta先用0,我们在求解器中,选择Zmax端口只激励两个基础模,因为我们要仿真出光栅的衍射,而不是用衍射作为输入仿真。这里选择一个自动的频点进行仿真,也就是求解器的频点。

仿真结束,看S参数,先看TE模,S11反射不高,主要以S31和S51两个模式传出能量,其他S21,S41和S61可忽略,因为他们是TE与TM模转换,这里基本不涉及。同理TM模S参数效果相同。

查看模式场,垂直入射的TE(0,0)模:

该模激励出来的电场:

垂直入射的TM(0,0)模:

该模激励出来的电场:

垂直反射回来的0阶衍射模TE(0,0)和TM(0,0)就不显示了,很好理解,下面看看高阶模方向。

反射的1阶衍射模TE(1,0)方向:

反射的1阶衍射模TM(1,0)方向:

反射的-1阶衍射模TE(1,0)方向:

反射的-1阶衍射模TM(1,0)方向:

可见这种方形的光栅差不多把垂直入射波衍射到了两边45度角左右,能量比垂直反射回去要高很多,这就是光栅的模式调节作用。

对于垂直入射的模式,就是对应公式中的m:

2.  凹槽深度(groove depth)与衍射效率

该光栅早在1982年就被分析过了,文献中给出了1阶衍射效率和吸收率,分别与光栅深度的关系(TE):

这就需要用到模板帮我们添加好的这些结果了:

R是反射率,T是透射率,A是吸收率。在这里的透射率是指不同模式之间的转换能量,也就是光栅模式衍射的效率。那么这个E极化的1阶衍射效率是哪个T结果呢?是T31。文献还给了H极化的1阶衍射效率和吸收率,这个是T42。

所以,我们所需要做的就是扫描参数h了:

扫描结束后,可用后处理将离散1D结果合并成0D曲线:

四个结果,四个处理,我就不改名了,

可见与文献结果一致。

3.  扫描入射角

文件另存,将参数改成以下数据:

波长看647.1纳米:

除了材料库中的银,我们自己添加Drude模型银材料:

由于要扫描入射角,所以Floquet模式数量要增加,计算高阶衍射:

频域求解器还是计算1个频点,两个基础模:

参数扫描Theta到70度,开始。

扫描过后,反射率会在结果文件夹中,不过都是一些离散频点,需要换成0D曲线:

对两个R11分别提取0D结果:

查看曲线,可见两个基础模的反射效果并不一样:

这个现象熟悉表面等离子激元的朋友肯定能猜到了,就是TM才能激励出SPR模,TE不行,TE是很单调的(monotone behavior)。换句话说,在入射角为14,24和60度时,TM模发散能量很低,那能量去哪里了?答案是表面传播了,只有TM模(也叫H极化、p极化或P-偏振光)可在该光栅表面激励起等离子极化激元。

必须和文献中计算和测量的一致:

如果还不明白就看动图:

theta=14度:

theta=24度:

theta=30度(非表面传播):

参考:

Sheng, P., Stepleman, R. S., &Sanda, P. N. (1982). Exact eigenfunctions for square-wave gratings: Applicationto diffraction and surface-plasmon calculations. Physical Review B, 26(6),2907–2916. doi:10.1103/physrevb.26.2907 

小结:

1.  F-solver的Floquet端口模式对应光栅衍射的模式,方便我们研究光衍射,以及用光栅激励SPP。

2.  如果材料库中的光学材料色散与所需的不同,可用本案例提到的宏,生成drude模型材料。

3.   (光)透射率(Transmittance)在光栅衍射分析时可以是衍射率(diffraction efficiency)哦!搞清楚Floquet模式就不会搞混定义了~

【相关内容】

 CST中设置正交激励的方法

CST电磁仿真软件如何使用自定义的频域材料色散介电

CST微波仿真软件如何画出空间螺旋结构和口圆环谐振器

(内容、图片来源:CST仿真专家之路公众号,侵删)

版权与免责声明:

凡未注明作者、来源的内容均为转载稿,如出现版权问题,请及时联系我们处理。我们对页面中展示内容的真实性、准确性和合法性均不承担任何法律责任。如内容信息对您产生影响,请及时联系我们修改或删除。

这篇关于CST电磁仿真软件表面等离子极化激元SPP --- 一维光栅耦合 - 衍射模式, 效率, Floquet端口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1027763

相关文章

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

Flask解决指定端口无法生效问题

《Flask解决指定端口无法生效问题》文章讲述了在使用PyCharm开发Flask应用时,启动地址与手动指定的IP端口不一致的问题,通过修改PyCharm的运行配置,将Flask项目的运行模式从Fla... 目录android问题重现解决方案问题重现手动指定的IP端口是app.run(host='0.0.

nginx配置多域名共用服务器80端口

《nginx配置多域名共用服务器80端口》本文主要介绍了配置Nginx.conf文件,使得同一台服务器上的服务程序能够根据域名分发到相应的端口进行处理,从而实现用户通过abc.com或xyz.com直... 多个域名,比如两个域名,这两个域名其实共用一台服务器(意味着域名解析到同一个IP),一个域名为abc

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭