自己每次查命令的时候,看不太懂英语,而且浏览器自带的翻译效果不好,所以借用ds翻译了一遍,也记下来一些自己常用的命令。
以下内容全部来源于Lumerical官方文档

常用命令

  • switchtolayout : 基本上每次运行完代码或者开始运行新代码都得先运行该命令,关闭分析窗口。
  • select : 用于选定对象,修改参数必须要先选择对象。
  • set : 结合select,设置选中对象的某个属性。
  • get : 结合select,获取选中对象的某个属性。
  • run : 启动仿真。
  • getresult : 从仿真对象获取结果。
  • cleardcard : 清除 d-card。
  • findmodes : 计算结构支持的模态。
  • selectmode : 从模态列表中选择一个模态。
  • overlap : 计算两个模态之间的重叠度和功率耦合。常用于计算模式匹配
  • clear : 从内存中清除所有存储的脚本变量。脚本开头先clear
  • write : 将字符串写入文本文件或标准输出。注意制表符不能用\t,直接按一下键盘上的Tab即可。

添加对象

以下命令可用于添加对象。对象始终会被添加到由 groupscope 变量指定的位置。请注意,并非所有命令都适用于所有产品。请参阅页面底部每个命令的表格,以了解其适用的产品。

仿真环境

  • switchtolayout : 关闭分析窗口,删除当前仿真数据,并允许您为新仿真操作仿真对象。
  • layoutmode : 用于确定仿真文件是在布局模式还是分析模式下打开。
  • groupscope : 更改组范围。
  • addgroup : 向仿真环境添加一个容器组。
  • addanalysisgroup : 添加一个分析组。
  • addobject : 从对象库添加对象。
  • addgridattribute : 添加一个网格属性对象。
  • importcsvlc : 从 CSV 文件添加 LC 网格属性,并可选择添加 LC 结构。
  • addport : 向 FDTD 求解器区域对象中的端口组添加一个端口对象。

结构

  • addcircle : 添加一个圆形图元。
  • addcustom : 添加一个自定义图元。
  • addfieldregion : 添加一个场区域对象。
  • addimport : 添加一个导入图元。
  • addpyramid : 添加一个棱锥体图元。
  • addpoly : 添加一个多边形图元。
  • addrect : 添加一个矩形图元。
  • addring : 添加一个环形图元。
  • addsphere : 添加一个球体图元。
  • addsurface : 添加一个表面图元。
  • addstructuregroup : 添加一个结构组。
  • addlayer : 向图层构建器对象添加一个图层。
  • addlayerbuilder : 添加一个图层构建器对象。
  • addplanarsolid : 添加一个平面实体对象。
  • stlimport : 添加一个 STL 导入对象。
  • stepimport : 添加一个 CAD 导入对象。
  • cadimport : 添加一个 CAD 导入对象,与 stepimport 相同。
  • add2drect : 在仿真空间中添加一个 2D 矩形。
  • add2dpoly : 在仿真空间中添加一个 2D 多边形。
  • addwaveguide : 在仿真空间中添加一个波导。

仿真区域

  • addeme : 添加一个本征模扩展(EME)求解器区域。
  • addfdtd : 添加一个 FDTD 仿真区域。
  • addrcwa : 添加一个 RCWA 求解器区域。
  • addfde : 添加一个有限差分本征模(FDE)求解器区域。
  • addmesh : 添加一个网格覆盖区域。
  • addsimulationregion : 向有限元 IDE 设计环境添加一个仿真区域。
  • adddevice : 添加一个电学(CHARGE)仿真。
  • addvarfdtd : 添加一个 2.5D varFDTD 仿真区域。
  • addchargesolver : 在有限元 IDE 中添加一个电学(电荷输运)仿真区域。
  • addheatsolver : 在有限元 IDE 中添加一个热学(热输运)仿真区域。
  • addchargemesh : 向 'CHARGE' 仿真环境添加一个网格覆盖区域。
  • addheatmesh : 向 'HEAT' 仿真环境添加一个网格覆盖区域。
  • adddgtdsolver : 添加一个光学 'DGTD' 求解器仿真区域。
  • adddgtdmesh : 向 'DGTD' 仿真环境添加一个网格覆盖区域。
  • addfeemsolver : 添加一个 'FEEM' 求解器仿真区域。
  • addfeemmesh : 向 'FEEM' 仿真环境添加一个网格覆盖区域。

  • adddipole : 添加一个偶极子源。
  • addgaussian : 添加一个高斯源。
  • addplane : 添加一个平面波源。
  • (FDTD) addmode : 在 FDTD 中添加一个模式源。
  • (Propagator) addmodesource : 向 2.5D varFDTD 仿真环境添加一个模式源。
  • addtfsf : 添加一个 TFSF 源。
  • addimportedsource : 添加一个导入源。

监视器

  • addindex : 添加一个折射率监视器。
  • addeffectiveindex : 添加一个有效折射率监视器。
  • addtime : 添加一个时间监视器。
  • addmovie : 添加一个电影监视器。
  • adddftmonitor : 添加一个频域监视器。
  • addmodeexpansion : 添加一个模式扩展监视器。
  • addbandstructuremonitor : 添加一个能带结构监视器。
  • addjfluxmonitor : 添加一个电流通量监视器。
  • addchargemonitor : 添加一个电荷监视器。
  • addefieldmonitor : 添加一个电场监视器。
  • addemeindex : 为 EME 求解器区域添加一个折射率监视器。
  • addemeprofile : 为 EME 求解器区域添加一个剖面监视器。
  • addheatfluxmonitor : 添加一个热通量监视器。
  • addtemperaturemonitor : 添加一个温度监视器。
  • addemfieldmonitor : 向 DGTD 求解器添加一个电磁场监视器。
  • addemfieldtimemonitor : 向 DGTD 求解器添加一个电磁时间监视器。
  • addemabsorptionmonitor : 向 DGTD 求解器添加一个电磁吸收监视器。

在 Deck 中创建对象

  • createbeam : 创建一个可从 deck 访问的新高斯光束。

仿真环境

  • switchtolayout : 关闭分析窗口,删除当前仿真数据,并允许您为新仿真操作仿真对象。
  • switchtodesign : 将 INTERCONNECT 切换到设计模式。
  • layoutmode : 用于确定仿真文件是在设计(布局)模式还是分析模式下打开。
  • designmode : 如果仿真当前处于设计模式,则返回 true。
  • groupscope : 更改组范围。

添加元件

  • addelement : 从 INTERCONNECT 元件库添加一个元件。

向有限元 IDE 中的材料组添加材料和属性

  • addmodelmaterial : 向对象树中的 'materials' 文件夹添加一个空材料模型。
  • addmaterialproperties : 向所选材料模型添加一个(材料)属性。
  • addemmaterialproperty : 向所选材料模型添加一个新的光学材料属性。
  • addctmaterialproperty : 向所选材料模型或所选二元合金添加一个新的电学材料属性。
  • addhtmaterialproperty : 向所选材料模型或所选固体合金添加一个新的热学材料属性。
  • addsemiconductorfromalloy : 将合金材料转换为固定摩尔分数的半导体材料,并将其电热材料属性添加到对象树中所选的材料模型中。

