FDTD快速入门之Lumerical脚本语言Pickup(二)实用技巧


前言

这篇文章主要讲一讲关于FDTD solution软件本身默认的一些东西,以及脚本运行和debug的一些简单技巧


技巧和习惯

  • FDTD没有专门的长度单位常量,默认的长度单位是米(m),所以一般用1e-6和1e-9分别表示微米(um)和纳米(nm)。
  • 注释符号:#
  • 运行脚本快捷键:F5
  • 暂停脚本快捷键:Esc
  • 运行选中代码段快捷键:F9
  • 注释快捷键:Ctrl+R
  • 取消注释快捷键:Ctrl+T

运算符(operator)

运算符说明例子输出
算术运算符*乘号y=a*b/
/除号y=a/b/
+加号y=a+b/
-减号y=a-b/
负号y=-a/
^指数运算x=3;
y=x^3;
?y;
27
逻辑和关系运算符==逻辑等于号//
almostequal约等于号//
!=不等于//
<=小于等于//
>=大于等于//
<小于//
>大于//
&逻辑与//
and
|逻辑或
//
or
!逻辑非
如果一个变量a是0,
则!a输出1;
对于a取所有其他的值,
则!a输出0;
a=3;
b=~a;
?b;
0
~
Dataset运算符.访问Dataset变量的参数和分布
(和C++的成员访问运算符一样)
字符串运算符+字符串加法(拼接两个字符串)string="a"+num2str(2)+"b";
?string;
a2b
"双引号使用单引号或双引号均可以
创建一个字符串变量,参考上例
/
'单引号
endl行结束字符
相当于C语言里的"\n"换行字符
string="Hello"+endl+"World"Hello
World
%表示脚本变量的字符,其中变量名允许含有空格%y span%=2e-6;
%x span%=%y span%/2;
?%x span%;?%y span%;
1e-06
2e-06
以下是一个简单的Lumerical脚本,可用于计算波导光限制因子: ``` # 设置仿真参数 central_wavelength = 1550e-9 # 中心波长 n_eff = 2.5 # 有效折射率 wg_width = 500e-9 # 波导宽度 wg_height = 220e-9 # 波导高度 # 定义波导 wg = fdtd.addrect() wg['name'] = 'waveguide' wg['x span'] = wg_width wg['y span'] = wg_height wg['z span'] = fdtd.getglobal('simulation time') wg['x'] = -wg_width / 2 wg['y'] = 0 wg['z'] = 0 wg['material'] = 'silicon' # 定义光源 source = fdtd.addplane() source['name'] = 'source' source['x span'] = fdtd.getglobal('simulation region x span') source['y span'] = fdtd.getglobal('simulation region y span') source['z'] = 0 source['wavelength start'] = central_wavelength source['wavelength stop'] = central_wavelength source['polarization angle'] = 0 source['angle theta'] = 0 source['angle phi'] = 0 # 定义探测器 detector = fdtd.addpower() detector['name'] = 'detector' detector['monitor type'] = 'linear x' detector['x span'] = fdtd.getglobal('simulation region x span') detector['y'] = 0 detector['z'] = fdtd.getglobal('simulation time') detector['wavelength start'] = central_wavelength detector['wavelength stop'] = central_wavelength # 运行仿真 fdtd.run() # 计算波导光限制因子 F = detector.getpower() / source.getpower() * (central_wavelength / (2 * n_eff * wg_width)) print('波导光限制因子:', F) ``` 该脚本创建了一个矩形波导、一个光源和一个探测器,并运行了FDTD仿真。在仿真结束后,脚本从探测器和光源的监视器数据中计算波导光限制因子,并输出结果。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ArcSight

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值