TAGGED: Lumerical-FDTD
-
-
September 20, 2022 at 8:25 amJING PENGSubscriber
请问老师,如何在FDTD中设置入射光的光子轨道角动量OAM? 目前,我需要模拟计算不同OAM 模式的光入射到我的超材料表面,所产生的的光学效果。光的偏振态可以在光源的设置中进行设置,但是光子的轨道角动量一直找不到可以设置的地方。
我在论坛里找到一篇类似的文章,是用编程语言对入射光源的一些参数进行设置,如下所示。由于我对编程语言不是很熟悉,不知道孙老师能否修改/编写脚本程序,来设置具有不同OAM模式的入射光呢?谢谢
# scriptfile:usr_custom_source.lsf
# define position vectors
x=linspace(-10e-6,10e-6,401);
y=linspace(-10e-6,10e-6,401);
z=0; #this is z z-normal sourceX=meshgridx(x,y);
Y=meshgridx(x,y);lambda0=0.5e-6;
f=c/lambda0;
w=2*pi*f;
k=2*pi/lambda0;#calculate k-space field profiles
NA=0.2;kx=linspace(-k,k,200);
ky=linspace(-k,k,200);
Kx=meshgridx(kx,ky);
Ky=meshgridy(kx,ky);
phi=atan2(Ky,Kx);
theta=real(acos(sqrt(1-Kx^2/k^2-Ky^2/k^2)));
envelope=exp(-0.5*(Kx^2+Ky^2)/(NA*k)^2);Exk=cos(phi)*cos(theta)*envelope;
Eyk=sin(phi)*cos(theta)*envelope;
Ezk=sin(theta)*envelope;
Ex=-1i*czt(Exk,kx,ky,x,y);
Ey=-1i*czt(Eyk,kx,ky,x,y);
Ez=-1i*czt(Ezk,kx,ky,x,y);
Hxk=-sqrt(eps0/mu0)*sin(phi)*envelope;
Hyk=sqrt(eps0/mu0)*cos(phi)*envelope;
Hx=-1i*czt(Hxk,kx,ky,x,y);
Hy=-1i*czt(Hyk,kx,ky,x,y);
Hz=0*Ex;# sacle fild so E^2=1
E2=abs(Ex)^2+abs(Ey)^2+abs(Ez)^2;
scaleFactor=sqrt(max(E2));
Ex=Ex/scaleFactor;
Ey=Ey/scaleFactor;
Ez=Ez/scaleFactor;
Hx=Hx/scaleFactor;
Hy=Hy/scaleFactor;
Hz=Hz/scaleFactor;# package field data into the EM fields dataset
EM=rectilineardataset("EM fields",x,y,z);
EM.addparameter("lambda",c/f,"f",f);
EM.addattribute("E",Ex,Ey,Ez);
EM.addattribute("H",Hx,Hy,Hz);# save dataset to .mat file
matlabsave("import_data.mat",EM); -
September 20, 2022 at 3:50 pmGuilin SunAnsys Employee
这是一个例子,说明如何从已知K空间的场转换为实物空间的矢量算法。轨道角动量OAM有数学公式吗?你说的不同模式一定是表达式不同。只要你有表达式,就可以参照这个例子改写脚本,原文件第一部分是标量算法,第二部分是矢量算法。脚本不熟悉可以慢慢学,例如参见
Ansys Insight: 几个简单实用的脚本Script命令:用于设置
Ansys Insight: 初学者如何写/编辑/运行脚本文件
Ansys Insight: Lumerical脚本命令Script列表
-
September 21, 2022 at 1:13 am
-
-
September 21, 2022 at 4:57 pmGuilin SunAnsys Employee
你只需要u 和 exp(1i*m*phi) 就可以。如果Phi是空间位置的函数,你需要用2D或者3D的函数表示,参见
https://optics.ansys.com/hc/en-us/articles/360034929713-meshgrid3dz-Script-command
你需要先测试,修改脚本,有问题另外发帖。
-
September 26, 2022 at 2:08 amJING PENGSubscriber
phi 是柱坐标下,第三个变量/参数,(ρ, z, φ ).
'如果Phi是空间位置的函数,你需要用2D或者3D的函数表示', 这句话的意思是指,要把柱坐标变量 (ρ, z, φ )变成直角坐标 (x, y, z )吗??
谢谢
-
-
September 26, 2022 at 2:16 am
-
September 26, 2022 at 3:59 pmGuilin SunAnsys Employee
只能输入面光源,因此参数应该是2D。 Phil是xy 的函数,你定义一个2D函数就可以。输入只能是xyz坐标的函数。你先试一下看看是什么结果。
-
- The topic ‘请问和求教Lumerical FDTD 中如何设置入射光的光子轨道角动量OAM的问题’ is closed to new replies.
-
1131
-
468
-
466
-
225
-
201
© 2024 Copyright ANSYS, Inc. All rights reserved.