目录
一、简介
二、构建简单结构体
使用脚本构建仿真结构看似没有直接使用图形化界面那么直观,但是对于实际使用而言,编写脚本的方式更便捷。
在Lumerical中,脚本构建模型的优先级>图形化界面构建模型。脚本的设置可以完全同步在图形化界面中(比如用脚本设定球的半径为0.1,那打开图形化界面的时候会发现直径也变成了0.1),并且使用脚本构建模型以后图形化界面会被锁死,只能查看不能修改。
Lumerical脚本有自己的一套语言,非常直观好理解。
#添加球体
addsphere;
set('name','new_sphere');
set('x',1e-6);
set('y',2e-6);
set('z',0);
set('radius',5e-6);
球体
对比一下使用图形化界面的建模方法,会发现其实是一模一样的,仅仅是把操作步骤变为了几行代码。
使用图形化界面构建球体同样的,可以通脚本构建其他类型的基础模型。
deleteall;
#椭球
#相比于球而言,略有一些变化
addsphere;
set('make ellipsoid',true);
set('name','new_sphere');
set('x',1e-6);
set('y',2e-6);
set('z',0);
set('radius',5e-6);
set('radius 2',2e-6);
set('radius 3',1e-6);
椭球
deleteall;
#金字塔
addpyramid;
set('name','new_pyramid');
set('x span bottom',5e-6);
set('x span top',3e-6);
set('y span bottom',4e-6);
set('y span top',3e-6);
set('z span',1e-6);
set('material','Si (Silicon) - Palik');
金字塔
deleteall;
#自定义结构
addcustom;
set('create 3D object by','extrusion');
set('equation 1',"sqrt('+num2str(0.5)+'^2-(x-'+num2str(0.5)+')^2)");
set('x span',1e-6);
set('y span',1e-6);
set('z span',2e-6);
deleteall;
#波导
addwaveguide;
set('base width',600e-9);
set('base height',210e-9);
set('base angle',70);
pole=[0,0;1,9;6,9.8;10,10]*1e-6;
set('poles',pole);
set('material','Si (Silicon) - Palik');
波导
deleteall;
#2D方片
add2drect;
set('name','2D_rectangle');
set('surface normal',3);
set('x',1e-6);
set('x span',2e-6);
set('y',1e-6);
set('y span',5e-6);
set('z',0);
2D方片
deleteall;
#2D多边形
add2dpoly;
vtx=[1,0;2,2;4,2;4,1;3,1]*1e-6;
set('name','2D_polygon');
set('surface normal',3);
set('vertices',vtx);
set('z',2e-6);
2D多边形