指南

结构配置

结构建模、层堆流程与校验条件

Structure 是 Dreapex TMM 中的结构建模页面,用于定义入射侧介质、膜系本体和透射侧介质。该页决定了计算对象本身;如果结构不成立,后续 RunRun SweepRun Optimizer 即使可见,也不会得到可用结果。

本章给出用于工程建模的结构配置方法,覆盖顶层结构编辑、折射率模型选择、Layer Group、环境介质与结构校验。

页面结构与配置顺序

Structure 页面由四个功能区构成:

区域主要内容工程作用
页面工具栏AddInsertDuplicateReverseMoveDeleteRI StatusTable / 3D管理顶层结构元素、RI 数据库状态与视图
入射介质面板Incidence Medium定义入射边界条件
结构表顶层层、层组及其参数编辑器定义待求解膜系本体
透射介质面板Transmission Medium定义出射边界条件

页面底部状态栏持续显示参数验证状态。结构配置应始终遵循“修改一轮,检查一次状态栏”的节奏,而不是连续输入后再集中排错。

结构配置顺序:

  1. 先确认 Incidence Medium
  2. 再编辑普通层或创建 Layer Group
  3. 按需要调整层序。
  4. 最后设置 Transmission Medium
  5. 确认底部状态栏通过后,再进入 Optics

折射率模型、非相干设置、环境介质吸收限制和层序相互耦合。先固定边界条件,再完成堆栈编辑,可以减少返工。

顶层编辑:工具栏与结构表

页面工具栏仅作用于顶层结构表,不作用于 Layer Group 对话框内部的子层表。

控件作用使用前提使用建议
Add在末尾追加普通层参数未锁定用于继续扩展堆栈
Add > Layer Group在末尾追加层组参数未锁定用于周期结构或重复单元
Insert在当前选中行后插入普通层必须先选中一行用于在指定位置插入过渡层
Insert > Layer Group在当前选中行后插入层组必须先选中一行用于在中间插入周期模块
Duplicate复制当前选中行必须先选中一行用于快速复用相近参数
Reverse反转顶层结构顺序顶层结构非空用于快速检查反向入射情形
Move Up / Move Down将选中行上下移动一位必须先选中一行用于细调层序
Delete删除当前选中行必须先选中一行删除前先确认选中的确是目标顶层行
Table / 3D切换表格视图与 3D 视图页面可编辑3D 用于检查层序;参数编辑仍以表格视图为主

如果 InsertDuplicateMove UpMove DownDelete 处于禁用状态,第一检查项永远是”是否已选中目标行”。

点击工具栏的 3D 按钮可切换到 3D 可视化模式。3D 视图提供相机角度预设(Front/Isometric/Dimetric/Trimetric)、形状(Square/Circle)和显示选项(Lighting/Names/Thickness/Incident Ray/Explode),支持导出图像。

结构表中的每一行都是一个顶层结构元素,可以是普通 Layer,也可以是 Layer Group。关键列的职责如下:

含义关键规则
勾选框启用或禁用该顶层元素顶层至少保留 1 个启用元素
Type标识当前行是 Layer 还是 Group只读,用于识别编辑方式
Name顶层元素名称必填,且顶层名称必须唯一
Thickness / Repeat普通层显示厚度;层组显示重复次数厚度必须大于 0;重复次数必须为正整数
Refractive Index普通层显示折射率模型;层组显示 Edit Layer Group层组内部参数必须进入对话框编辑
参数编辑区根据当前折射率模型切换不同输入器参数必须与模型类型一致
Transparency普通层透明层标记仅普通层可编辑
Incoherent普通层非相干标记仅普通层可编辑,且与双折射存在限制
Delete删除当前顶层行删除的是顶层元素,不是层组内部子层

