Ansys Lumerical|RCWA 求解器 - 仿真对象
2026年6月16日 10:54概述
这篇文章介绍了RCWA求解器设置,选项卡配置如下:
常规
设置传播轴/方向、仿真区域大小及背景材料折射率。
几何
定义仿真区域的位置和尺寸(晶胞边界),支持非正交晶格。
界面
通过绝对坐标或基于几何对象的参考位置来定义层界面,支持层重复以高效计算周期结构。
求解器
选择K矢量域形状(圆形/矩形)、网格细化方法,平衡精度与速度。
材料
选择是否使用多系数模型拟合材料(采样或解析),可覆盖频率范围。
激励
设置入射角(单角度或表格)和频率采样(均匀/切比雪夫/自定义)。
结果
选择返回的内容,如折射率、光栅阶功率、S参数、场振幅、运行时间及内存峰值等。
主要输出
反射/透射能量、各衍射阶功率分布、复S参数、模式/场振幅等。
总标签
传播轴
平面波源(在施加源旋转之前)的传播轴。该轴垂直于结构的各层。
传播方向
源沿传播轴的传播方向,可以是前向(沿轴的正方向)或后向(沿轴的负方向)。选择“双向”将同时运行两个方向的 RCWA 仿真。视口中会显示一个灰色矩形来表示源面,并且如果只设置了一个入射角,还会显示一个箭头(见下面的“激励选项卡”部分),用于指示传播方向,如下图所示。
仿真区域
定义仿真区域的尺寸。仿真区域可以是垂直于 X、Y 或 Z 轴的二维区域,也可以是三维区域。二维仿真区域不能垂直于传播轴。
背景材料
仿真区域内周围背景介质的材料。任何未被几何对象填充的体积都将被赋予这种材料。
折射率
当“背景材料”选择为“对象定义的电介质”时,则此处定义仿真区域中周围背景介质的折射率。
几何选项卡
RCWA 求解器对象的几何形状定义了仿真区域。仿真区域沿垂直于传播方向的各轴的范围定义了晶胞的边界(即周期性)。假定几何形状在仿真区域外沿这些轴是周期性的。
RCWA 求解器对象沿传播方向的范围应足够大,以包含在层堆叠的外部界面之前包含衬底层和覆盖层。
· X,Y,Z:仿真区域的中心位置
· X MIN, X MAX:X 最小、最大位置
· Y MIN, Y MAX:Y 最小、最大位置
· Z MIN, Z MAX:Z 最小、最大位置
· X SPAN, Y SPAN, Z SPAN:仿真区域在 X、Y、Z 方向上的范围
晶格矢量角
设置 RCWA 晶胞的晶格矢量之间的夹角。
仿真 Z 范围
仅当“界面”选项卡中的“层重复”设置为非“无”选项时显示。考虑了所有重复层后,实际运行仿真的范围。虽然使用了术语"z",但该值是在传播轴上的值。
仿真 Z 最大值
仅当“界面”选项卡中的“层重复”设置为非“无”选项时显示。考虑了所有重复层后,仿真域长度的最大值。虽然使用了术语"z",但该值是在传播轴上的值。
界面选项卡
RCWA 求解器将仿真区域划分为垂直于传播轴的多个层。有两种定义这些层之间界面的选项:界面绝对位置和界面参考位置:
界面绝对位置
界面位置通过一个表格定义,该表格列出了全局坐标系中沿传播轴的位置。该表的属性有:
· 添加:在选定条目上方添加一个条目。
· 移除:删除选定的条目。
界面参考位置
根据仿真中物体的最大和最小位置来定义界面位置。
层位置由两个表定义:左侧的表显示仿真中启用的界面,右侧的表显示对象树中几何对象提供的可用界面。只有当界面完全被 RCWA 仿真区域包围时,该界面才会出现在可用界面表中。正好位于 RCWA 仿真区域边缘的界面不包括在内。
如果对象被修改(例如在参数扫描中),层界面位置将自动更新。属于当前对象树中不再存在的对象的界面,如果之前已设置,则会保留在表中。这些条目需要在仿真前删除。表中的错误会用红色轮廓高亮显示,鼠标悬停时会显示错误消息。
使用两个表之间的控件来操作左侧表:
添加
向表中添加一个条目。可以通过双击来修改条目的各列。更多信息请参见下文对各列的说明。
移除
从表中删除选中的条目。
上移
将选中的条目在表中上移一行。
下移
将选中的条目在表中下移一行。
排序
根据计算出的位置,按从最小值到最大值的顺序对表中的每个条目进行排序。
表格的各列如下:
计算位置
界面的位置。
名称
仿真对象的名称。重复的名称会导致仿真中出现歧义,因此不允许重复。
类型
界面是在对象沿传播方向的最大位置还是最小位置。
界面数
此界面(包含)与下一个定义的界面之间的界面数量。如果此界面的类型是 MAX(MIN),则“下一个定义的界面”被认为是该层下方(上方)的下一个界面。如果定义的界面数量相互冲突(例如,在 MAX 层和 MIN 层之间),则使用较大的值。
层重复
控制是否重复层。启用它可以高效计算大型周期结构,例如体全息光栅。
· 无:禁用层重复。
· 倍数:定义选定对象重复的次数,支持整数和小数。
· 厚度:定义层的总厚度。
下图显示了“界面参考位置”选项的示例:
界面在视口中显示为橙色线。表中选择了三角形对象的最大和最小位置,沿着三角形对象共有 11 个界面。通过脚本命令设置界面位置
RCWA 求解器的界面位置也可以通过 set 或 setnamed 脚本命令进行设置。要在“界面绝对位置”或“界面参考位置”选项之间进行选择,请将 RCWA 求解器对象的"interface position"属性分别设置为"absolute"或"reference"。例如,以下命令可用于选择“界面参考位置”选项:
如果选择了“界面绝对位置”选项,则可以通过将"interface absolute positions"属性设置为界面位置(以一维矩阵形式)来定义界面位置。例如,以下脚本命令可用于定义沿传播轴在 0、0.1 和 0.2 um 处的界面:
如果选择了“界面参考位置”选项,则可以通过 set 或 setnamed 命令设置"interface reference positions"属性来定义界面位置。在这种情况下,界面位置在元胞数组中定义。该元胞数组包含其他定义已启用界面的元胞数组。每个内部元胞数组都有名称、类型和界面数的字段,分别对应于图形界面中参考位置表的"NAME"、"TYPE"和"INTERFACES"列。
例如,上图中的参考位置可以通过以下脚本命令设置:
层重复也可以在脚本中设置。
求解器选项卡
RCWA 求解器将场展开为每个层中的傅里叶模式。这些模式具有有限数量的波矢,称为 k 矢量。增加 k 矢量的数量可以提高仿真的精度,但也会增加仿真时间。
K 矢量域
用于傅里叶模式分解的倒易空间中波矢域的形状。对于三维仿真区域,有两个选项:
· 圆形:使用原点特定半径内的 K 矢量。这通常是更高效的选择。k 矢量的最大总数由“最大 K 矢量数”属性确定。它对应于最接近原点的 N 个矢量,使得 N ≤ 最大 K 矢量数,并且所有其他矢量都离原点更远。自 2023 R2.1 版本起,kx 和 ky 分量会单独缩放,以考虑仿真区域的纵横比。请注意,如果区域不是正交且方形的,绘制
会得到同心椭圆而不是圆形。仿真中实际使用的波矢可以从 RCWA 结果中获取,下图说明了在两种不同情况下如何在可视化器中看到它们。
· 矩形:允许在每个方向上有不同数量的 k 矢量网格点。沿每个轴的 k 矢量数量由“最大 KU 数”和“最大 KV 数”属性确定。每个方向所指取决于传播轴:
传播轴 |
KU 轴 |
KV 轴 |
X |
Y |
Z |
Y |
X |
Z |
Z |
X |
Y |
网格细化
用于仿真层网格划分的网格细化方法。网格细化可以为仿真提供亚网格精度。
使用 LI 分解
此选项适用于二维仿真。对于高折射率对比度的材料(例如电介质中的金属),随着 k 矢量数量的增加,该选项有助于加快仿真收敛速度。
材料选项卡
使用多系数模型拟合材料
使用材料数据库中的材料数据进行多系数材料拟合,以确定 RCWA 仿真中使用的材料属性。这与 FDTD 使用的模型相同。该模型提供的导数在频率上是连续的,这对于色散等特性非常有利,因为色散取决于折射率随波长变化的导数。当取消选择此选项时,使用最接近数据点的线性插值。在 2025 R1.3 版本之前,所有材料都使用多系数模型拟合。自 2025 R2 版本起,此选项默认未选中。
如果您选中此选项,您可以选择使用多系数模型拟合两种类型的材料。选中该复选框时可用的选项如下:
· 拟合采样材料:默认选中。采样材料数据将用平滑的多系数材料模型进行拟合。
· 拟合解析材料:选中此选项可将多系数模型拟合到解析材料模型,包括解析材料、Sellmeier 材料和 (n, k) 材料。使用多系数模型拟合解析模型的唯一原因是为了与 FDTD 进行比较,或者为不满足Kramers-Kronig关系的解析模型强制施加该关系。FDTD 仿真必须将多系数模型拟合到解析数据才能运行仿真,但多系数模型可能无法完美拟合解析模型。自 2025 R2 版本起,此选项默认未选中。
覆盖材料频率范围
默认情况下,RCWA 仿真的频率范围用于材料拟合的频率范围。此选项允许您选择该范围。可以使用中心值和范围,或者频率/波长范围的最小值和最大值来指定该范围。
激励选项卡
此选项卡确定将执行 RCWA 仿真的源的入射角和频率。
入射角
入射角
选择源入射角的方法。选项有:
· 单个:选择一个单独的 ANGLE THETA 和 ANGLE PHI。
· 表格:在表格中选择 THETA 和 PHI 角。将使用表中每一行的 THETA 和 PHI 组合运行一个 RCWA 仿真。该表的属性有:
· 添加:在选定条目上方添加一个条目。
· 移除:删除选定的条目。
· 排序:对表中的条目进行排序。
注意:仅在设置单个角度时,视口中指示传播方向的箭头才会显示。
频率采样间隔
采样间隔
仿真所用频率的间隔类型。选项有:
· 均匀:数据点在最大值与最小值之间均匀间隔。最大值和最小值可通过频率或波长进行选择,既可使用最大/最小值,也可使用中心值/跨度值来设定。
· 切比雪夫:采用切比雪夫间距在最大值与最小值之间选取点。最大值和最小值可通过频率或波长进行选择,既可使用最大/最小值,也可使用中心值/跨度值来设定。
· 自定义:在表格中定义频率点。表格的属性有:
· 添加:在“频率 (THz)”表格的选定条目上方添加一个条目。
· 移除:从“频率 (THz)”表格中删除选定的条目。
· 排序:按频率从低到高对表格进行排序。
· 使用波长间隔:默认情况下,数据按频率等间隔记录。选择此选项后,数据将按波长等间隔记录。
· 频率点数:设置记录数据的频率点数量。
结果选项卡
在此选项卡中选择 RCWA 求解器返回的结果。结果说明请参见“返回的结果”部分。
· 报告折射率:当仿真处于 LAYOUT 模式时,返回"index"结果以及"index preview"结果。
· 报告光栅阶:返回"grating_orders"结果。
· 报告光栅功率:返回"grating_power"结果。
· 报告光栅表征:返回"grating_characterization"结果。
· 报告模式振幅:返回"mode_amplitudes"结果。
· 报告场振幅:返回"field_amplitudes"结果。
· 如果未表格化,则分别返回 THETA 和 PHI:在结果中将入射角 theta 和 phi 作为单独的参数返回。这仅适用于 RCWA 求解器对象中的入射角未使用“表格”选项设置的情况。在新项目中,此选项默认打开。读取现有仿真文件时,此选项默认关闭。
返回的结果
在 LAYOUT 模式下:
在运行仿真之前,并且当“报告折射率”被勾选时,“结果视图 - RCWA”面板会显示折射率预览。“折射率预览”结果允许用户在不先运行仿真的情况下检查折射率分布是否正确。
折射率预览
“折射率预览”结果是计算出的 RCWA 仿真每一层中的折射率。它作为一个以位置和频率/波长为函数的矩形数据集返回。
在传播方向上,数据集中的折射率数据比相应的位置向量少一个元素。这是因为折射率是在每个层的中心获得的,而位置是在层之间的界面处获得的。这样做是为了改善结果的可视化。
注意:“index preview”结果从 2024 R2 版本开始可用。
在 ANALYSIS 模式下:
仿真运行后,可以返回以下结果作为 RCWA 求解器对象的结果。将针对所选的频率、入射角、传播方向以及 S 和 P 入射极化的每种组合运行一次 RCWA 仿真。
对于包含相位的结果,假设源位于第一个界面,相位变化在最后一个界面处测量(而非 RCWA 求解器区域的最大值/最小值处)。
index(折射率)
“index”结果是 RCWA 仿真每一层界面处的折射率。它作为一个以位置和频率/波长为函数的矩形数据集返回。在 RCWA 算法中,结果是在每一层的中点计算的。但为了改善折射率的可视化,"index"结果在层的界面处报告。因此,用户可能会注意到,数据集参数(x, y, z 相对于 f)的长度仅沿传播方向比数据集属性(index_x, index_y, index_z)的长度大 1。
在传播方向上,数据集中的折射率数据比相应的位置向量少一个元素。这是因为折射率是在每个层的中心获得的,而位置是在层之间的界面处获得的。这样做是为了改善结果的可视化。
total_energy(总能量)
“total_energy”结果是从仿真结构反射和透射的源功率的比例。结果以 (R,T)(s,p) 格式的名称返回。(R,T) 表示结果是透射还是反射,(s,p) 表示源的极化。
substrate(衬底)
入射介质和透射介质的折射率。"n_lower"结果是传播轴负方向介质的折射率,"n_upper"结果是传播轴正方向介质的折射率。
grating_orders(光栅阶)
"grating_orders"结果给出每个单独光栅阶中的入射功率比例,按入射介质的折射率 ni 和入射角 theta 的余弦
进行归一化。要获得衍射到各光栅阶的入射功率总比例,请将结果除以
(参见 grating_power 结果)。
结果以 (R,T)(s,p)_grating 格式的名称返回。(R,T) 表示光栅阶在结构的透射侧还是反射侧。结果名称中的 (s,p) 表示入射场的极化,而不是光栅阶的极化。返回所有 k 矢量的结果,包括对应于非传播光栅阶的 k 矢量。
光栅阶由两个索引 n 和 m 索引,对应于垂直于传播轴的两个轴方向。光栅阶波矢垂直于传播轴的分量也作为"kx"和"ky"返回。它们按真空中的入射波数
进行归一化,其中 f 是源的频率。
哪个索引和波矢分量对应哪个轴取决于传播轴,如下表所示:
传播轴 |
n, kx 轴 |
m, ky 轴 |
X |
Y |
Z |
Y |
X |
Z |
Z |
X |
Y |
grating_power(光栅功率)
"grating_power" 结果等同于 grating_orders 结果,但使用了不同的归一化因子,以便获得衍射到各光栅阶的入射功率总比例。两种结果的关系如下:
其中
和
分别是入射介质中的折射率和入射角。
grating_power 结果仅保留包含至少一个非零值的数据,即所有不传播到远场的阶次都将从数据集中过滤掉。
grating_characterization(光栅表征)
"grating_characterization" 结果是每个光栅阶的复 S 参数,分为 S 极化和 P 极化。S 参数的幅度是该光栅阶功率透射率的平方根。S 参数的相位是光栅阶平面波相对于源的相位差。
S 参数类似于将光栅阶的电场幅度与源相关联的振幅透射和反射系数,但它们通过修正因子考虑了角度和折射折射率的变化:
其中
是光栅阶介质的折射率,
是源介质的折射率,
是光栅阶的角度,
是源的角度。使用此修正因子,S 参数的平方为功率透射/反射系数。
结果以 (R,T)(s,p)(s,p) 格式的名称返回。(R,T) 表示光栅阶在结构的透射侧还是反射侧。第一个 (s,p) 表示源的极化,第二个 (s,p) 表示光栅阶中出射平面波的极化。
mode_amplitudes(模式振幅)
"mode_amplitudes" 结果是堆栈顶层和底层中前向和后向传播傅里叶模式的振幅。此结果主要用于 Lumerical RCWA - Zemax 动态链接 API,对大多数用户来说并不实用。
结果以 (a,b)(s,p)(x,y,z) 格式的名称返回,其中 (a,b) 表示前向或后向传播模式,(s,p) 表示入射极化,(x,y,z) 表示磁场分量。
这些结果等效于参考文献[1] 中公式 29(国际单位制)给出的模式振幅。结果 a(s,p)x, a(s,p)y, b(s,p)x 和 b(s,p)y 分别等效于
和
field_amplitudes(场振幅)
"field_amplitudes"结果是层堆栈外界面处透射/反射光栅阶电场的振幅,按源的电场面振幅归一化。
结果以 ek(x,y,z)_(f,b)(s,p) 格式的名称返回,其中 (x,y,z) 表示电场矢量的分量,(f,b) 表示光栅阶的方向(f 表示前向,b 表示后向),(s,p) 表示入射场的极化。
光栅阶波矢垂直于传播轴的分量也作为 kx 和 ky 返回,其定义与上述"grating_orders"结果中的相同。
peak_memory(峰值内存)
内存的峰值使用量。这是在仿真运行后报告的值(不是估计值)。
simulation_run_time(仿真运行时间)
运行 RCWA 仿真所需的时间(以秒为单位)。这与日志文件中报告的“RCWA 仿真运行时间”完全相同。
total_threads(总线程数)
用于运行 RCWA 仿真的线程数。
小结
这篇文章介绍了 Lumerical RCWA 求解器的各项设置与结果输出。其核心是:用户需在“常规”和“几何”选项卡中定义仿真维度、传播轴及区域,在“界面”选项卡中通过绝对或参考位置划分垂直于传播轴的层结构,并在“求解器”和“材料”选项卡中控制傅里叶模式的精度与材料模型;通过“激励”选项卡设置入射角与频率采样后,仿真可返回从总能量、各光栅阶功率/相位到场振幅和折射率分布等一系列结果,用于分析周期性结构的衍射与传播特性。
参考文献
[1] V. Liu and S. Fan, "S4: A free electromagnetic solver for layered periodic structures", Computer Physics Communications, 183, 2233-2244, 2012
工程师必备
- 项目客服
- 培训客服
- 平台客服
TOP




















