Skip to main content
Version: Next

refractive-index

本文说明 CoatFlex 中折射率相关拟合的当前可用能力、参数映射与工程建议。

模块范围

折射率拟合主要包括两类流程:

  1. Envelope:从干涉包络估计单层膜厚与折射率初值,再做 RT 精修。
  2. Substrate:从 T/R 目标拟合基板色散模型参数。

Envelope 当前行为

当前实现为两阶段:

  1. 包络粗估(Swanepoel + 鲁棒极值/吸收性基板反演)。
  2. 单层 RT 优化精修(LM 或 Simplex→LM)。

返回字段 iterationmerit 已经是实际优化值,不再是固定占位。

Substrate 当前行为

当前非回调与回调两条路径已经统一:

  1. 可选 Simplex 全局探索。
  2. LM 第二阶段精修。

这样可以避免两条 API 路径出现参数漂移。

优化器配置映射(生效字段)

停止条件

  1. stop_by_iter=true && set_iter>0:按指定迭代上限停止。
  2. 否则默认无限迭代(usize::MAX)。
  3. stop_by_merit=true:将 set_merit 映射到容差阈值。

关键字段覆盖

  1. Simplex:初始化方式、边界处理、自适应/固定变换、重启选项。
  2. DE:归一化、边界处理、预算、无改进停止、种子。
  3. SA:温度策略、多起点、种子。
  4. ACO:信息素参数、精英权重、多群体、种子。

常用默认值

  1. max_iterations = usize::MAX
  2. tolerance = 1e-8
  3. simplex_initial_edge_length = 0.05
  4. sa_initial_temp/final_temp = 1000 / 1e-2
  5. de_population_size = 50
  6. aco_num_ants = 20

Low-E 预设建议

  1. 基板拟合建议 use_simplex_first=true 后接 LM 精修。
  2. 建议同时设置 stop_by_iter(300~800)与 stop_by_merit1e-6~1e-4)。
  3. TabulatedNK 维度较高时,先全局(DE/SA)后局部(LM)。

已知限制

  1. Envelope 精修仍为单层常数 n/k 参数化,不是全色散联合反演。
  2. Envelope 目标映射当前默认法向入射(angle=0)。
  3. SA/ACO parallel 模式是多起点/多群体聚合,非强制线程并行。