结构配置
Structure 是 Dreapex TMM 中的结构建模页面,用于定义入射侧介质、膜系本体和透射侧介质。该页决定了计算对象本身;如果结构不成立,后续 Run、Run Sweep 和 Run Optimizer 即使可见,也不会得到可用结果。
本章给出用于工程建模的结构配置方法。完成本章后,你应能够独立完成以下工作:
- 在顶层结构表中安全地新增、插入、复制、重排和删除层或层组。
- 为普通层设置厚度、单位、折射率模型及其参数。
- 使用
Layer Group构造周期单元,并掌握重复次数限制。 - 正确设置入射介质与透射介质,避免环境介质导致的结构校验失败。
- 通过页面底部验证状态判断结构是否已具备进入
Optics的条件。
页面职责与推荐顺序
Structure 页面由四个功能区构成:
| 区域 | 主要内容 | 工程作用 |
|---|---|---|
| 页面工具栏 | Add、Insert、Duplicate、Reverse、Move、Delete、Table / 3D | 管理顶层结构元素与视图 |
| 入射介质面板 | Incidence Medium | 定义入射边界条件 |
| 结构表 | 顶层层、层组及其参数编辑器 | 定义待求解膜系本体 |
| 透射介质面板 | Transmission Medium | 定义出射边界条件 |
页面底部状态栏持续显示参数验证状态。结构配置应始终遵循“修改一轮,检查一次状态栏”的节奏,而不是连续输入后再集中排错。

推荐采用以下顺序进行结构配置:
- 先确认
Incidence Medium。 - 再编辑普通层或创建
Layer Group。 - 按需要调整层序。
- 最后设置
Transmission Medium。 - 确认底部状态栏通过后,再进入
Optics。
折射率模型、非相干设置、环境介质吸收限制和层序相互耦合。先固定边界条件,再完成堆栈编辑,可以减少返工。
顶层编辑:工具栏与结构表
页面工具栏仅作用于顶层结构表,不作用于 Layer Group 对话框内部的子层表。
| 控件 | 作用 | 使用前提 | 使用建议 |
|---|---|---|---|
Add | 在末尾追加普通层 | 参数未锁定 | 用于继续扩展堆栈 |
Add > Layer Group | 在末尾追加层组 | 参数未锁定 | 用于周期结构或重复单元 |
Insert | 在当前选中行后插入普通层 | 必须先选中一行 | 用于在指定位置插入过渡层 |
Insert > Layer Group | 在当前选中行后插入层组 | 必须先选中一行 | 用于在中间插入周期模块 |
Duplicate | 复制当前选中行 | 必须先选中一行 | 用于快速复用相近参数 |
Reverse | 反转顶层结构顺序 | 顶层结构非空 | 用于快速检查反向入射情形 |
Move Up / Move Down | 将选中行上下移动一位 | 必须先选中一行 | 用于细调层序 |
Delete | 删除当前选中行 | 必须先选中一行 | 删除前先确认选中的确是目标顶层行 |
Table / 3D | 切换表格视图与 3D 视图 | 页面可编辑 | 3D 用于检查层序;参数编辑仍以表格视图为主 |
如果 Insert、Duplicate、Move Up、Move Down 或 Delete 处于禁用状态,第一检查项永远是“是否已选中目标行”。
结构表中的每一行都是一个顶层结构元素,可以是普通 Layer,也可以是 Layer Group。关键列的职责如下:
| 列 | 含义 | 关键规则 |
|---|---|---|
| 勾选框 | 启用或禁用该顶层元素 | 顶层至少保留 1 个启用元素 |
Type | 标识当前行是 Layer 还是 Group | 只读,用于识别编辑方式 |
Name | 顶层元素名称 | 必填,且顶层名称必须唯一 |
Thickness / Repeat | 普通层显示厚度;层组显示重复次数 | 厚度必须大于 0;重复次数必须为正整数 |
Refractive Index | 普通层显示折射率模型;层组显示 Edit Layer Group | 层组内部参数必须进入对话框编辑 |
| 参数编辑区 | 根据当前折射率模型切换不同输入器 | 参数必须与模型类型一致 |
Transparency | 普通层透明层标记 | 仅普通层可编辑 |
Incoherent | 普通层非相干标记 | 仅普通层可编辑,且与双折射存在限制 |
Delete | 删除当前顶层行 | 删除的是顶层元素,不是层组内部子层 |
实际建模时,结构表需要优先关注以下四类规则:
- 顶层元素不能全部禁用。
- 顶层名称不能重复,复制后应立即改名。
- 普通层厚度必须严格大于
0;临时排除某层时应取消勾选,而不是把厚度改成0。 Incoherent只适用于普通层;一旦启用,不应再将该层设置为双折射材料。
Transparency 可用于辅助表达该层在模型中的角色,但它不会替代材料本身的物理参数要求。无论是否标记为透明层,普通层仍然必须提供合法的折射率参数。
折射率模型选择
普通层的折射率编辑器会随模型类型切换。结构建模的核心工作之一,就是为每层选择正确的折射率表达方式。
| 模型 | 适用场景 | 必填参数 | 关键限制 |
|---|---|---|---|
Constant | 常数折射率近似、概念验证、快速原型 | n、k | n > 0,k >= 0 |
Const. Birefringence | 常数双折射近似、各向异性参数敏感性测试 | no、ko、ne、ke | 四个值都必须合法;不可与非相干层组合 |
File | 使用波长相关真实材料数据 | 文件或数据库材料 | 文件内容必须与当前材料类型匹配 |
对大多数建模任务,可按以下判断选择:
- 做概念验证或快速建立参考模型,优先使用
Constant。 - 需要在不引入外部数据的前提下测试各向异性,使用
Const. Birefringence。 - 需要接近真实色散特性时,使用
File。