实际建模时,结构表需要优先关注以下四类规则:

  1. 顶层元素不能全部禁用。
  2. 顶层名称不能重复,复制后应立即改名。
  3. 普通层厚度必须严格大于 0;临时排除某层时应取消勾选,而不是把厚度改成 0
  4. Incoherent 只适用于普通层;一旦启用,不应再将该层设置为双折射材料。

Transparency 可用于辅助表达该层在模型中的角色,但它不会替代材料本身的物理参数要求。无论是否标记为透明层,普通层仍然必须提供合法的折射率参数。

折射率模型选择

普通层的折射率编辑器会随模型类型切换。结构建模的核心工作之一,就是为每层选择正确的折射率表达方式。

模型适用场景必填参数关键限制
Constant常数折射率近似、概念验证、快速原型nkn > 0k >= 0
Const. Birefringence常数双折射近似、各向异性参数敏感性测试nokoneke四个值都必须合法;不可与非相干层组合
File使用波长相关真实材料数据文件或数据库材料文件内容必须与当前材料类型匹配

对大多数建模任务,可按以下判断选择:

  1. 做概念验证或快速建立参考模型,优先使用 Constant
  2. 需要在不引入外部数据的前提下测试各向异性,使用 Const. Birefringence
  3. 需要接近真实色散特性时,使用 File

当切换到 Const. Birefringence 时,参数区会从两栏扩展到四栏;这是页面上最直接的模式切换标识。

File 模式下会出现 6 个相关控件:

控件作用
Upload(回形针图标)上传本地 .nk / .txt 折射率文件
Database打开折射率数据库对话框
Clear(垃圾桶图标)清空当前折射率文件(需确认)
文件名显示区只读,显示当前加载的文件名
Preview(放大镜图标)打开折射率图表预览对话框
Interpolation选择插值方法:Linear / PCHIP / Cubic Spline

建议固定采用如下顺序:先查数据库,再导入本地文件;导入后先预览曲线,再继续建模;更换材料前先清空当前文件,避免误判当前数据来源。

Layer Group:周期结构建模

当结构包含重复单元时,应优先使用 Layer Group,而不是手工复制大量普通层。典型场景包括 DBR、周期对、重复功能层单元等。

Layer Group 有两个入口:

  1. Add > Layer Group:在顶层结构末尾追加层组。
  2. Insert > Layer Group:在当前选中行后插入层组。

两者的编辑界面完全相同,唯一差别是插入位置。

对话框内部可按功能分为四部分:

区域内容作用
基本信息区NameRepeat CountDescription定义层组身份和重复次数
内部工具栏AddInsertDuplicateReverse、移动、删除管理层组内部子层
内部层表子层名称、厚度、折射率模型与参数定义一个周期单元
预览信息区内部层数、重复后总层数、总厚度快速检查层组规模

填写层组时应重点注意以下规则:

字段规则工程建议
Name必填,且作为顶层元素时不能与其他顶层名称重复用结构语义命名,如 DBR Pair
Repeat Count必须为正整数先用较小值验证,再增加到目标次数
Description可选用于记录设计目的或周期说明

当前实现存在一个需要明确记住的差异:

  1. Layer Group 对话框内的 Repeat Count 控件,界面限制为 1-100
  2. 回到顶层结构表后,层组重复次数可继续调整到 1-1000
  3. 底层校验逻辑接受 1-1000 的正整数。

因此,当目标重复次数超过 100 时,正确做法是先创建层组,再回到顶层表格继续增大重复次数。

层组内部编辑与顶层编辑相似,但只作用于当前层组内部。内部子层同样必须满足名称非空、名称在组内唯一、厚度大于 0、折射率参数与模型匹配等规则。

需要特别区分的点有三项:

  1. 层组内部子层可用 Transparency,但不提供 Incoherent
  2. 内部层序变化不会直接改变顶层结构顺序。
  3. 只有点击 Save 才会写回顶层结构;Cancel 会丢弃本次对话框修改。

