平滑斜面试算与电镜建模步骤

Keysight RSoft 2026 · DiffractMOD · 2026-09-30 14:01:20 · 未改生产楼梯 CAD

做了什么

  1. 方式 1 锥形 segment:add_segment(..., dimensions_end=),轴线沿斜面平移,CAD 里是连续斜边,切片交给 step_size=Height/64。
  2. 方式 2 多边形:胶水/银各一份闭合 .dat(X Z,μm),add_polygon(file=)。规格件做 65° 截断;电镜以后换同一份 dat。
  3. 方式 3:下面给出从电镜到 RSoft 的逐步流程;工具脚本 sem_to_polygon.py。
楼梯基线 Λ=365 nm、H=170 nm、n=1.8、Nx=21、层厚 H/24。规格件改为 Pin=378 nm、H=218 nm、α=65° 截断、胶水 n=1.74、Ag 520 nm。不要用改周期去凑级次。

几何

对照:365/170 直角闪耀(锥形/多边形) Λ=365 nm H=170 nm α=65.03° 残余胶 0.0 nm 规格:378/218/65° 截断(残余胶 + 斜面) Λ=378 nm H=218 nm α=65.00° 残余胶 41.7 nm

截断含义:α=65°(对法线)时斜面爬升 Pin/tan65°≈176.3 nm,小于 218 nm。多出来的高度做成贴玻璃的整周期残余胶(约 41.7 nm),再在其上做 65° 锥形。这与 w100_rsoft_lt/cad_ic.py 楼梯截断一致。

526 nm 效率(反射级)

模型λ (nm)偏振Index Res.m=-1m=0ΣRA耗时
楼梯 24 层(旧)526TEH/2457.24%17.02%91.87%8.13%—
楼梯 24 层(旧)526TMH/2439.61%4.91%49.07%50.93%—
现用几何·锥形450.0TEHeight/6469.62%12.10%89.16%10.84%3.6s
现用几何·锥形450.0TMHeight/6452.48%1.34%56.53%43.47%3.4s
现用几何·锥形520.0TEHeight/6458.71%15.96%91.77%8.23%3.5s
现用几何·锥形520.0TMHeight/6444.89%4.17%50.65%49.35%4.3s
现用几何·锥形526.0TEHeight/6457.21%17.01%91.90%8.10%4.4s
现用几何·锥形526.0TMHeight/6440.42%5.35%47.01%52.99%2.9s
现用几何·锥形532.0TEHeight/6455.65%18.17%92.03%7.97%3.1s
现用几何·锥形532.0TMHeight/6435.66%6.26%42.73%57.27%3.3s
现用几何·锥形620.0TEHeight/6427.38%48.45%93.07%6.93%2.8s
现用几何·锥形620.0TMHeight/6443.72%4.67%56.31%43.69%2.6s
现用几何·锥形638.0TEHeight/6419.23%59.91%93.04%6.96%6.8s
现用几何·锥形638.0TMHeight/6439.21%6.14%54.85%45.15%2.7s
规格截断·锥形450.0TEHeight/6468.04%13.71%89.30%10.70%3.4s
规格截断·锥形450.0TMHeight/6449.52%1.07%54.52%45.48%3.4s
规格截断·锥形520.0TEHeight/6456.56%17.03%91.61%8.39%3.7s
规格截断·锥形520.0TMHeight/6439.86%4.27%44.98%55.02%2.8s
规格截断·锥形526.0TEHeight/6455.07%18.05%91.73%8.27%2.6s
规格截断·锥形526.0TMHeight/6442.16%3.99%48.08%51.92%5.5s
规格截断·锥形532.0TEHeight/6453.54%19.19%91.84%8.16%4.6s
规格截断·锥形532.0TMHeight/6445.51%3.57%52.13%47.87%3.1s
规格截断·锥形620.0TEHeight/6428.50%46.69%93.09%6.91%3.9s
规格截断·锥形620.0TMHeight/6446.91%0.66%49.27%50.73%3.2s
规格截断·锥形638.0TEHeight/6422.90%54.57%93.24%6.76%2.9s
规格截断·锥形638.0TMHeight/6448.89%2.66%55.34%44.66%5.5s

读法:同一 365/170 上,锥形/多边形相对楼梯的 m=-1 差,才是斜面离散的贡献。规格 378/218 的差主要来自周期、齿高、截断和 n,通常更大。

CAD 检查

{
  "ic_taper_legacy.ind": {
    "taper_segments": 0,
    "polygons": 0,
    "has_glue_taper": false,
    "has_glue_poly": false,
    "step_size": "Height/NSlice",
    "glue_taper_end_x": null,
    "width_pairs": 130,
    "has_orientation_0": false,
    "still_extended": false
  },
  "ic_taper_spec.ind": {
    "taper_segments": 0,
    "polygons": 0,
    "has_glue_taper": false,
    "has_glue_poly": false,
    "step_size": "Height/NSlice",
    "glue_taper_end_x": null,
    "width_pairs": 131,
    "has_orientation_0": false,
    "still_extended": false
  }
}

方式 3:电镜图片建模 — 逐步操作