在有限元 IDE 中添加边界条件

  • addelectricalcontact : 向 CHARGE 添加一个电接触边界条件。
  • addsurfacerecombinationbc : 向 CHARGE 添加一个表面复合边界条件。
  • addtemperaturebc : 向 CHARGE 或 HEAT 添加一个温度边界条件。
  • addconvectionbc : 向 CHARGE 或 HEAT 添加一个对流边界条件。
  • addradiationbc : 向 CHARGE 或 HEAT 添加一个辐射边界条件。
  • addthermalpowerbc : 向 CHARGE 或 HEAT 添加一个热功率边界条件。
  • addheatfluxbc : 向 CHARGE 或 HEAT 添加一个热通量边界条件。
  • addthermalinsulatingbc : 向 CHARGE 或 HEAT 添加一个绝热边界条件。
  • addvoltagebc : 向 HEAT 添加一个电压边界条件。
  • addpml : 向 DGTD 添加一个 PML 边界条件。
  • addabsorbing : 向 DGTD 添加一个吸收边界条件。
  • addperiodic : 向 DGTD 添加一个周期性(或 Bloch)边界条件。
  • addpec : 向 DGTD 添加一个 PEC 边界条件。
  • addpmc : 向 DGTD 添加一个 PMC 边界条件。

添加仿真对象

  • addemeport : 向活动的 EME 求解器区域添加一个端口。
  • adddope : 添加一个恒定掺杂区域。
  • adddopinglayer : 向图层构建器对象添加一个掺杂层。
  • adddiffusion : 添加一个扩散区域。
  • addimplant : 添加一个注入掺杂区域。
  • addbulkgen : 添加一个体产生区域。
  • adddeltachargesource : 添加一个点产生源。
  • addimportdope : 为掺杂区域添加一个导入图元。
  • addimportgen : 为产生区域添加一个导入图元。
  • adduniformheat : 添加一个恒定热源。
  • addimportheat : 为热源添加一个导入图元。
  • addimporttemperature : 向 CHARGE 求解器添加一个导入温度源。
  • addimportnk : 为空间变化的 nk 材料添加一个导入图元。

操作对象

物理结构、源、监视器以及仿真区域本身都被视为对象。对象通常具有可以修改的属性。

选择和删除对象

  • groupscope : 更改组范围。
  • deleteall : 删除当前组范围内的所有对象。
  • delete : 删除选中的对象。
  • selectall : 选择当前组范围内的所有对象。
  • unselectall : 取消选择所有对象。
  • select : 在当前组范围内选择具有指定名称的对象。
  • selectpartial : 选择名称中包含指定部分名称的任何对象。
  • shiftselect : 与 select("名称") 功能相同;但不会取消选择当前已选中的对象。可用于选择多个对象。
  • shiftselectpartial : 与 selectpartial("部分名称") 功能相同;但不会取消选择当前已选中的对象。可用于选择多个对象。

移动和复制对象

  • move : 移动一个对象。
  • copy : 复制一个对象。
  • addtogroup : 将一个/多个对象添加到组中。

对象属性

  • adduserprop : 向结构组添加一个用户属性。
  • addanalysisprop : 向选定的对象组添加一个分析属性。
  • addanalysisresult : 向分析组添加一个新结果。
  • set : 设置选中对象的某个属性。
  • setnamed : 设置具有指定名称的任何对象的某个属性。
  • setglobalmonitor : 设置全局监视器属性。
  • setglobalsource : 设置全局源属性。
  • setposition : 设置元素的垂直和水平位置。
  • setrectangle : 设置元素矩形的宽度和高度。
  • setactivesolver : 将指定的求解器设置为活动求解器。
  • getactivesolver : 获取活动求解器。
  • runsetup : 强制运行组设置脚本。
  • get : 获取选中对象的某个属性。
  • getnumber : 获取选中对象的数量。
  • getnamed : 获取具有指定名称的任何对象的某个属性。
  • getnamednumber : 获取具有指定名称的对象数量。
  • getglobalmonitor : 获取全局监视器属性。
  • getglobalsource : 获取全局源属性。
  • getposition : 获取元素当前的垂直或水平位置。
  • getrectangle : 获取元素矩形的宽度或高度。
  • haveproperty : 返回具有特定属性的选中对象的数量。
  • importsurface : 从文件导入表面数据。仅适用于导入图元。
  • importsurface2 : 从脚本变量导入表面数据。仅适用于导入图元。
  • importnk : 从文件导入 n 和 k 数据。仅适用于导入图元。
  • importnk2 : 从脚本变量导入 n 和 k 数据。仅适用于导入图元。
  • setsourcesignal : 设置自定义源时间信号。
  • updatesourcemode : 更新模式源的模式。
  • clearsourcedata : 清除导入源的源数据,或模式源的选定模式的数据。
  • setexpansion : 将 DFT 监视器与模式扩展监视器关联。
  • removeexpansion : 从模式扩展监视器中移除 DFT 监视器。
  • getname : 返回所选变量的数据集名称。
  • setname : 设置所选变量的数据集名称。
  • importdataset : 将名为 'charge' 的非结构化数据集导入到 'eh Density' 网格属性。
  • cleardataset : 清除任何当前网格属性中的数据集。
  • getcelllist : 返回与加载的 gds 文件关联的单元列表。
  • getlayer : 检索所选图层构建器对象中指定图层的属性。
  • getlayerlist : 返回与加载的 gds 文件关联的图层列表。
  • setlayer : 设置所选图层构建器对象中指定图层的属性。
  • loadgdsfile : 将指定的 gds 文件加载到图层构建器对象中。
  • loadprocessfile : 在图层构建器对象中加载指定的工艺文件。
  • geteigensolver : 获取模式源、模式扩展监视器或端口中的本征求解器属性。
  • seteigensolver : 设置模式源、模式扩展监视器或端口中的本征求解器属性。
  • updateportmodes : 在选定的端口对象中选择指定的模式。模式由本征求解器模式列表中的模式编号指定。
  • clearportmodedata : 从选定的端口中清除模式数据。
  • readnportsparameterat : 使用指定的参数值对 S 参数扫描文件进行插值。
  • convertnportsparametersweep : 将文本格式的 S 参数扫描文件转换为二进制文件。

控制视图

  • redraw : 重绘图形。
  • redrawoff : 关闭自动重绘。
  • redrawon : 开启自动重绘。
  • redrawmode : 获取自动重绘的当前状态;将其关闭或开启。
  • setview : 控制布局编辑器中图形的绘制方式。
  • getview : 从布局编辑器获取当前的视图控制属性。
  • orbit : 一个内置函数,用于对透视视图进行环绕,并可选择创建电影。
  • framerate : 测量计算机的图形性能。

元件/连接属性

  • set : 设置选中元件的某个属性。
  • setnamed : 设置具有指定名称的任何元件的某个属性。
  • get : 获取选中元件的某个属性。
  • getnamed : 获取具有指定名称的任何元件的某个属性。
  • addport : 向复合/脚本化元件添加一个端口。
  • removeport : 从复合/脚本化元件移除一个端口。
  • connect : 通过指定的端口将一个元件连接到另一个元件。
  • disconnect : 移除两个元件之间的特定连接。
  • autoarrange : 自动排列复合或脚本化元件的端口位置和尺寸。
  • createcompound : 用当前选中的元件创建一个复合元件。
  • addproperty : 向复合元件或脚本化元件添加一个属性。
  • setexpression : 将所选元件的指定属性设置为提到的表达式。
  • flipelement : 在原理图编辑器中翻转一个元件。
  • rotateelement : 在原理图编辑器中旋转一个元件。
  • seticon : 为元件设置用户定义的图标。

撤销和重做命令

  • undo : 撤销最后一个修改对象的命令。
  • redo : 在撤销操作后执行重做。
  • historyon : 启用为当前原理图拍摄快照(历史记录)以支持撤销/重做功能。
  • historyoff : 禁用为当前原理图拍摄快照(历史记录)以支持撤销/重做功能。

