用script设置渐变折射率

孙老师您好,我想用脚本把材料的折射率设置为渐变的,比如n=2+(y-y0)*0.1;
这里的y0是波导的“y min",y是波导沿着y方向的坐标。但是没成功。
我估计其中的原因是需要调用实际空间的坐标,但是我不知道怎么调用。
非常谢谢
image


我试了一下在Script Prompt和Model script都是可以的。有的时候,同样的代码在script prompt和script editor可以运行,但到了model script需要做一些调整。
比如model script里边使用setglobalmonitor(“frequency points”, Nf)会有点问题,但如果在每一个monitor下边分别覆盖全局设置,override global monitor settings,再分别设置就可以了。需要摸索一下。

1 Like

也可以使用Layer builder或者是自己在结构组里边,构建很多组多层的叠层结构。每一层使用一个固定的折射率,不同层的折射率随着层数的变化,以等差数列的方式来变化。赋值直接在一个循环里边即可实现。在叠层的法线方向(比如Z向),注意前一层的最大值是后一层的最小值,比如:Z_min (i+1)=Z_max(i)。用一个自定义的表达式把每一层的折射率值与层数i关联起来,比如 n(i)=n0+i*xx。在一个循环里边创建整个多层的结构,即可。

的确是并非所有脚本都可以在组或者Model里面运行。

请参考上面的回复,或者在结构折射率那里直接填写公式。参见