平滑斜面试算与电镜建模步骤
Keysight RSoft 2026 · DiffractMOD · 2026-09-30 14:01:20 · 未改生产楼梯 CAD
做了什么
- 方式 1 锥形 segment:
add_segment(..., dimensions_end=),轴线沿斜面平移,CAD 里是连续斜边,切片交给step_size=Height/64。 - 方式 2 多边形:胶水/银各一份闭合
.dat(X Z,μm),add_polygon(file=)。规格件做 65° 截断;电镜以后换同一份 dat。 - 方式 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。不要用改周期去凑级次。
几何
截断含义:α=65°(对法线)时斜面爬升 Pin/tan65°≈176.3 nm,小于 218 nm。多出来的高度做成贴玻璃的整周期残余胶(约 41.7 nm),再在其上做 65° 锥形。这与 w100_rsoft_lt/cad_ic.py 楼梯截断一致。
526 nm 效率(反射级)
| 模型 | λ (nm) | 偏振 | Index Res. | m=-1 | m=0 | ΣR | A | 耗时 |
|---|---|---|---|---|---|---|---|---|
| 楼梯 24 层(旧) | 526 | TE | H/24 | 57.24% | 17.02% | 91.87% | 8.13% | — |
| 楼梯 24 层(旧) | 526 | TM | H/24 | 39.61% | 4.91% | 49.07% | 50.93% | — |
| 现用几何·锥形 | 450.0 | TE | Height/64 | 69.62% | 12.10% | 89.16% | 10.84% | 3.6s |
| 现用几何·锥形 | 450.0 | TM | Height/64 | 52.48% | 1.34% | 56.53% | 43.47% | 3.4s |
| 现用几何·锥形 | 520.0 | TE | Height/64 | 58.71% | 15.96% | 91.77% | 8.23% | 3.5s |
| 现用几何·锥形 | 520.0 | TM | Height/64 | 44.89% | 4.17% | 50.65% | 49.35% | 4.3s |
| 现用几何·锥形 | 526.0 | TE | Height/64 | 57.21% | 17.01% | 91.90% | 8.10% | 4.4s |
| 现用几何·锥形 | 526.0 | TM | Height/64 | 40.42% | 5.35% | 47.01% | 52.99% | 2.9s |
| 现用几何·锥形 | 532.0 | TE | Height/64 | 55.65% | 18.17% | 92.03% | 7.97% | 3.1s |
| 现用几何·锥形 | 532.0 | TM | Height/64 | 35.66% | 6.26% | 42.73% | 57.27% | 3.3s |
| 现用几何·锥形 | 620.0 | TE | Height/64 | 27.38% | 48.45% | 93.07% | 6.93% | 2.8s |
| 现用几何·锥形 | 620.0 | TM | Height/64 | 43.72% | 4.67% | 56.31% | 43.69% | 2.6s |
| 现用几何·锥形 | 638.0 | TE | Height/64 | 19.23% | 59.91% | 93.04% | 6.96% | 6.8s |
| 现用几何·锥形 | 638.0 | TM | Height/64 | 39.21% | 6.14% | 54.85% | 45.15% | 2.7s |
| 规格截断·锥形 | 450.0 | TE | Height/64 | 68.04% | 13.71% | 89.30% | 10.70% | 3.4s |
| 规格截断·锥形 | 450.0 | TM | Height/64 | 49.52% | 1.07% | 54.52% | 45.48% | 3.4s |
| 规格截断·锥形 | 520.0 | TE | Height/64 | 56.56% | 17.03% | 91.61% | 8.39% | 3.7s |
| 规格截断·锥形 | 520.0 | TM | Height/64 | 39.86% | 4.27% | 44.98% | 55.02% | 2.8s |
| 规格截断·锥形 | 526.0 | TE | Height/64 | 55.07% | 18.05% | 91.73% | 8.27% | 2.6s |
| 规格截断·锥形 | 526.0 | TM | Height/64 | 42.16% | 3.99% | 48.08% | 51.92% | 5.5s |
| 规格截断·锥形 | 532.0 | TE | Height/64 | 53.54% | 19.19% | 91.84% | 8.16% | 4.6s |
| 规格截断·锥形 | 532.0 | TM | Height/64 | 45.51% | 3.57% | 52.13% | 47.87% | 3.1s |
| 规格截断·锥形 | 620.0 | TE | Height/64 | 28.50% | 46.69% | 93.09% | 6.91% | 3.9s |
| 规格截断·锥形 | 620.0 | TM | Height/64 | 46.91% | 0.66% | 49.27% | 50.73% | 3.2s |
| 规格截断·锥形 | 638.0 | TE | Height/64 | 22.90% | 54.57% | 93.24% | 6.76% | 2.9s |
| 规格截断·锥形 | 638.0 | TM | Height/64 | 48.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. 样品与拍摄(进仿真前)
- 截面垂直沟槽。闪耀齿看 XZ;若样品倾斜,后续必须做倾角校正,否则 H 和 α 一起错。
- 同一视场至少 3~5 个完整周期,带标尺。只拍一颗「好看的齿」会把缺陷当成周期结构。
- 同时拍一张低倍(数周期、量 Λ)和一张高倍(圆角、残胶、孔隙)。
- 若有 AFM:高度图走
coatuf加银层;截面轮廓仍优先多边形。
B. 校准(像素 → μm)
- 读标尺:
nm_per_px = scale_nm / scale_px。 - 用已知周期校核:量 N 个齿的像素宽度,
Λ_meas = N_px * nm_per_px / N,应接近 378 nm(规格)或你的实测周期。偏差 >3% 先查倾角/标尺,不要直接改设计周期去凑衍射级。 - 切斜校正:若截面相对沟槽法线偏 γ,真实高度 ≈ 图上高度 × cosγ(按实际夹角定义选用)。
- 把像素坐标变成以单胞中心为原点、z=0 在玻璃/胶界面的物理坐标(nm 或 μm)。
C. 分割与描边
- 阈值 / 分水岭分开:玻璃、压印胶、银、孔隙。JPEG 压缩块不要当界面。
- 提取胶–银折线。残胶、圆角、底部未镀满都要保留,不要手工修成理想直角。
- 每个周期得到一条轮廓后:在 x 上按周期折叠到 [-Λ/2, Λ/2],再对 z(x) 平均(或中位数)。这是单胞,不是把一张图整段拿去当超胞,除非你打算用 FullWAVE 算有限周期。
- 闭合:胶水多边形必须首末点相同。银是槽的补集 + 盖帽(盖帽仍用矩形 segment,厚度用设计值或 SEM 实测)。
- 运行:
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 相同)
- 得到
sem_glue.dat/sem_ag.dat(μm,闭合)。 - 复制
cad_smooth/ic_poly_spec.ind,把 polygon 的 data file 改成 SEM 文件;或改run_smooth_facet.py里 polygon 的 file 名后重跑。 - 单胞边界仍是
boundary_min/max = ±Period/2,Period 用实测平均周期。 step_size = Height/64(或更细)做收敛;Nx 从 21→41→61,看 m=-1 相对变化 <1%。- 材料:胶水 n 用 Inkron 1.74(或椭偏),银用材料库色散。SEM 衬度不是 n、k。
E. 备选:bmp2ind(位图剖面)
- 只适用于 1/4/8-bit 索引色 BMP,不支持 24-bit 照片。先在图像软件里 Indexed Color,调色板:0=玻璃、1=胶、2=银。
- 裁成刚好一个周期,宽=Λ,高=齿+银盖帽。
bmp2ind -w0.378 -h0.35 -m=sem_pipeline/materials.map sem_cell.bmp sem_cell.dat- CAD:
add_userprofile('DATAFILE', data='sem_cell.dat')。胶+银两相时索引映射很容易把金属 n 弄错,闪耀齿仍优先多边形。
F. 备选:AFM 高度 + coatuf
- AFM 得到齿高 profile(user profile 数据文件)。
coatuf -t0.52 -sx1 -sy1 -sf1 tooth_height.dat ag_coat.dat(−t 为银厚,μm)。- CAD 里高度段与镀膜段同位叠放。截面圆角仍不如 SEM 多边形清楚。
G. 验收
- CAD 顶视图/XZ 折射率图:胶齿与 SEM 叠图,Λ、H、圆角量级一致。
- 同一套 dfmod 设置,设计 CAD(本次 polygon spec)与 SEM CAD 出两张 DE/BSDF,差值当工艺公差,不要强行改 Pin 去对齐某一级。
- 缺陷明显时不要周期化:改 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.map | bmp2ind 调色板映射示例 |
blazed_incoupler.ind | 未改的 24 层楼梯 |
重跑:rspython run_smooth_facet.py。只建库:rspython run_smooth_facet.py --cad-only。