材料数据库

以下命令用于在材料数据库中添加或复制材料,以及设置任何材料属性,并验证给定材料在任何频率下的复折射率结果。请参阅关于材料数据库的章节以了解这些命令的用法。

本节内容与 INTERCONNECT 不相关。对于 Finite Element IDE,除 materialexists 外,大多数命令未实现。

  • addmaterial : 在材料数据库中添加一种新材料。
  • copymaterial : 在材料数据库中创建现有材料的副本。
  • setmaterial : 设置材料数据库中现有材料的任何属性。
  • getmaterial : 返回材料数据库中材料的属性。
  • importmaterialdb : 从 .mdf 文件导入材料数据库。
  • exportmaterialdb : 将材料数据库导出到 .mdf 文件。
  • getindex : 返回材料的复折射率。
  • getfdtdindex : 返回 FDTD 仿真中使用的材料拟合所得到的材料折射率。
  • getdgtdindex : 返回 DGTD 仿真中使用的材料拟合所得到的材料折射率。
  • getmodeindex : 返回 MODE 仿真中使用的材料拟合所得到的材料折射率。
  • getnumericalpermittivity : 返回介电常数,并考虑 FDTD 仿真中 dt 时间步长有限大小的影响。
  • deletematerial : 从材料数据库中删除一种材料。
  • materialexists : 返回一个布尔值,指示材料数据库中是否存在某种材料。
  • getsurfaceconductivity : 返回使用表面电导率模型的指定材料的表面电导率。
  • getfdtdsurfaceconductivity : 返回仿真中将使用的、采用表面电导率模型的指定材料的表面电导率。

运行仿真

切换选项卡

  • switchtolayout : 关闭分析窗口,允许您为新仿真操作仿真对象。
  • layoutmode : 用于确定仿真文件是在布局模式还是分析模式下打开。

运行仿真

  • run : 启动仿真。(提供可选参数)
  • runparallel : 以并行模式启动仿真。
  • addjob : 向作业队列添加一个仿真任务。
  • runjobs : 运行作业队列中的所有仿真任务。
  • clearjobs : 从作业队列中移除所有仿真任务。
  • runsweep : 运行参数扫描或优化任务。
  • runsystemcheck : 检查仿真运行所需条件是否满足。

资源配置

  • addresource : 向资源管理器的可用资源列表中添加一项资源。
  • deleteresource : 从资源管理器的可用资源列表中移除所选资源。
  • getresource : 返回资源管理器中指定求解器的可用资源属性当前设置。
  • getdevice : 返回用于在 FDTD 求解器中运行仿真的设备类型(GPU/CPU)。
  • setresource : 设置资源管理器中指定求解器的可用资源属性。
  • setdevice : 设置在 FDTD 求解器中用于运行仿真的设备类型(GPU/CPU)。
  • gpuspecs : 获取当前系统的 GPU 规格信息。

许可证类型与消耗

  • islicensestandard : 返回当前许可证是否为标准许可证。
  • getlicenseestimate : 返回给定资源所需的许可证数量。
  • getlicenseestimateallactiveresources : 返回在所有活动资源上运行参数扫描所需的许可证数量。

检出许可证

  • checkout : 检出一个已授权许可的功能。

数据访问

大多数原始数据以多维形式记录。例如,FDTD 和 MODE 中的监视器通常返回 4 维矩阵数据,其中矩阵的前三个维度对应空间维度 X、Y、Z,第 4 个维度根据监视器类型对应频率或时间维度。举例来说,假设您有一个 FDTD 仿真,其中包含一个位于 XY 平面、记录 20 个频率点的频率监视器。假设该监视器在 X 方向上覆盖 100 个网格点,在 Y 方向上覆盖 55 个网格点,那么 Ex 场分量数据矩阵的大小将是 100x55x1x20。请注意,第三维(对应 Z 方向)的大小为 1,因为该监视器仅在一个 Z 位置记录了数据。

  • getresult : 从仿真对象获取结果。
  • getdata : 从仿真对象获取原始数据。
  • getelectric : 从监视器获取原始 |E|² 数据矩阵。
  • getmagnetic : 从监视器获取原始 |H|² 数据矩阵。
  • runanalysis : 在分析对象中运行分析脚本。
  • clearanalysis : 清除通过运行分析脚本获得的 d-card 数据。
  • havedata : 用于检查对象内是否存储了任何可用数据。
  • haveresult : 用于检查对象内是否有任何可用结果。
  • getvariable : 返回工作区变量的值,如果未找到该值,则返回一个 'default' 值。
  • copydcard : 创建 d-card 的副本。
  • cleardcard : 清除 d-card。
  • lswmexport : 将 RCWA 引擎光栅表征数据导出到 JSON 文件。
  • mcfit : 对包含多个频率相关传输值的文件运行多系数拟合。
  • mczfit : 将可变增益滤波器拟合到一组增益曲线数据,该族中的每条曲线对应一个载流子密度值,生成一个增益滤波器系数文件供 TWLM 元件使用。
  • simulationdiverged : 在布局模式下,检查仿真是否达到发散检查自动关闭阈值。
  • tdecq : 计算 IEEE 802.3-2018 标准中定义的 PAM-4 发射器品质因数,即发射机及色散眼图闭合四元组。
  • outeroma : 返回给定信号在 IEEE 802.3-2018 标准中规定的 OMAouter 量。

参数扫描、优化、容差分析和 S 参数扫描数据会随仿真文件一起保存,并且在将当前仿真切换至布局模式时不会被清除。这些结果可以通过以下命令访问:

  • getsweepdata : 从参数扫描、优化、容差分析和 S 参数扫描中获取原始数据。
  • getsweepresult : 从参数扫描、优化和 S 参数扫描中获取结果。
  • havesweepdata : 用于检查参数扫描和优化是否有数据。
  • havesweepresult : 用于检查参数扫描和优化是否有结果。
  • loadsweep : 加载先前生成的扫描结果。
  • savesweep : 保存生成的扫描结果。
  • copysweep : 将参数扫描/容差分析/优化/S 参数扫描分析项复制到剪贴板。
  • pastesweep : 从剪贴板粘贴参数扫描/容差分析/优化/S 参数扫描分析项。
  • addsweep : 添加一个参数扫描/容差分析/优化/S 参数扫描项作为顶层项。
  • insertsweep : 将参数扫描/容差分析/优化项作为子项插入到父项中。
  • getsweep : 从参数扫描/容差分析/优化/S 参数扫描项中获取属性。
  • setsweep : 设置参数扫描/容差分析/优化/S 参数扫描项中的属性。
  • deletesweep : 删除指定的参数扫描、优化、容差分析任务或 S 参数扫描。
  • addsweepparameter : 向参数扫描/容差分析/优化/S 参数扫描项添加参数。
  • addsweepresult : 向参数扫描/容差分析/优化项添加结果。
  • removesweepparameter : 从参数扫描/容差分析/优化/S 参数扫描项中移除参数。
  • removesweepresult : 从参数扫描/容差分析/优化项中移除结果。
  • exportsweep : 将 S 参数扫描任务中的 S 参数结果导出为 .dat 文件,该文件的格式可以被 INTERCONNECT 中的 Optical N-Port S-parameter 元件加载。

数据分析

EME求解器分析

  • setemeanalysis : 设置EME分析窗口中的属性。
  • getemeanalysis : 获取EME分析窗口中的属性。
  • emesweep : 运行EME分析传播扫描工具。
  • emepropagate : 使用EME求解器传播场和S矩阵结果。
  • getemesweep : 从EME传播扫描中获取用户S矩阵结果。
  • exportemesweep : 导出EME分析波长扫描结果。

