FDTD快速入门之Lumerical脚本语言Pickup(五)光源(Source)


前言

这篇文章里,我们接着前一篇文章,讲讲光源的设置。


一、平面波(Plane wave)

下面是一段平面波的设置代码:

addplane;
set("injection axis","z");#基准轴
set("direction","backward");#入射方向
set("x",0);
set("x span",0.4*um);
set("y",0);
set("y span",0.4*um);
set("z",1*um);
set("wavelength start",1.5*um);#起始波长
set("wavelength stop",1.5*um);#截止波长
set("amplitude",1);#振幅,默认为1,无特殊需要可不设置
set("phase",0);#初始相位,角度制,默认为0,无特殊需要可不设置
set("angle theta",30);#入射角theta
set("angle phi",0);#入射角phi
set("polarization angle",90);#偏振角

效果见图
在这里插入图片描述
关于几个参数的说明:
"injection axis":基准轴,可选“x”、“y”、“z”三种,作为其他参数设置的参考轴。
"direction":入射方向,可选“forward”、“backward”两种,控制波沿z轴的正向或反向传播。
"wavelength start"和"wavelength stop":波长范围,这两个参数分别控制平面波的最短波长和最长波长。
"polarization angle":偏振角,角度制,从z轴入射时默认为x方向偏振,设定该角度值即设定xy平面上偏振方向与x轴的夹角。
"angle theta"和"angle phi":空间方位角,角度制。这两个角可控制光波入射的角度,例如本例中,入射基准轴为z轴,theta角为30°,所以入射方向相对z轴顺时针转过30°。

二、高斯光源(Gaussian)

高斯光源和平面波的设置方法十分相似,代码如下:

addgaussian;
set("injection axis","z");
set("direction","backward");
set("x",0);
set("x span",0.4*um);
set("y",0);
set("y span",0.4*um);
set("z",1*um);
set("wavelength start",1.5*um);
set("wavelength stop",1.5*um);
set("angle theta",0);
set("angle phi",0);
set("polarization angle",30);

效果如下:
在这里插入图片描述

三、全场散射场光源(TFSF)

全场散射场(TFSF)是平面波的一种,关于TFSF与平面波的区别和详细说明可以在kx论坛上找到,这里只列出一段参考代码:

addtfsf;
set("injection axis","z");
set("direction","backward");
set("x",0);
set("x span",0.4*um);
set("y",0);
set("y span",0.4*um);
set("z",1*um);
set("wavelength start",1.5*um);
set("wavelength stop",1.5*um);
set("amplitude",1);
set("angle theta",0);
set("angle phi",0);
set("polarization angle",30);

四、偶极子(Dipole)

震荡的偶极子(Dipole)常常作为产生电磁波的源,它十分适合用于点光源的模拟,这里列出典型的偶极子设置代码如下:

adddipole;
set("dipole type","Electric dipole");#偶极子类型,可选"Electric dipole","Magnetic dipole"两种
set("x",0);#设置中心坐标
set("y",0);
set("z",1*um);
set("wavelength start",1.5*um);
set("wavelength stop",1.5*um);
set("amplitude",1);
set("theta",0);#方位角
set("phi",0);#方位角
set("phase",90);#相位

猜你喜欢

转载自blog.csdn.net/weixin_44224652/article/details/112758774