Ansys Lumerical FDTD导入自定义光源代码

4 篇文章 0 订阅
4 篇文章 0 订阅

1. 定义字段配置文件

该脚本计算源注入平面上的电场和磁场。脚本文件中的默认设置将创建径向偏振波束,但您可以修改脚本中“pol”变量的值以指定方位偏振波束。

# scriptfile:usr_custom_source.lsf

# define position vectors

x=linspace(-5e-6,5e-6,401);
y=linspace(-5e-6,5e-6,401);
z=0; #this is z z-normal source

X=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);

2. 将源添加到模拟中

然后,该脚本将数据打包到数据集(import_data.mat)中,并使用 importdataset 函数将该数据加载到 Import 源中。数据也会保存到 .mat 文件中,稍后可以通过编辑其属性并按“导入源”按钮将该文件加载到导入源中,如下所示。

3. 使用监视器测量轮廓

作为最终测试,我们可以运行仿真,并将源前方监视器记录的场剖面图与原始 EM 数据集进行比较。运行仿真后,脚本将绘制两个字段配置文件。

测量的场剖面与我们最初指定的非常相似。

求解器将尝试注入指定的任何字段,但必须认识到指定非物理字段可能会导致仿真错误。例如,可能存在功率归一化问题、源反向反射或指定注入场与实际注入场之间的差异。

参考官方文章

在FDTD中使用方程定义光源的空间场轮廓 – Ansys Opticsicon-default.png?t=N7T8https://optics.ansys.com/hc/en-us/articles/360034383054-Using-an-equation-to-define-the-spatial-field-profile-of-a-source-in-FDTD

  • 17
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值