FDE求解器分析

  • setanalysis : 设置MODE的FDE和有限元IDE分析窗口中的计算参数。
  • getanalysis : 获取MODE的FDE和有限元IDE分析窗口中的计算参数。
  • analysis : 打开与活动求解器(FDE或EME)对应的MODE分析窗口。
  • mesh : 对物理结构进行网格划分。
  • findmodes : 计算结构支持的模态。
  • nummodes : 返回找到的模态数量。
  • selectmode : 从模态列表中选择一个模态。
  • frequencysweep : 执行频率扫描。
  • coupling : 计算复耦合系数。
  • overlap : 计算两个模态之间的重叠度和功率耦合。
  • bestoverlap : 确定哪个模态与另一个模态有最大重叠度。
  • bestoverlap2 : 与bestoverlap类似。
  • propagate : 在波导中传播任意模态。
  • optimizeposition : 在使用FDE求解器时,计算使指定模态与d-card之间达到最大重叠度的x偏移、y偏移和z偏移。

FDTD测量

  • transmission : 返回通过监视器的功率传输。
  • transmission_avg : 返回通过监视器表面的总频谱平均功率,归一化到光源的总频谱平均。
  • transmission_pavg : 返回通过监视器表面的部分频谱平均功率,归一化到光源的部分频谱平均。
  • getsourceangle : 获取光源角度。

FDTD归一化

这些命令用于对从时域FDTD仿真获得的频域数据进行归一化处理。

  • nonorm : 不使用归一化。
  • cwnorm : 使用连续波归一化。
  • sourcenorm : 返回在cwnorm状态下使用的归一化。
  • sourcenorm2_avg : 返回用于对总频谱平均量进行cwnorm状态数据归一化的光源归一化频谱。
  • sourcenorm2_pavg : 返回用于对部分频谱平均量进行cwnorm状态数据归一化的光源归一化频谱。
  • dipolepower : 返回偶极子源注入仿真的功率。
  • sourcepower : 返回光源功率。
  • sourcepower_avg : 返回光源注入仿真的总频谱平均功率。
  • sourcepower_pavg : 返回光源注入仿真的部分频谱平均功率。
  • sourceintensity : 返回光源强度。
  • sourceintensity_avg : 返回光源注入仿真的总频谱平均强度。
  • sourceintensity_pavg : 返回光源注入仿真的部分频谱平均强度。

FEEM和DGTD测量

  • modeexpansion : 返回关于两个FEEM求解器结果,或一个FEEM求解器结果和一个DGTD二维频率监视器结果的模式扩展系数。
  • modeoverlap : 如果给定两个FEEM求解器结果结构,返回两次FEEM计算各自模式轮廓(模态)之间的重叠度。

远场投影

FDTD, MODE

  • farfieldsettings : 设置远场计算中"远场设置"窗口内的可用参数。
  • farfieldfilter : 设置或获取用于消除因近场截断导致的远场投影波纹的远场滤波器宽度。
  • farfield2d : 在二维仿真中,将来自给定功率或场分布监视器或直角坐标数据集的场投影到远场。返回电场强度。
  • farfieldvector2d : 功能与 farfield2d 相同,但返回的是笛卡尔坐标系下的电场分量(Ex, Ey, Ez)。
  • farfieldpolar2d : 功能与 farfield2d 相同,但返回的是柱坐标系下的电场分量(Er, Eθ, Ez)。
  • farfieldangle : 返回对应于二维仿真中 farfield2d 数据的角度向量(以度为单位)。
  • farfield3d : 在三维仿真中,将给定的功率或场分布监视器或直角坐标数据集投影到远场。返回电场强度。
  • farfieldvector3d : 功能与 farfield3d 相同,但返回的是笛卡尔坐标系下的电场分量(Ex, Ey, Ez)。
  • farfieldpolar3d : 功能与 farfield3d 相同,但返回的是球坐标系下的电场分量(Er, Eθ, Eφ)。
  • farfieldux : 返回对应于三维仿真中 farfield3d 远场数据的 ux 方向余弦矩阵。
  • farfielduy : 返回对应于三维仿真中 farfield3d 远场数据的 uy 方向余弦矩阵。
  • farfieldspherical : 将远场投影数据从笛卡尔坐标插值到球坐标:从 E(ux, uy) 转换为 E(θ, φ)。
  • farfieldexact2d : 在指定的位置网格上计算远场。
  • farfieldexact3d : 在任何指定的位置网格上计算远场。
  • farfieldexact : 与 farfieldexact2d 和 farfieldexact3d 类似,但远场仅在向量列表明确指定的位置进行评估。
  • farfield2dintegrate : 在二维仿真中,计算远场投影在特定 theta 角度范围内的积分。
  • farfield3dintegrate : 在三维仿真中,计算远场投影在指定锥体范围内的积分。

DGTD

  • near2far : 使用提供的近场监视器数据,在指定点计算远场。
  • createsphericalsurface : 创建三角化的球面或分段圆弧。

光栅投影

FDTD, MODE

  • grating : 返回指定仿真中透射到各物理光栅衍射级次的功率比例。
  • gratingn : 返回光栅衍射级次数值的向量。
  • gratingm : 返回光栅衍射级次数值的向量。
  • gratingpolar : 返回球坐标系下所有物理光栅衍射级次的相对强度。
  • gratingvector : 返回笛卡尔坐标系下所有物理光栅衍射级次的相对强度。
  • gratingperiod1 : 返回光栅周期 a1。
  • gratingperiod2 : 返回光栅周期 a2。
  • gratingbloch1 : 返回布洛赫矢量 (k_in1)。
  • gratingbloch2 : 返回布洛赫矢量 (k_in2)。
  • gratingu1 : 返回单位矢量 u1 的第一个分量。
  • gratingu2 : 返回单位矢量 u2 的第二个分量。
  • gratingangle : 返回各衍射级次的角度。
  • gratingordercount : 返回支持的衍射级次总数。

DGTD

  • getperiodicity : 返回指定求解器中与活动周期性边界条件关联的周期矢量。
  • getsourcedirection : 返回指定源波矢量方向上的单位矢量。
  • gratingorders : 返回包含传播光栅衍射级次及其对应角度的矩阵数据集。
  • gratingprojection : 返回包含传播光栅衍射级次、角度及各衍射级次相对功率的矩阵数据集。

数据可视化

支持线形图和图像绘制。这些图形可以导出为JPEG格式图片。

绘图函数

  • plot : 绘制线形图。
  • plotxy : 当数据集在不同位置向量采样时,绘制线形图。
  • polar : 绘制极坐标图。
  • polar2 : 当数据集在不同位置向量采样时,绘制极坐标图。
  • polarimage : 绘制二维极坐标图像。
  • smithchart : 绘制阻抗史密斯圆图。
  • histc : 绘制直方图。
  • bar : 绘制柱状图。
  • legend : 为带线形图的图表添加图例。
  • image : 绘制二维图像。
  • setplot : 设置图形属性。
  • visualize : 将数据发送至可视化工具。
  • add2visualizer : 向现有可视化工具添加数据。
  • vectorplot : 绘制矢量图。
  • holdon : 开启在同一图表上叠加绘制多个数学函数的模式。
  • holdoff : 关闭在同一图表上叠加绘制多个数学函数的模式。

其他绘图函数

  • selectfigure : 选择图表。
  • exportfigure : 导出图表。
  • closeall : 关闭所有图表窗口。

INTERCONNECT