当切换到 Const. Birefringence 时,参数区会从两栏扩展到四栏;这是页面上最直接的模式切换标识。
File 模式下通常会出现 5 个相关控件:上传按钮、数据库按钮、清空按钮、当前文件名显示区和预览按钮。建议固定采用如下顺序:先查数据库,再导入本地文件;导入后先预览曲线,再继续建模;更换材料前先清空当前文件,避免误判当前数据来源。
Layer Group:周期结构建模
当结构包含重复单元时,应优先使用 Layer Group,而不是手工复制大量普通层。典型场景包括 DBR、周期对、重复功能层单元等。
Layer Group 有两个入口:
Add > Layer Group:在顶层结构末尾追加层组。Insert > Layer Group:在当前选中行后插入层组。
两者的编辑界面完全相同,唯一差别是插入位置。

对话框内部可按功能分为四部分:
| 区域 | 内容 | 作用 |
|---|---|---|
| 基本信息区 | Name、Repeat Count、Description | 定义层组身份和重复次数 |
| 内部工具栏 | Add、Insert、Duplicate、Reverse、移动、删除 | 管理层组内部子层 |
| 内部层表 | 子层名称、厚度、折射率模型与参数 | 定义一个周期单元 |
| 预览信息区 | 内部层数、重复后总层数、总厚度 | 快速检查层组规模 |
填写层组时应重点注意以下规则:
| 字段 | 规则 | 工程建议 |
|---|---|---|
Name | 必填,且作为顶层元素时不能与其他顶层名称重复 | 用结构语义命名,如 DBR Pair |
Repeat Count | 必须为正整数 | 先用较小值验证,再增加到目标次数 |
Description | 可选 | 用于记录设计目的或周期说明 |
当前实现存在一个需要明确记住的差异:
Layer Group对话框内的Repeat Count控件,界面限制为1-100。- 回到顶层结构表后,层组重复次数可继续调整到
1-1000。 - 底层校验逻辑接受
1-1000的正整数。
因此,当目标重复次数超过 100 时,正确做法是先创建层组,再回到顶层表格继续增大重复次数。
层组内部编辑与顶层编辑相似,但只作用于当前层组内部。内部子层同样必须满足名称非空、名称在组内唯一、厚度大于 0、折射率参数与模型匹配等规则。
需要特别区分的点有三项:
- 层组内部子层可用
Transparency,但不提供Incoherent。 - 内部层序变化不会直接改变顶层结构顺序。
- 只有点击
Save才会写回顶层结构;Cancel会丢弃本次对话框修改。
如果你需要频繁切换相干/非相干状态,普通顶层层通常比 Layer Group 更适合。
环境介质配置
Structure 页面在结构表上下分别提供 Incidence Medium 和 Transmission Medium。它们定义的是膜系两侧的边界条件,而不是膜系内部层。