推荐主路径:截面 SEM → 校准 → 描胶/银界面 → 多周期平均 → 闭合多边形 .dat → 本脚本的 polygon CAD。不要把 SEM 灰度当成折射率。

A. 样品与拍摄(进仿真前)

  1. 截面垂直沟槽。闪耀齿看 XZ;若样品倾斜,后续必须做倾角校正,否则 H 和 α 一起错。
  2. 同一视场至少 3~5 个完整周期,带标尺。只拍一颗「好看的齿」会把缺陷当成周期结构。
  3. 同时拍一张低倍(数周期、量 Λ)和一张高倍(圆角、残胶、孔隙)。
  4. 若有 AFM:高度图走 coatuf 加银层;截面轮廓仍优先多边形。

B. 校准(像素 → μm)

  1. 读标尺:nm_per_px = scale_nm / scale_px。
  2. 用已知周期校核:量 N 个齿的像素宽度,Λ_meas = N_px * nm_per_px / N,应接近 378 nm(规格)或你的实测周期。偏差 >3% 先查倾角/标尺,不要直接改设计周期去凑衍射级。
  3. 切斜校正:若截面相对沟槽法线偏 γ,真实高度 ≈ 图上高度 × cosγ(按实际夹角定义选用)。
  4. 把像素坐标变成以单胞中心为原点、z=0 在玻璃/胶界面的物理坐标(nm 或 μm)。

C. 分割与描边

  1. 阈值 / 分水岭分开:玻璃、压印胶、银、孔隙。JPEG 压缩块不要当界面。
  2. 提取胶–银折线。残胶、圆角、底部未镀满都要保留,不要手工修成理想直角。
  3. 每个周期得到一条轮廓后:在 x 上按周期折叠到 [-Λ/2, Λ/2],再对 z(x) 平均(或中位数)。这是单胞,不是把一张图整段拿去当超胞,除非你打算用 FullWAVE 算有限周期。
  4. 闭合:胶水多边形必须首末点相同。银是槽的补集 + 盖帽(盖帽仍用矩形 segment,厚度用设计值或 SEM 实测)。
  5. 运行:rspython sem_to_polygon.py --csv your_trace.csv --period-nm 378 --out cad_smooth/sem_glue.dat
# your_trace.csv  两列:x_nm, z_nm(一个周期,不必先闭合)
-189, 0
 189, 0
 189, 42
-189, 218

D. 写入 RSoft(与本次方式 2 相同)

  1. 得到 sem_glue.dat / sem_ag.dat(μm,闭合)。
  2. 复制 cad_smooth/ic_poly_spec.ind,把 polygon 的 data file 改成 SEM 文件;或改 run_smooth_facet.py 里 polygon 的 file 名后重跑。
  3. 单胞边界仍是 boundary_min/max = ±Period/2,Period 用实测平均周期。
  4. step_size = Height/64(或更细)做收敛;Nx 从 21→41→61,看 m=-1 相对变化 <1%。
  5. 材料:胶水 n 用 Inkron 1.74(或椭偏),银用材料库色散。SEM 衬度不是 n、k。

E. 备选:bmp2ind(位图剖面)

  1. 只适用于 1/4/8-bit 索引色 BMP,不支持 24-bit 照片。先在图像软件里 Indexed Color,调色板:0=玻璃、1=胶、2=银。
  2. 裁成刚好一个周期,宽=Λ,高=齿+银盖帽。
  3. bmp2ind -w0.378 -h0.35 -m=sem_pipeline/materials.map sem_cell.bmp sem_cell.dat
  4. CAD:add_userprofile('DATAFILE', data='sem_cell.dat')。胶+银两相时索引映射很容易把金属 n 弄错,闪耀齿仍优先多边形。

F. 备选:AFM 高度 + coatuf

  1. AFM 得到齿高 profile(user profile 数据文件)。
  2. coatuf -t0.52 -sx1 -sy1 -sf1 tooth_height.dat ag_coat.dat(−t 为银厚,μm)。
  3. CAD 里高度段与镀膜段同位叠放。截面圆角仍不如 SEM 多边形清楚。

G. 验收

  1. CAD 顶视图/XZ 折射率图:胶齿与 SEM 叠图,Λ、H、圆角量级一致。
  2. 同一套 dfmod 设置,设计 CAD(本次 polygon spec)与 SEM CAD 出两张 DE/BSDF,差值当工艺公差,不要强行改 Pin 去对齐某一级。
  3. 缺陷明显时不要周期化:改 FullWAVE 有限个周期抽检。

文件

路径内容
cad_smooth/ic_taper_legacy.ind方式 1,365/170
cad_smooth/ic_poly_legacy.ind + *_glue.dat方式 2,365/170
cad_smooth/ic_taper_spec.ind方式 1,规格截断
cad_smooth/ic_poly_spec.ind + dat方式 2,规格截断(电镜换 dat 即可)
sem_to_polygon.py描边 CSV → 闭合 dat
sem_pipeline/materials.mapbmp2ind 调色板映射示例
blazed_incoupler.ind未改的 24 层楼梯

重跑:rspython run_smooth_facet.py。只建库:rspython run_smooth_facet.py --cad-only。