元素库

  • library : 返回当前安装的元素库(包括自定义元素)中可用元素的列表。
  • addtolibrary : 将元素添加到当前选定的自定义库中。
  • customlibrary : 返回自定义库的路径。
  • saveelement : 将元素保存到文件。
  • loadelement : 从文件加载元素。
  • probe : 在指定端口放置一个探针分析器。
  • loadcustom : 重定向元素库"Custom"文件夹的位置并重新加载该文件夹的内容。
  • replacelibrary : 替换元素库中当前库的所有实例。
  • hideproperty : 隐藏给定"元素"的指定"属性"。
  • protectproperty : 保护给定"元素"的指定"属性"。
  • hidecategory : 隐藏给定"元素"中指定"类别"的所有属性。
  • annotateproperty : 为给定"元素"启用"属性"注释。
  • ispropertyactive : 如果元素"element"的属性"property"处于活动状态,则返回 true。
  • parsebackannotation : 解析波导反向注释。
  • parsewaveguidebackannotation : 在给定的摄氏温度下解析波导反向注释。

设计工具包命令

  • loaddesignkit : 加载设计工具包并将其内容定向到用户定义的路径。
  • enabledesignkit : 启用"设计工具包"文件夹中的设计工具包。
  • disabledesignkit : 禁用"设计工具包"文件夹中的设计工具包。
  • removedesignkit : 从元素库的"设计工具包"文件夹中移除设计工具包。
  • reloaddesignkit : 从元素库的"设计工具包"文件夹重新加载设计工具包的内容。
  • packagedesignkit : 从自定义文件夹创建设计工具包文件。
  • installdesignkit : 将设计工具包文件安装到"设计工具包"文件夹。
  • uninstalldesignkit : 从"设计工具包"文件夹卸载设计工具包。
  • importlib : 为自定义文件夹中的CML导入.lib文件。
  • exportlib : 为自定义文件夹中的CML导出.lib文件。
  • renameport : 重命名复合或脚本化元素的端口名称。
  • removecustom : 移除元素库中自定义文件夹内的文件夹。

测量功能

以下命令允许用户验证/获取分析器的结果:

  • validate : 重新运行分析器的分析。
  • validateall : 重新运行仿真中所有分析器的分析。

以下命令允许用户为脚本化元素和复合元素设置结果:

  • setresult : 设置脚本化元素或复合元素的结果。

以下命令允许用户获取 edacosimulation 元素和 N 端口 S 参数元素的内部值:

  • getresultdata : 以矩阵形式从分析器获取结果。
  • getvalue : 获取元素内部参数的值。
  • setvalue : 设置元素内部参数的值。

以下命令用于创建脚本化元素/S 参数元素:

  • popportdata : 从输入端口提取第一个可用的数据值。
  • pushportdata : 将数据发送到输出端口。
  • cloneportdata : 克隆现有的数据值。
  • popportframe : 返回一个包含给定输入端口输入信号的帧结构。
  • pushportframe : 写入一个包含给定输出端口输出信号的帧结构。
  • getmonitorframe : 从分析器输入端口读取可用的帧。
  • getmonitorwaveform : 返回一个包含来自分析器输入端口的波形结构。
  • portdatasize : 返回输入端口可用的数据值数量。
  • setsparameter : 设置输出端口和输入端口之间的 S 参数。
  • importsparameter : 将脚本工作区中的 S 参数数据导入到 S 参数元素中。
  • setfir : 使用当前的 S 参数初始化 FIR 滤波器。
  • seriir : 使用当前的 S 参数初始化 IIR 滤波器。
  • getports : 返回元素中的端口列表。

以下命令允许用户创建用户定义的设置:

  • setsetting : 设置用户定义的设置的值。
  • getsetting : 返回用户定义的设置的值。

以下命令允许用户在用户定义的设置下运行优化:

  • runoptimization : 在指定条件下运行所选元素属性的优化。

以下命令允许用户导出当前电路原理图的图像:

  • exportimage : 导出当前电路原理图的图像。

以下命令允许用户构建对称编码生成器矩阵:

  • constructgeneratormatrix : 构建对称编码生成器矩阵。

以下命令允许用户将温度分布图从 Icepak 仿真导入到 INTERCONNECT 原理图设计中:

  • importtemperaturemap : 将 Icepak 数据文件导入到 INTERCONNECT 原理图设计中。

变量

以下命令用于创建和访问变量。

变量创建与赋值

  • = : 赋值运算符。
  • : : 数组运算符。
  • [] : 创建矩阵。
  • % : 创建名称中包含空格的变量。
  • linspace : 创建线性间隔数组。
  • matrix : 创建填充为零的矩阵。
  • ones : 创建填充为1的矩阵。
  • zeros : 创建填充为零的矩阵。
  • randmatrix : 创建所有元素随机设置在0到1之间的矩阵。
  • randnmatrix : 创建元素呈均值0、标准差1的正态分布的随机矩阵。
  • histogram : 创建包含容差分析结果直方图计数的矩阵。

网格生成

  • meshgridx : 在x方向创建二维网格。
  • meshgridy : 在y方向创建二维网格。
  • meshgrid3dx : 在x方向创建三维网格。
  • meshgrid3dy : 在y方向创建三维网格。
  • meshgrid3dz : 在z方向创建三维网格。
  • meshgrid4d : 在任何方向创建四维网格。

内存管理

  • clear : 从内存中清除所有存储的脚本变量。
  • clearfunctions : 清除所有存储的函数。
  • clearexcept : 清除除指定变量之外的所有工作区变量。

输出与信息

  • print : 打印字符串。
  • workspace : 返回所有当前已定义脚本变量的字符串。

矩阵与数据结构

  • Matrix elements : 如何赋值和访问矩阵元素。
  • Pre-defined constants : 预定义常量列表。
  • eye : 创建单位矩阵。
  • struct : 创建非结构化数据集。
  • cell : 创建元胞数组变量。

数据集操作

以下命令用于创建、访问和操作数据集。有关数据集的介绍,请参阅数据集介绍页面。

数据集创建

  • rectilineardataset : 创建与x/y/z坐标关联的空直角坐标数据集。
  • matrixdataset : 创建空矩阵数据集。
  • unstructureddataset : 创建与x/y/z坐标及连通矩阵关联的空非结构化数据集。

数据集操作

  • addparameter : 向现有数据集添加参数。
  • addattribute : 向现有数据集添加属性。
  • getresult : 从监视器或分析器获取数据集结果。
  • getparameter : 从现有数据集获取参数。
  • getattribute : 从现有数据集获取属性。
  • deleteattribute : 从现有数据集中删除属性。
  • getmeshcontours : 获取非结构化(有限元)数据集中不同域之间轮廓的信息。

INTERCONNECT 专用命令

  • global : 返回指定的全局变量的值。全局变量是根元素属性。
  • simulation : 返回带宽和信道相关的仿真属性。

函数

此页面列出了标准数学和矩阵函数。用户也可使用自定义函数功能定义自己的函数。

三角函数与复数函数

  • sin : 正弦三角函数。
  • cos : 余弦三角函数。
  • tan : 正切三角函数。
  • asin : 反正弦三角函数。
  • acos : 反余弦三角函数。
  • atan : 反正切三角函数。
  • atan2 : 与 atan 相同,但返回正确象限中的角度。
  • real : 返回变量的实部。
  • imag : 返回变量的虚部。
  • conj : 复共轭。
  • abs : 绝对值。
  • angle : 复数的相位。
  • unwrap : 移除超过 2π 的相位跳变。

对数、指数与幂函数

  • log : 自然对数。输入可为复数或负数。
  • log10 : 以 10 为底的对数。输入可为复数或负数。
  • sqrt : 平方根。
  • exp : 指数函数。