两者的共同基础规则如下:
- 名称不能为空。
- 折射率模型只支持
Constant与File。 - 环境介质不支持双折射常数模式。
- 环境介质也不支持双折射折射率文件。
两侧介质的差异如下:
| 项目 | Incidence Medium | Transmission Medium |
|---|---|---|
| 物理含义 | 定义入射侧边界条件 | 定义出射侧边界条件 |
| 可编辑字段 | Name、Index Type、n 或文件输入区 | Name、Index Type、n、k 或文件输入区 |
| 吸收限制 | 必须为无吸收,等效 k = 0 | 可为无吸收,也可为有吸收 |
| 数据库可用性 | 不作为主要数据库入口 | File 模式下可直接使用数据库 |
其中最关键的工程限制是:入射介质必须保持无吸收。即使切换到文件模式,导入文件中的 k 列也必须全部为 0,否则结构验证会失败。
透射介质则更接近“基底或出射环境”的建模入口。在常数模式下,它可以直接输入 k;在文件模式下,它也可以直接从折射率数据库选择材料。因此,吸收基底、衬底或有损输出介质通常都在 Transmission Medium 中建模。
材料数据库与结构校验
当普通层或透射介质使用 File 模式时,可以调用折射率数据库。数据库对话框通常包含左侧材料树和右侧曲线预览两部分:前者用于按材料类别筛选,后者用于在写入前确认折射率曲线是否符合预期。

推荐采用以下流程:
- 先按材料类别筛选候选项。
- 在右侧预览当前材料的折射率曲线。
- 确认无误后再写入当前层或透射介质。
- 如果只需要快速迭代,优先用数据库;只有在需要完全受控数据时,再改用本地文件。
结构页最常见的失败原因可以归纳为下表:
| 问题 | 典型现象 | 处理方式 |
|---|---|---|
| 顶层无启用元素 | 所有行取消勾选后验证失败 | 至少保留 1 个顶层层或层组启用 |
| 名称冲突 | 复制后立即报错或验证提示重复名称 | 先检查顶层名称;如使用 Layer Group,再检查组内子层名称 |
| 厚度为 0 或负值 | 普通层或层组内部层无法通过验证 | 改为大于 0 的值;临时排除请用取消勾选 |
| 非相干与双折射冲突 | 开启 Incoherent 后切到双折射模型导致失败 | 保留其一:要么用非相干普通材料,要么关闭非相干后使用双折射 |
| 入射介质文件含吸收 | 入射介质切到文件模式后验证失败 | 检查 k 列,确保全为 0 |
从工程角度看,进入下一页前应完成以下自检:
- 顶层至少存在 1 个启用元素。
- 顶层名称无重复。
- 所有厚度都大于
0。 - 每个普通层的折射率参数与当前模型一致。
- 两侧环境介质的名称、类型与吸收限制均合法。
- 页面底部验证状态已经恢复为通过。
建议的基准建模流程
若你需要建立一个标准的“空气 / 单层膜 / 基底”模型,建议采用以下顺序:
- 保持
Incidence Medium为无吸收常数介质。 - 编辑默认普通层,设置名称、厚度与折射率模型。
- 若需要真实色散,再切换到
File并载入数据库材料。 - 在
Transmission Medium中设置基底参数;若基底有吸收,在此处补充k。 - 查看底部状态栏,确认结构已通过验证。
- 再进入
Optics配置角度、波长与探测器。
若目标是周期结构,则将第 2 步替换为:创建 Layer Group,先在对话框中定义一个周期单元,再设置重复次数。
完成以上流程后,继续阅读下一章:光学参数。