zoukankan      html  css  js  c++  java
  • FDTD吸收率计算

    一般情况下,相对的吸收率定义为A=1-R-T,R和T分别是反射率和透射率,均为正值,没有必要专门设置一个计算吸收率的监视器。一般仅需要将透射率T放到器件的透射方、反射率R放在光源的背后即可。
    实际上,只有周期结构平面波类型的光源(以及波导类的模式光源等)计算透射率和反射率才有物理意义。此时,只需要在透射率区添加一个透射率监视器,在光源背后,或者在光源与结构之间添加反射率监视器就可以。周期结构实际上也可以统称为光栅结构,因为是无限周期的,如果有高级衍射,或者需要分析不同衍射级的透射率反射率,需要使用光栅分析脚本。
    脚本语言:

    T=-transmission("T");
    R=transmission("R");
    A=1-T-R;
    f=getdata("T","f");
    plot(c/f*1e9,A,"wavelength(nm)","absorption");
    

    transmission函数的使用,透射率反射率正负号问题:
    transmission函数根据普适的定义通过对能流密度(颇印庭矢量的实部)积分然后与光源功率相比,获得强度(功率)反射率或透射率,是归一化的结果。由于不使用教科书中常用的反射/透射强度与入射强度之比,因此适合于用近场量的计算。在频域监视器里面只要在Data to record 中勾选 Output power即可。
    由于涉及颇印庭矢量的积分问题,因此,就有积分面(或线)的法向问题。 Lumerical规定面(或线)的法向沿坐标轴正向为正,否则为负。能流密度总是正的,因此,积分的结果,如果能流密度沿坐标轴正向,transmission给出的就是正的;否则,如果能流密度沿坐标轴负向,transmission给出的就是负的。而透射率反射率在物理上总是正的,因此,对于负的结果需要将其转换为正。在Visualizer里面,可以直接选-Re,在Script里面,可以在transmission前面添加负号以得到物理上正确的结果。如果你查看一些分析组和一些Script,里面有负号就不足为奇了。
    注意事项:
    1:如果得到的透射率或反射率有正有负,说明仿真设置有问题,参见这个帖子。
    2:对于光栅结构,transmission给出的所有衍射级的总透射反射率。如果要得到某衍射级的透射反射率,需要使用Grating 函数,专用分析组grating_transmission。
    3:原则上此函数之能用于分析周期物体+平面波光源,不能用于分析非周期物体,例如粒子散射+TFSF,因为此时TFSF的光源功率将随其尺寸大小而变,因此在TFSF里面监视器得到的结果将与TFSF的横向大小有关。
    4:Data to record 中的Px Py Pz是颇印庭矢量的三个分量,是空间坐标x,y,z 和频率f/波长的函数,而Output power是透射率反射率,只是频率f/波长的函数。一般不需要记录Px Py Pz,以节省内存。

  • 相关阅读:
    javaweb消息中间件——rabbitmq入门
    virtual box 桥接模式(bridge adapter)下无法获取ip(determine ip failed)的解决方法
    Apache Kylin本地启动
    git操作
    Java学习总结
    Java中同步的几种实现方式
    hibernate exception nested transactions not supported 解决方法
    vue 中解决移动端使用 js sdk 在ios 上一直报invalid signature 的问题解决
    cookie 的使用
    vue 专门为了解决修改微信标题而生的项目
  • 原文地址:https://www.cnblogs.com/lihao-bupt/p/13180640.html
Copyright © 2011-2022 走看看