矩阵函数

  • size : 返回矩阵的维度。
  • length : 返回矩阵中元素的总数。
  • pinch : 移除矩阵中的单一维度。
  • sum : 矩阵元素求和。
  • prod : 矩阵元素求积。
  • max : 矩阵中的最大值。
  • min : 矩阵中的最小值。
  • amax : 矩阵指定维度上的最大值。
  • amin : 矩阵指定维度上的最小值。
  • dot : 两个向量的点积。
  • cross : 两个向量的叉积。
  • flip : 在单一维度上翻转矩阵。
  • interp : 线性插值函数。
  • spline : 三次样条插值。
  • polyfit : 多项式拟合。
  • normpdf : 计算正态(高斯)概率密度函数。
  • pearson4pdf : 计算 Pearson IV 概率密度函数。
  • lorentzpdf : 计算洛伦兹(柯西)概率密度函数。
  • fitnormpdf : 拟合正态(高斯)概率密度函数。
  • fitpearson4pdf : 拟合 Pearson IV 概率密度函数。
  • fitlorentzpdf : 拟合洛伦兹(柯西)概率密度函数。
  • integrate : 对矩阵进行积分。
  • integrate2 : 对矩阵进行积分,忽略单一维度。
  • find : 在矩阵中查找满足条件的值。
  • findpeaks : 在矩阵中查找峰值。
  • findresonances : 从信号时域轨迹中提取谐振的频率、衰减常数和 Q 因子。
  • transpose : 矩阵转置。
  • ctranspose : 矩阵转置并取复共轭。
  • mult : 执行两个或多个矩阵的乘法。
  • reshape : 改变矩阵维度,保持总元素数不变。
  • eig : 计算矩阵的特征值和/或特征向量。
  • permute : 重新排列矩阵的维度。
  • inv : 计算矩阵的逆。
  • solve : 求解线性方程组。
  • mean : 返回矩阵的平均值。
  • var : 返回方差。
  • std : 返回标准差。
  • mapfind : 给定包含值与字符串映射的文件,返回与指定点关联的字符串值。
  • svd : 返回分解后的 3 元胞数组。
  • chol : 返回下三角矩阵。
  • norm : 返回矩阵的 L2 范数。
  • cov : 计算协方差矩阵。
  • corrcoef : 计算相关系数矩阵。
  • scorrcoef : 生成空间相关矩阵。
  • crosscorrelation : 计算时域信号的互相关。
  • corrtransf : 计算变换矩阵。
  • chpts : 在切比雪夫网格上对函数进行采样。
  • chebin : 返回采样函数的切比雪夫插值。
  • chebpol : 与 chebin 命令类似,但提供了对插值过程的额外控制,允许指定多项式阶数。
  • chebpol1 : 返回在切比雪夫网格上采样的函数的切比雪夫多项式的一阶导数。
  • sort : 按升序或降序对矩阵进行排序。
  • sortmap : 以比简单的数组升序或降序更复杂的方式对矩阵进行排序。
  • conv2 : 对两个二维数组进行卷积。

字符串函数

  • num2str : 将数字转换为字符串。
  • str2num : 将字符串转换为浮点数。
  • eval : 执行包含 Lumerical 脚本语言的字符串。
  • feval : 运行 Lumerical 脚本文件。
  • length : 返回字符串的总长度。
  • substring : 返回字符串中指定位置和长度的子字符串。
  • findstring : 返回子字符串在字符串中的位置。
  • replace : 在字符串的指定位置将一部分替换为另一个字符串。
  • replacestring : 将所有出现的子字符串替换为另一个字符串。
  • splitstring : 基于分隔符将单个长字符串拆分为元胞(字符串)数组。
  • upper : 将字符串转换为大写。
  • lower : 将字符串转换为小写。
  • toscript : 返回包含生成变量的等效脚本的字符串。

频域和时域函数

  • fft : 快速傅里叶变换。
  • fftw : 返回角频率向量。
  • fftk : 返回空间波矢量 kx。
  • invfft : 逆快速傅里叶变换。
  • czt : 线性调频 Z 变换。
  • sroughness : 返回一个包含由均方根振幅表征的粗糙表面的矩阵。

线与多边形函数

  • polyarea : 返回多边形的面积。
  • centroid : 返回多边形的质心。
  • polyintersect : 判断两个多边形是否相交。
  • inpoly : 判断一系列点位于多边形内部还是外部。
  • polyclean : 返回多边形的简化版本。
  • polygrow : 按指定量扩展或收缩多边形。
  • polyand : 通过 AND 操作将两个多边形合并为一个。
  • polyor : 通过 OR 操作将两个多边形合并为一个。
  • polydiff : 通过取差集将两个多边形合并为一个。
  • polystencil : 返回由结构和指定的 Z 法平面相交形成的多边形的顶点。
  • polyxor : 通过 XOR 操作将两个多边形合并为一个。
  • lineintersect : 返回线段的交点。
  • linecross : 判断线段是否彼此交叉。

色度学函数

  • colormatchfunction : 返回一组颜色匹配函数。
  • colormatch : 计算一组颜色匹配函数的 X, Y, Z 三刺激值。
  • colormatchxy : 计算一组颜色匹配函数的 x, y 色度坐标。
  • colormatchuv : 计算一组颜色匹配函数的 u, v 色度坐标。

多层堆栈计算

  • stackrt : 使用解析传输矩阵方法计算平面波通过多层堆栈的反射和透射。
  • stackfield : 使用解析传输矩阵方法计算从下方用平面波照射的多层堆栈内的场。
  • stackdipole : 解析计算多层堆栈的偶极子发射。
  • stackpurcell : 解析计算多层堆栈的珀塞尔因子和远场发射功率密度。

多量子阱计算

  • mqwgain : 计算多量子阱结构中的增益和自发发射。
  • mqwindex : 计算多量子阱结构中的复折射率、增益和自发发射。
  • buildmqwmaterial : 返回 mqwgain 和 mqwindex 所需类型和格式的材料属性。

离子注入掺杂计算

  • implantrange : 计算离子注入掺杂分布的范围。
  • implantstraggle : 计算离子注入掺杂分布的偏差。
  • implantskewness : 计算离子注入掺杂分布的偏度。
  • implantkurtosis : 计算离子注入掺杂分布的峰度。
  • implantlateralscatter : 计算离子注入掺杂分布的横向散射。

杂项函数

  • ceil : 向上取整。
  • floor : 向下取整。
  • mod : 取模运算。
  • round : 四舍五入到最接近的整数。
  • rand : 返回一个在 0 到 1 之间均匀分布的随机数。
  • lognrnd : 返回一个对数正态分布的随机数。
  • randn : 返回一个正态分布的随机数。
  • randreset : 重置随机数种子。
  • randpearson4 : 基于 Pearson IV 分布生成随机数。
  • finite : 判断一个数是有限的还是 NaN。
  • solar : 返回太阳功率谱。
  • all : 如果指定矩阵中的所有条目都非零则返回 1,否则返回 0。
  • any : 如果指定矩阵中的任何条目非零则返回 1,否则返回 0。
  • interptri : 将数据集从三角形网格插值到矩形网格。
  • interptet : 在三维空间中将数据集从四面体网格插值到矩形网格。
  • quadtri : 返回二维有限元网格上数据的近似积分(一阶求积)。
  • quadtet : 返回三维有限元网格上数据的近似积分。
  • precision : 返回截断到用户指定精度的值。
  • erf : 返回误差函数。
  • erfc : 返回互补误差函数。
  • erfinv : 返回反误差函数。
  • erfcinv : 返回反互补误差函数。
  • unique : 返回一个包含给定矩阵中所有唯一值的数组。
  • uniquevertices : 给定一个顶点矩阵,返回一个唯一顶点的矩阵,其值差大于指定的容差。
  • icht : 取切比雪夫插值系数并返回相应的函数样本。
  • dcht : 返回切比雪夫插值系数。
  • besselj : 第一类贝塞尔函数。
  • bessely : 第二类贝塞尔函数。
  • besseli : 第一类修正贝塞尔函数。
  • besselk : 第二类修正贝塞尔函数。
  • mie3d : 解析计算球形粒子的散射、吸收和消光系数。
  • mie3ds12 : 解析计算球形粒子的散射远场函数。