如果你需要频繁切换相干/非相干状态,普通顶层层通常比 Layer Group 更适合。

环境介质配置

Structure 页面在结构表上下分别提供 Incidence MediumTransmission Medium。它们定义的是膜系两侧的边界条件,而不是膜系内部层。

两者的共同基础规则如下:

  1. 名称不能为空。
  2. 折射率模型只支持 ConstantFile
  3. 环境介质不支持双折射常数模式。
  4. 环境介质也不支持双折射折射率文件。

两侧介质的差异如下:

项目Incidence MediumTransmission Medium
物理含义定义入射侧边界条件定义出射侧边界条件
可编辑字段NameIndex Typen 或文件输入区NameIndex Typenk 或文件输入区
吸收限制必须为无吸收,等效 k = 0可为无吸收,也可为有吸收
数据库可用性不作为主要数据库入口File 模式下可直接使用数据库

其中最关键的工程限制是:入射介质必须保持无吸收。即使切换到文件模式,导入文件中的 k 列也必须全部为 0,否则结构验证会失败。

透射介质则更接近“基底或出射环境”的建模入口。在常数模式下,它可以直接输入 k;在文件模式下,它也可以直接从折射率数据库选择材料。因此,吸收基底、衬底或有损输出介质通常都在 Transmission Medium 中建模。

折射率数据库

当普通层或环境介质使用 File 模式时,可以通过 Database 按钮打开 refractiveindex.info Database 对话框,从内置折射率数据库中选取材料。

对话框布局

对话框分为左右两栏:

区域内容作用
左侧面板材料树浏览器(Shelf > Book > Material 三级展开)或搜索结果列表按类别逐级定位材料,或用搜索快速跳转
右侧面板Selected Material 元数据 + 折射率曲线预览写入前确认材料信息与曲线形状

搜索

顶部搜索栏支持按材料名称、materialId 或数据库路径(source path)搜索。输入关键词后按 Enter 可直接跳转到匹配材料并加载预览。

材料元数据

选中材料后,右侧面板显示以下信息:

字段含义
Material ID数据库中的唯一标识符
Version材料数据版本号
Ordinary Path寻常光数据路径
Extraordinary Path非寻常光数据路径(仅双折射材料显示)

选取流程

  1. 在左侧树中按 Shelf > Book > Material 逐级展开,或在搜索栏输入关键词后按 Enter
  2. 点击材料条目,右侧自动加载折射率曲线预览。
  3. 核对元数据与曲线后,点击 Confirm 写入当前层或环境介质。
  4. 如需取消,点击 Cancel 或关闭对话框。

写入后,层行会显示材料文件名。在图表预览对话框中会出现 Linked to Database 标签,表明当前数据来自数据库。

快速迭代时优先使用数据库;只有在需要完全受控数据时,再改用本地文件上传。

插值方法

当层或环境介质使用 File 模式时,层行末尾会出现 Interpolation 下拉菜单,用于控制折射率数据在采样点之间的插值方式。

选项说明
Linear线性插值(默认)
PCHIP分段三次 Hermite 插值(Piecewise Cubic Hermite Interpolating Polynomial),保持单调性
Cubic Spline三次样条插值,曲线更光滑但可能出现过冲

软件在运行前会检查使用 Linear 插值的层和环境介质,并建议改为 PCHIP。如果数据点较少,Linear 可能导致折射率曲线不够平滑,影响计算精度。

RI 状态检查

页面工具栏中的 RI Status 按钮用于检查所有关联了数据库的层是否存在更新。

检查流程

点击 RI Status 后,系统会遍历所有数据库关联层并与远程数据库版本比对。Toast 消息会依次显示三种状态之一:

状态显示内容
检查中旋转图标 + "Checking N database-linked layer(s)..."
全部最新绿色勾选图标 + "All RI data is already up to date"
发现更新分层操作表,列出每层的原因(updatedmissing)、版本信息、来源,以及 Refresh / Detach 按钮

