Lumerical Tutorials
文章平均质量分 66
买到就是赚到,399物超所值,持续更新中。
优惠券已抵扣
余额抵扣
还需支付
¥399.90
¥499.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
勤奋的大熊猫
自学四年的 Python 金丹期修士
光子学硕士
芯片设计及版图布局工程师
图像处理爱好者
机器学习萌新
展开
-
Lumerical---教程目录,说明及个人感悟(目前84篇,持续更新中)
Lumerical---教程说明及个人感悟原创 2023-02-15 12:13:21 · 4866 阅读 · 0 评论 -
Ports Number of field profile samples 参数设置
如果去官方论坛查看解释,往往会被搞得云里雾里。这个参数实际上表示的是仿真时需要的模式数量。比如,我们要进行但单模式仿真,如上图所示,我们选择的是。如果我们的仿真涉及高阶模式,那么可以根据高阶模式的数量设定这个值,如果只看基模,那么我们需要设置其为。端口中的光束模式进行设定,很多时候我们会遇到一个名为。仿真时,通常我们会对。原创 2024-08-16 15:02:02 · 49 阅读 · 0 评论 -
Lumerical 计算群延迟
这个不同寻常的事情也是作者本人无意中发现的,如果有小伙伴也发现了这个问题,不用大惊小怪,继续等待仿真执行完毕即可。),作者本人的其他专栏中有介绍,读者也可以自行谷歌。结构,我们创建了两个。,并且如下图所示勾选了。此时是未被勾选的状态。选项,我们会发现此时。关于什么是群延迟 (原创 2024-08-12 14:47:26 · 64 阅读 · 0 评论 -
FDE Solver 的 enabled 选项是不开放的
并且,不同于结构组件,对于结构组件,我们通常可以使用如下脚本将其设置为不启用状态。我们通过如下脚本设置其为不启用状态后, CAD 显示界面将是一片漆黑。在 Mode 工程文件中,只能添加一个。比如,我们这里有一个三角型结构。属性是不对用户开放的。中的组件显示为灰色。但是,这种设置方式对。原创 2024-08-07 15:06:38 · 65 阅读 · 0 评论 -
Lumerical 常用波导材料在 1310 nm 下的折射率
本文主要用来记录常用波导材料在典型波长。原创 2024-08-07 14:31:18 · 116 阅读 · 0 评论 -
Lumerical 光纤模式仿真
这一次可以看到,结果并不理想,模式四周区域白色轮廓发生畸变,结果也成了不合理模式(有效折射率判断),因此,16 * 16 um 的大小是一个能够获取较好结果的一个选择。关于光纤的相关知识,这里默认大家知道,不知道的小伙伴可以查看作者的其他专栏。,那么光波的有效折射率应该大于纤芯折射率且小于包层折射率,可以看到,此时符合要求的有效模式只有一组。可以根据需求调大一些,本人由于想要精确的结果,因此,特意将网格尺寸放的非常小。模式,剩下的模式都是不合理的模式,我们不予理会即可。我们之前设置纤芯的折射率为。原创 2024-08-05 10:43:07 · 254 阅读 · 0 评论 -
Lumerical 自定义函数------根据索引值删除数组中的元素
现在我们想要自制一个能够根据我们提供的索引值删除指定数组中元素的函数。这里我们介绍两种方法。更为简便,推荐使用。原创 2024-07-11 11:27:52 · 110 阅读 · 0 评论 -
Lumerical Algorithm 查找最接近给定透射率值的波长值
显然,简单的方法就是对透射率数据进行截取,使其仅包含最高点左侧的数据,然后重复上述的代码即可。透射率的点位于图像最高点的右侧,而我们的图像是一个开口向下的抛物线,如果我们想要得到位于左侧图像最接近。中的索引值获取算法,这里,我们来介绍一下如何查找最接近给定透射率值的波长值。之后元素组成的新的透射率数据。结合上述结果和图像我们可以看出,此时上述代码给出的近似等于。的索引值对应的波长更大,因此,我们只需要考虑索引值。最大值索引值的方法------数组的索引值,我们需要使用。对应的是我们截取后新的。原创 2024-07-08 11:22:41 · 200 阅读 · 0 评论 -
使用 Python 处理 Lumerical 导出的 .txt 文件(完结)
导出数据的时候采用这种规范。最终绘制出来的图像也是一样的,这里不再进行展示了。显然,上述代码不够简便,我们将读取数据定义为一个函数来简化这一过程。可以看出,通过这种方式,我们简化了读取数据的代码。至此,这一问题完结。这里我们来分享如何使用。一文中我们已经介绍了如何将。对这些数据进行处理。原创 2024-07-08 10:37:49 · 414 阅读 · 0 评论 -
INTERCONNECT 使用脚本创建一个完整的 SCRIPTED 器件示例
但是对于一个完整的器件,导入后我们仍旧需要对它进行一些操作以及参数上的设置,它才能够成为一个可用的完整的器件。这里仅作抛砖引玉,其他类型的器件均可采取这种方式操作。一文中我们介绍了如何导入自定义的器件以及如何导入。器件添加必要的参数使其成为一个完整的器件。因此,这里我们来介绍一下如何使用脚本为。原创 2024-07-05 17:18:01 · 102 阅读 · 0 评论 -
INTERCONNECT 添加自定义器件到 Custom 文件夹下
中的所有结构都可以通过运行对应的脚本文件得到。运行脚本文件获取结构可以使得结构本身具有可迁移性和重复使用性,长远来看,一定比手动创建更方便。因此,这里我们来介绍一下如何在。中向自定义 Custom 文件目录下添加自定义器件。做完这一系列操作后,我们可以在。作者本人一直坚信一件事情,运行如下脚本也可以将名为。原创 2024-07-05 15:36:53 · 98 阅读 · 0 评论 -
Lumerical Script 算法,查找数组中对应值的所有索引值
中我们需要对我们的结构或者仿真进行优化,我们就需要利用一些算法,因此,能够使用。我们想要获取数组 A 中所有等于0.5 的值对应的索引值。这样,我们就可以得到所有我们想要值的索引值。去实现一些简单的算法就显得尤为重要了。原创 2024-07-02 17:19:35 · 66 阅读 · 0 评论 -
获取材料库中材料的折射率并绘制图像
有时候我们想要获取材料库中材料的折射率,但是我们并不像直接去查看它们对应的数值,因为数值是离散的,且不能够直观的展示出材料折射率变化的趋势。原创 2024-06-26 14:59:59 · 94 阅读 · 0 评论 -
导出 S 参数扫描结果供 INTERCONNECT 使用
第一列是频率,第二列是振幅,第三例是相位,虽然我们知道每一列数据的意思,但是我们也无法对它们进行操作去获取完整的光场。参数扫描创建后的默认名称,当然,这个名称用户可以进行更名。数据时存在一种默认对数据进行操作的方式,属于我们不知道的黑匣子。中,但是,此时读入回来后,文件存储形式已经不再是原来的。当然,对于电脑文件处理比较好的朋友,也可以直接手动修改。参数结果进行提取,这无异于增加了我们的数据处理成本。针对单个小的模块进行仿真,再将得到的。的存放形式了,意味着,我们无法再用像。参数扫描的名称,此时名称为。原创 2024-06-25 17:50:24 · 521 阅读 · 0 评论 -
获取 S 参数仿真中属性所对应的值
参数扫描后,想要可视化一下对应参数的图像,每次手动点击一个是比较麻烦,另一个是显示的效果并不是很美观。此时,如果我们可以使用。函数进行绘图和美化,显示结果将会变得清晰。那么肯定有小伙伴会问,那我如何知道有哪些属性的值是我可以获取的呢?通过以下脚本可以查看当前选中对象所有的属性名称。看到这里,有些细心的小伙伴们就会问了,前面的。脚本对我们感兴趣的值进行访问,并且使用。参数仿真中的属性所对应的值暂时告一段落。进一步,我们就可以计算得出。此时,我们可以通过如下代码获取。进一步,我们可以获取其属性。原创 2024-06-25 17:25:04 · 239 阅读 · 0 评论 -
波导尺寸与有效折射率之间的关系
我们知道,波导的折射率是波导材料本身的一种特性,这里我们以。从上面的表格中可以得出结论。波导尺寸越大,有效折射率也越大。来举例说明这个问题。原创 2024-06-25 16:44:31 · 169 阅读 · 0 评论 -
定向耦合器中心波长位置与耦合长度之间的关系
对于定向耦合器,耦合长度越长,中心波长值越小,反之,耦合长度越短,中心波长值越大。原创 2024-06-18 16:43:12 · 146 阅读 · 0 评论 -
write 将 S 参数扫描结果导出为 .txt 格式(完结)
功能较为简陋以至于图像展现时不够美观,因此,很多时候我们需要将仿真数据导出使用。脚本来实现,但是这个情况处理起来比较复杂,不推荐使用。这里也不做过多说明。因此,我们可以通过下面的代码对这两个参数进行提取和导出。格式的文件,然而这种格式的文件很难被其他软件调用,比如。进行仿真,那么在仿真完成后,我们可以得到关于当前结构的。这里我们来介绍一下其他文件格式的导出方式。这样我们就可以将所需要的数据导出为。可以操作的文件格式,可以使用。我们介绍了如何将数据导出为。格式的文件,后续可以通过。比如,我们这里创建了一个。原创 2024-06-18 10:08:15 · 231 阅读 · 0 评论 -
Mode Solver ------- Mesh size 对仿真结果的影响
最终光场的行为就可以通过这些独立的格点进行拟合形成,因此,格点数越多,信息量越多,拟合也就越精确,理论上越精确这个概念是没有上限的,即格点的数量趋近于无穷。然而数值方法讲究的是精度,由于制造工艺的误差等等,实际中我们是不需要非常高的精度的,即使理论上能得到,实际加工的产品也是的达不到的,因此,这个问题就变成了,给定合适的精度获取最合适的格点数,那么格点的数量就有最大值了。选择合适的格点数量,或者说网格的最小尺寸在仿真中就显得尤为重要了。网格光场的截面分布会有更多的像素点,即跟多的信息。原创 2024-06-04 17:45:19 · 133 阅读 · 0 评论 -
Create Mode Waveguide Element (模式波导仿真的数据用于 INTERCONNECT 中)
选项,那么 start wavelength 就会被显示为可以更改的,但是这个"可以更改"是一个虚假的,因为此时即使我们更改了这个值,当我们重新勾选。模式,那么右侧图像就会记录两者叠加的场分布,记录后场分布就不再改变了,当我们切换选择模式的时候,仅左侧的场分布会发生变化。本文,我们介绍如何将如何创建一个可以让用户导入频率相关的性质(比如有效折射率,损耗,群速度,色散等等)到。的图像,我们会发现,此时已经没有了不光滑的部分。后我们会在上图中下方红色框的部分看到我们选中模式的场分布。是灰色的,保存不了呢?原创 2024-06-03 08:41:09 · 307 阅读 · 0 评论 -
Creating parameterized straight waveguide in INTERCONNECT 创建参数化的器件
其余三个属于高级用法,这里我们暂时不做介绍。对于一个直波导,我们最关心的参数是它的损耗,因此,我们在。创建好后的器件如下,因为我们已经有了一个名为。对于直波导,通常需要两个端口,一左一右,因此,在。中的直波导来进行仿真,这里我们简单介绍如何在。,因此,我们会在最终给的结果中看到波导的。标签页下我们创建两个端口,并将它们的。中创建属于自己的参数化的直波导器件。标签页下,有四个子标签页,其中。至此,我们得到了正确的仿真结果。的器件,所以会新产生一个名为。,由于我们设置的波导损耗为。可以看到,此时,我们得到的。原创 2024-05-28 10:03:36 · 308 阅读 · 0 评论 -
Simulate Ring Resonator in INTERCONNECT
接着,我们需要对它的名称进行更改,此时我们看左侧。路径,这个目录的名称是默认的且不能够被更改的。如果想要更改,我们需要选中器件然后。下面对器件的名称进行更改。更改完成后我们可以看到,器件的名称已经发生了变化。模式的传输情况,首先我们需要对四个组件中的部分参数进行修改。上图中中间两个直波导是旋转后的,我们可以选中器件后使用快捷键。这是因为我们当前选中的是。沿用相同操作,我们可以构建出如下线路图。为了获取仿真的结果,我们还需要添加。器件,这里我们将它们的。,我们需要更改它们中。,我们需要更改它们的。原创 2024-05-27 10:23:40 · 521 阅读 · 0 评论 -
Interconnect 模块的工作流程
这里给大家来介绍一下。原创 2024-05-27 09:14:02 · 216 阅读 · 0 评论 -
Add object from object library 从对象库中添加内置器件
但是这种操作方式不够智能。如果我们想要实现自动化,我们可以使用如下。中添加器件,通常我们的做法是手动添加。如下图所示,我们添加一个。那么我们如何获取我们想要载入器件的名称呢?,有些时候我们在使用中,可能需要从。,但是我们用脚本载入的时候名称是。上图中仅展示了部分器件的名称。原创 2024-05-25 14:29:44 · 102 阅读 · 0 评论 -
Lumerical ------ 能获取精确仿真结果的最小网格尺寸
中,为了得到精确的结果,我们需要设置仿真时网格的尺寸,虽然尺寸越小精度越高,但是对于实际问题,我们需要平衡仿真速度,仿真内存占用量和仿真设备能力之间的关系。这里我们重点来说明一下,得到仿真正确结果时能够设置的最小网格尺寸问题。进行网格重写,然后设定我们所需的网格尺寸即可。最简单的设置方法就是为当前结构添加一个。我们设仿真时的入射波长范围为。原创 2024-05-22 13:45:28 · 257 阅读 · 0 评论 -
Lumerical ------ 波导仿真包层设置
来求解波导的有效折射率,此时求解出的结果一定是错误的。这一点儿属于新手常见错误。工程文件中创建了一个直波导对象,此时,我们并没有设置包裹层,且我们创建了一个。在推荐阅读中,我们解释了仿真时为什么要添加包裹层。下面是仿真的一种常见错误。包层中,再次进行仿真,就可以得到正确的结果了。原创 2024-05-13 10:46:03 · 735 阅读 · 0 评论 -
Lumerical Script ------ 保留有效数字位
那么遇到需要保留有效位的情况该如何做呢?这里我们以保留六位有效数字为例。比如我们这里有两个很长的小数被放在。类型转换为字符串来实现小数位数的保留,最后再从字符串类型转换为。变量中,然后我们可以采用如下代码替代。这里我们给出两种方法来解决这个问题。原创 2024-05-11 11:12:09 · 88 阅读 · 0 评论 -
Self Define Functions 自定义函数返回多个返回值
已经有了介绍,但是实际使用的时候还是有一些需要注意的问题,这里特来记录一下。我们需要将它们组合成一个数组。关于数组类型数据我们在。只能返回一个值,如果此时我们想要同时返回。原创 2024-05-10 14:58:50 · 144 阅读 · 0 评论 -
array 数组类型,matrix 矩阵类型, Cell 类型,Struct 结构类型(完结)
中,数据类型不是特别丰富。这里我们介绍它数据类型中的一种,数组类型。且同时,如果我们想要访问数组中的数据,我们需要通过索引值来访问,类似。这篇仅仅用作个人笔记,因为作者本人比较擅长。我们可以通过以下方式创建一个数组。函数对目标对象的值进行打印。序列解包的写法,即下面的写法是。脚本,但是又不太一样。原创 2024-05-10 14:09:00 · 235 阅读 · 0 评论 -
Lumerical Script ------ savedata() and loaddata()
如果我们想要将这个数据再次读入 Lumerical 中进行操作,需要使用。运行完成后,我们就会在当前工程文件目录下得到一个名为。中,如果我们在仿真结束后想要保存数据,应当使用。:我们无需添加文件的后缀名。原创 2024-04-12 11:44:53 · 185 阅读 · 0 评论 -
Lumerical Basis ------ 文件清理与系统存储空间释放
然而对于我们来说,通常我们只关心仿真结果中的个别几个参数,此时,为了节省空间,我们可以使用类似如下的。文件的时候之前的仿真结构和仿真结果都能够得到很好地保存。的过程中,有很多小伙伴们会在运行完成后选择保存工程文件并退出,这样下次进入。的空间也很难满足大量仿真文件的存放。对直波导中的模式进行计算,计算完成后,当我们关闭。会将我们的仿真结果一并保存供我们下次使用。我们以一个直播到的仿真来举例。保存我们需要的参数,然后清空当前文件即可。如上图所示,我们保存了我们需要的电场。仿真文件,单个文件可能就超过几百。原创 2024-03-01 14:26:03 · 154 阅读 · 0 评论 -
Lumerical Script ------ Error: <文件目录> line x:syntax error
一文中我们介绍了一种常见的错误提示信息。这里,我们使用类似的代码,介绍另一种提示错误提示信息。此处,提示我们第二行代码产生了错误,然而实际上是因为我们的第一行代码末尾没有加上。时最为常见,希望大家可以注意。(表示具体第几行) 最后加上。文件存放的目录,加上。有时候,当我们在书写。原创 2024-03-01 14:09:52 · 163 阅读 · 0 评论 -
Lumerical Example ------ 直波导仿真
此时,我们设置的 mode source 光源和 power monitor 均位于 FDTD 区域上。因为我们的波导长度较短,波导内部的传输损耗较少,因此,透射率接近于 1。这里给大家介绍一下 Lumerical 仿真中直波导的仿真技巧。原创 2024-01-17 15:09:06 · 703 阅读 · 0 评论 -
Lumerical Setting ------ FDTD Solver Region Settings
网格重写区域的几何形状能够被直接指定,或者你可以使用 “based on a structure” 选项去指定你想要使用网格重写的 structure group 的名字。如果我们指定了一个物体的名字,并且有多个物体的名字都是一样的,网格设置就会一次性对所有相同名字的物体进行设定。如果指定了一个 structure group 的名字,重写网格设置将会设置到在这个 structure group 中包含的所有物体的整个区域的 span 上。自动的网格化算法将会对指定的折射率产生一个合适的网格。原创 2024-01-11 11:08:43 · 419 阅读 · 0 评论 -
Lumerical Setting ------ FDTD Boundary Conditions
但是,下面有一些例子,我们是不想要延申材料通过 PML 区域的,如果你有一个物体,这个物体是被倾斜的,被仿真的物体将会被在垂直于 PML 的方向被延申,因此,它将会改变实际仿真的结构。这对于在仿真区域的每一个边绘制一个额外的结构元胞是非常简单的,对于给定偏振的光源,去检查合适的对称性边界条件,我们可以之家看 CAD 视图,如果仿真区域阴影的颜色和光源偏振箭头的颜色匹配,阴影应该平行于光源箭头的方向,如果阴影和光源箭头不匹配,那么阴影应该垂直切割箭头,通常,延申结构通过 PML 区域是我们想要的。原创 2024-01-11 10:37:08 · 624 阅读 · 0 评论 -
Lumerical Setting ----- FDTD Mesh
推荐仿真结束后对比使用 conformal variant 1 和 conformal variant 0 的结果,这样做的好处是确保当使用 conformal variant 1 的时候,我们获取到的结果没有特别大的差异。同时允许你指定一个更精细的网格尺寸,这个更精细的网格尺寸可以使得我们去解决一些对网格更敏感的更精细的结果或者区域,比如在金属和电介质之间的交界面。有些时候,同时满足多个限制是不可能的,所以检查生成的网格并且确保它是合理的是非常重要的,最后,所有的结构都可以被充分地求解。原创 2024-01-11 10:03:37 · 1245 阅读 · 0 评论 -
Lumerical Examples------Ports(已修订)
在弹出的窗口中点击 Calculate Modes,在计算得出的模式中选择第二个和第三个模式,先左键点击第二个模式选中,再按住 Ctrl 键再次点击第三个模式即可同时选中两个模式。点击 OK 按键运行仿真。一旦仿真结束,我们就可以获取到 S 参数,以及可以从 mode expansion monitor 中获取的结果,从 field power monitor 中获取的结果以及端口光源的结果。默认情况下,Ports 的几何形状和仿真区域的 span 值是相同的,这一点儿,从下面的两幅图中可以看出。原创 2024-01-10 13:45:09 · 1204 阅读 · 0 评论 -
Lumerical Tips ------ Visualizer 窗口中的 show legends
但是对于这个图像,我们并不知道对这个曲线已经进行了怎么样的标量操作,因为没有 legends 显示。为了能够显示 legends,可以通过如下图所示的操作显示 legends。今天给大家介绍一下 Lumerical 图像显示窗口 Visualizer 中展示图像如何显示 legends。并且这个 legends 标记我们可以使用鼠标进行拖动,放置在任意我们想要放置的位置。原创 2024-01-10 10:55:34 · 333 阅读 · 0 评论 -
Lumerical Monitors------Mode expansion monitors
对于宽带仿真,因为被支持的模式可能是波长的函数,因此,推荐在波长范围内增加频率的采样点数量去计算支持的波导模式分布或者光纤模式分布。对于宽带仿真,如果在被计算模式上的频率点的数量与通过 frequency-domain monitors 被测量的频率点的数量不匹配,这种情况是正常的。Mode expansion monitors 对于仿真偏振转换器是十分有用的,比如,在偏振转换器中,当你想要提取从输入模式到输出模式的转换效率,或者提取一个装置的 S 参数。给出了进入到被选择模式中的合透射率,原创 2024-01-09 15:09:03 · 1234 阅读 · 0 评论 -
Lumerical Monitors------ Global properties
在高级设置选项下,我们可以设置想要的在时间域上的采样频率。对于线性仿真,这个值不需要改动,但是对于非线性的仿真,如果你想要测量比光源频率范围更高的场,我们可以提高采样频率去在频率域中获取更精确的结果。在 Global properties 编辑窗口中的 main 标签页下,我们可以设置波长或者记录数据的频率范围和记录数据点的数量。在默认情况下,数据点被以均匀的间隔放置在频率范围上,当然,我们也可以选择在波长范围内以均匀的间隔进行数据点采样。原创 2024-01-09 12:06:32 · 435 阅读 · 0 评论