运算符

标准数学与字符串运算符。

代数运算符

  • * : 乘法。(例如:y = x * z;)
  • / : 除法。(例如:y = x / z;)
  • + : 加法。(例如:y = x + z;)
  • - : 减法。(例如:y = x – z;)
  • - : 取负。(例如:y = -x;)
  • ^ : 幂运算。(例如:y = x^3;)在表达式 A^B 中,若 B 为复数,则 A 的相位取值范围为 -π 到 π。
  • \ : 求解线性方程组。

逻辑与关系运算符

  • == : 等于比较。
  • almostequal : 近似等于比较运算符。
  • != : 不等于。
  • <= : 小于或等于。
  • \>= : 大于或等于。
  • < : 小于。
  • \> : 大于。
  • & : 逻辑与。
  • and : 逻辑与。
  • | : 逻辑或。
  • or : 逻辑或。
  • ! : 逻辑非。
  • ~ : 逻辑非。

数据集运算符

  • . : 获取数据集的参数和属性。

字符串运算符

  • " : 创建字符串变量。
  • ' : 创建字符串变量。
  • + : 字符串连接。
  • endl : 行结束符。

屏幕输出

  • ? : 在屏幕上显示输出。
  • \# : 用于脚本文件注释。

循环与条件语句

该脚本语言目前支持 FOR 循环和 IF 语句。其他控制结构(例如 WHILE 循环或 CASE 语句)必须基于这些结构进行构建。

  • for : For 循环。
  • if : If 条件语句。
  • while : 必须使用 for 循环来实现。具体请参阅 for 循环部分。
  • try : 即使代码块内发生错误,也允许脚本继续执行(即 try-catch 语句)。

系统命令

用于与操作系统文件系统交互、运行脚本文件等的系统命令。

系统命令

  • newproject : 创建新的布局环境。
  • new : 创建新的仿真项目文件。
  • save : 保存 fsp 文件或 lms 文件。
  • load : 加载 fsp 文件或 lms 文件。
  • del 或 rm : 删除文件。
  • ls 或 dir : 列出目录中的文件。
  • cd : 更改工作目录。
  • pwd : 返回当前工作目录。
  • cp : 复制文件。
  • mv : 移动文件。
  • exit : 退出应用程序。
  • system : 运行系统命令提示符。
  • fileexists : 检查文件是否存在。
  • currentfilename : 获取当前文件名。
  • currentscriptname : 获取当前脚本文件名。
  • filebasename : 从字符串中获取文件基本名。
  • filedirectory : 从字符串中获取文件目录。
  • fileextension : 从字符串中获取文件扩展名。
  • copytoclipboard : 复制到系统剪贴板。
  • pastefromclipboard : 从系统剪贴板粘贴。
  • hide : 隐藏图形用户界面。
  • show : 显示图形用户界面。
  • cls/clc : 清除脚本提示符窗口。
  • history : 返回在脚本提示符中输入的命令历史记录。
  • clearlogwindow : 清除输出日志窗口。
  • version : 返回应用程序的当前版本。
  • versionfile : 返回应用程序加载的文件的当前版本。
  • fileexpand : 通过替换环境变量来扩展文件名。
  • autosaveon : 在运行仿真前自动保存当前项目。
  • autosaveoff : 在运行仿真前不自动保存项目。
  • read : 从文本文件中读取数据为字符串。
  • exist : 检查变量、脚本或脚本文件是否存在。
  • exporthtml : 生成描述元素的 HTML 文件。
  • help : 使用默认网页浏览器打开 Lumerical 知识库。
  • logmessage : 此函数将消息从脚本化元素发送到 INTERCONNECT 输出窗口。
  • operatingsystem : 返回当前操作系统。
  • setconnectionrouting : 设置给定连接的布线方式。
  • findproperty : 返回包含电路中具有特定属性的所有元素的元胞数组。
  • findpropertyvalue : 返回包含电路中具有特定属性且属性值为特定值的所有元素的元胞数组。
  • refresh : 重新加载当前项目。
  • runinitialize : 初始化逐步仿真。
  • runstep : 运行单个仿真步骤。
  • runfinalize : 完成逐步仿真。
  • waituntildone : 此函数仅在当前仿真完成后返回。
  • runstartupscripts : 运行启动脚本。
  • now : 显示当前的 UNIX 时间(秒)。

脚本加密命令

  • encryptscript : 以加密格式保存指定脚本文件的副本。

脚本命令列表

  • getcommands : 返回可用脚本命令的列表。

启动和停止脚本

  • scriptautorun : 禁用或启用通过键入脚本名称自动运行脚本文件。
  • getpath : 获取当前路径。
  • addpath : 向路径添加目录。
  • clearpath : 从脚本路径中移除"目录"(如果存在)。
  • which : 查找文件在路径中的位置。
  • pause : 暂停程序一段时间。
  • break : 将在该行停止脚本文件的执行。
  • ESCAPE 键 : 中断正在运行的脚本文件或正在执行的长命令块。

状态检查

  • issweep : 检查仿真是否处于扫描模式。
  • isstruct : 判断输入是否为结构体。
  • iscell : 判断输入是否为元胞数组。
  • isfield : 判断输入是否包含字段。
  • getfield : 从结构体返回字段的值。
  • setfield : 为结构体输入字段赋值。

调试

  • debug : 打开调试工具窗口。

文件格式

  • format : 设置脚本解释器的精度。

CSV(逗号分隔值)文件

  • exportcsvresults : 将仿真结果导出为逗号分隔值格式的文件。

FLD(场数据)文件

  • asapexport : 将监视器数据导出到 fld 文件。
  • asapload : 从 fld 文件加载数据。
  • asapimport : 从 fld 文件导入数据到导入源。

GDSII 文件

以下命令可用于导入和导出 GDSII 文件:

  • gdsopen : 打开一个 GDSII 文件以进行写入。
  • gdsclose : 关闭一个正在写入的 GDSII 文件。
  • gdsbegincell : 在 GDSII 文件中开始一个新的单元。
  • gdsendcell : 在 GDSII 文件中完成一个单元。
  • gdsaddpoly : 向 GDSII 文件流添加一个多边形元素。
  • gdsaddcircle : 向 GDSII 文件流添加一个圆的近似形状。
  • gdsaddrect : 向 GDSII 文件流添加一个矩形元素。
  • gdsaddellipse : 向 GDSII 文件流添加一个椭圆元素。
  • gdsaddref : 向当前 GDSII 文件流中的单元添加对另一个单元的引用。
  • gdsaddpath : 添加具有固定宽度的分段线路径。
  • gdsaddstencil : 基于给定 Z 平面与具有特定材料和部分名称的结构相交形成的切片,向当前 GDS 单元添加一个或多个多边形元素。
  • gdsaddtext : 在 GDS 文件的指定位置添加文本注释。
  • gdsimport : 从 .gds 文件导入一个单元到布局环境。
  • gdsaddmultipoly : 创建一组以其顶点为特征的多边形,并通过其参考将它们放置到 GDSII 文件中的一组给定 2D 坐标上。
  • savegdsfile : 使用图层构建器对象中的图案几何形状创建 GDS 文件。