当发现更新时,操作表中每行对应一个需要处理的层:

  • updated:数据库中有新版本,可点击 Refresh 更新。
  • missing:材料在最新数据库中已不存在,只能点击 Detach 移除数据库关联。

批量操作

RI Status 按钮右侧的下拉菜单提供两个批量操作:

菜单项作用
Refresh RI from Database for All Layers一次性从数据库更新所有关联层的折射率数据
Detach RI Database Link for All Layers一次性移除所有层的数据库关联,保留当前已加载的数据
Detach 操作移除数据库关联但不删除已加载的折射率数据。断开后该层的折射率数据变为独立文件,不再跟踪数据库版本。

图表预览对话框

点击层行或环境介质的 Preview(放大镜图标)按钮可打开折射率图表预览对话框。

对话框包含以下内容:

区域内容
图表区当前材料的 n/k 折射率曲线
描述区可编辑的材料描述文本
导出按钮Export TXTExport CSV
数据库信息区仅数据库关联材料显示:Linked to Database 标签 + Material ID / Version / Ordinary Path / Source
数据库操作按钮Refresh From Database(从数据库更新)、Detach Database Link(断开数据库关联)

图表区显示当前材料的 n/k 折射率随波长变化的曲线,可直观确认色散特性是否符合预期。

对于数据库关联材料,对话框底部会额外显示 Linked to Database 标签以及 Refresh From DatabaseDetach Database Link 按钮,用于管理数据库同步状态。

波长覆盖检查

运行计算(RunRun SweepRun Optimizer)前,软件会自动检查所有 File 模式层和环境介质的折射率数据波长范围是否覆盖了当前设置的波长采样范围。

如果某层的折射率数据波长范围不能完全覆盖请求的波长采样范围,运行会被阻止,并显示具体的错误信息,包含该层名称、数据覆盖范围和请求范围。

遇到波长覆盖不足时,有两种处理方式:调整折射率材料选择(换用波长范围更宽的数据),或缩小 Optics 页中的波长采样范围。

结构校验

结构页最常见的失败原因可以归纳为下表:

问题典型现象处理方式
顶层无启用元素所有行取消勾选后验证失败至少保留 1 个顶层层或层组启用
名称冲突复制后立即报错或验证提示重复名称先检查顶层名称;如使用 Layer Group,再检查组内子层名称
厚度为 0 或负值普通层或层组内部层无法通过验证改为大于 0 的值;临时排除请用取消勾选
非相干与双折射冲突开启 Incoherent 后切到双折射模型导致失败保留其一:要么用非相干普通材料,要么关闭非相干后使用双折射
入射介质文件含吸收入射介质切到文件模式后验证失败检查 k 列,确保全为 0

从工程角度看,进入下一页前应完成以下自检:

  1. 顶层至少存在 1 个启用元素。
  2. 顶层名称无重复。
  3. 所有厚度都大于 0
  4. 每个普通层的折射率参数与当前模型一致。
  5. 两侧环境介质的名称、类型与吸收限制均合法。
  6. 页面底部验证状态已经恢复为通过。

基准建模流程

若你需要建立一个标准的“空气 / 单层膜 / 基底”模型,建议采用以下顺序:

  1. 保持 Incidence Medium 为无吸收常数介质。
  2. 编辑默认普通层,设置名称、厚度与折射率模型。
  3. 若需要真实色散,再切换到 File 并载入数据库材料。
  4. Transmission Medium 中设置基底参数;若基底有吸收,在此处补充 k
  5. 查看底部状态栏,确认结构已通过验证。
  6. 再进入 Optics 配置角度、波长与探测器。

若目标是周期结构,则将第 2 步替换为:创建 Layer Group,先在对话框中定义一个周期单元,再设置重复次数。

完成以上流程后,继续阅读下一章:光学参数

Copyright © 2026 Dreapex