HDF5 文件

以下命令可用于读取分层格式数据(HDF5)文件:

  • h5info : 返回关于 HDF5 文件结构的信息。
  • h5read : 从 HDF5 文件读取数据。
  • h5readattr : 从 HDF5 文件读取属性。
  • h5write : 向 HDF5 文件写入数据。
  • h5writeattr : 向 HDF5 文件写入属性。

JSON 文件

  • jsonsave : 将数据保存到 JSON 文件。
  • jsonsaves : 将结构体保存为 JSON 格式字符串。
  • jsonload : 返回 JSON 文件的值。
  • jsonloads : 将 JSON 格式字符串加载到脚本工作区。
  • jsonread : 将 JSON 文件的值读取到变量。
  • jsonreads : 将 JSON 列表字符串的值读取到变量。
  • jsonvalidate : 根据 JSON 模式验证 JSON 文件。
  • jsonwrite : 将脚本工作区变量写入 JSON 文件。
  • jsonwrites : 将结构体写入 JSON 列表字符串。

LDF 文件

  • loaddata : 从 ldf 文件加载变量或 d-card 数据。
  • savedata : 将变量保存到 ldf 文件。
  • savedcard : 将 d-card 数据保存到 ldf 文件。

查找表

以下命令可用于生成和修改查找表:

  • lookupclose : 关闭先前使用 lookupopen 命令创建的文件。
  • lookupopen : 打开文件以写入查找表。
  • lookupread : 从包含设计和提取参数查找表的文件中查找最近的提取值。
  • lookupwrite : 将一对设计和提取参数写入查找表。
  • lookupreadtable : 从包含设计和提取参数查找表的文件返回插值矩阵。
  • lookupreadvalue : 从包含设计和提取参数查找表的文件中查找值。
  • lookupreadnportsparameter : 从包含设计和提取参数查找表的文件返回插值的 S 参数元胞数组。
  • lookupappend : 支持将新关联直接插入到现有表中。
  • insert : 将对象插入到现有的元胞数组中。

MAT (Matlab) 文件

可以将 Lumerical 脚本中的数据导出到 MATLAB (.mat) 文件以进行进一步分析。同样,存储在 .mat 文件中的数据也可以加载到 Lumerical 的脚本环境中:

  • matlabload : 加载 .mat 文件。
  • matlabsave : 保存数据到 .mat 文件。
  • matlabsavelegacy : 以旧版格式保存数据到 .mat 文件。

工艺文件

  • saveprocessfile : 将图层构建器对象中的工艺信息导出为工艺文件。

PSF 文件夹

  • setpsfoutput : 指定 PSF 文件夹的位置。

SPICE 网表

  • importnetlist : 导入光学 SPICE 网表。
  • exportnetlist : 导出当前电路的网表。

STL 文件

  • readstltriangles : 从 STL 文件导入顶点数据。

Tecplot 文件

  • tecplotread : 从 Tecplot 格式文件导入数据。

文本文件或标准输出

  • readdata : 读取文本文件。
  • write : 将字符串写入文本文件或标准输出(Linux)。

Touchstone 文件

  • touchstoneload : 从包含 Touchstone 格式 S 参数的文件加载无源网络数据。

VTK 文件

  • vtksave : 以 .vtk 格式保存。

用户自定义图形界面

可使用以下命令创建自定义图形用户界面。

界面创建命令

  • message : 创建显示文本信息的消息窗口。
  • newwizard : 用于创建新的用户自定义向导。
  • newwizardpage : 为向导创建新页面。
  • wizardwidget : 向当前向导窗口添加新控件。
  • runwizard : 运行向导并返回表示所按按钮的值。
  • wizardgetdata : 返回输入到特定控件中的数据。
  • killwizard : 关闭向导窗口。
  • wizardoption : 设置向导控件和标签的选项。
  • fileopendialog : 调用标准Windows文件打开对话框。
  • filesavedialog : 调用标准Windows文件保存对话框。

典型创建流程

通常,创建向导将遵循以下步骤:

  1. 使用 newwizard 创建新向导
  2. 使用 newwizardpage 添加新向导页面
  3. 使用 wizardwidget 向向导页面添加控件
  4. 调用 runwizard 运行向导
  5. 使用 wizardgetdata 获取用户在控件中输入的值

根据 runwizard 返回的值,可以选择使用 killwizard 关闭向导,或使用 newwizardpage 开始新的向导页面。

互操作性

本主题列出了与 Lumerical 和其他 Lumerical 产品以及第三方工具(如 MATLAB、Python 和 Zemax)的互操作性相关的所有命令。

Lumerical 自动化 API

  • opensession : 从当前仿真(客户端)在任何 Lumerical 产品中开启服务器会话。
  • closesession : 关闭已开启的会话。
  • putremotedata : 将变量从客户端工作区发送到服务器工作区。
  • getremotedata : 将变量从服务器工作区获取到客户端工作区。
  • evalremote : 在服务器上发送并执行脚本命令。

有关 Lumerical 自动化 API 的更多信息,请参阅以下示例:
MZI API 自动化示例

Matlab 自动化 API(在 Matlab 中使用)

  • appopen : 从 Matlab 打开 Lumerical 会话。
  • appclose : 从 Matlab 关闭已开启的 Lumerical 会话。
  • appevalscript : 从 Matlab 向 Lumerical 发送 Lumerical 脚本命令并执行。
  • appgetvar : 将变量从 Lumerical 工作区获取到 Matlab 工作区。
  • appputvar : 将变量从 Matlab 工作区发送到 Lumerical 工作区。

有关 Matlab 自动化 API 的更多信息,请参阅以下示例:
Matlab 优化示例

MATLAB 函数(在 Lumerical 中使用)

  • matlabsave : 将工作区数据保存到 Matlab .mat 文件。
  • matlabsavelegacy : 将工作区数据保存到旧版 Matlab .mat 文件格式。
  • matlab : 执行 MATLAB 命令。
  • matlabget : 从 MATLAB 工作区获取变量。
  • matlabput : 将变量发送到 MATLAB 工作区。
  • matlabload : 从 MATLAB .mat 文件加载数据到工作区。

Python API(lumapi 模块命令)

本质上所有 LSF 函数都可以作为 Python API 的方法使用。有关导入 lumapi 模块以及在环境之间传递数据的更多信息,请参阅自动化 API 概述。

  • lumapi.eval : 将字符串作为 Lumerical 脚本语言执行。
  • lumapi.getv : 从 Lumerical 脚本工作区获取变量。
  • lumapi.putv : 将变量从 Python 环境发送到 Lumerical 脚本工作区。

Zemax 接口

  • zbfread : 读取 Zemax zbf 文件并将数据添加到结构数组中,该数组将在脚本工作区中可用以供进一步处理。
  • zbfwrite : 将 4D 数据集写入当前目录中的 Zemax zbf 文件。写入 zbf 文件的数据包括:

    • Ex, Ey, Ez, x, y, z
    • frequency, wavelength, index
  • zbfexport : 将数据从频域场监视器或场与功率监视器导出到 Zemax *.zbf 文件。此命令也可用于将数据从 d-card 导出到 Zemax 文件。
  • zbfload : 将数据从 Zemax zbf 文件加载到名为 "zbf_data" 的 d-card 中。