注入之前加Refinebox还是注入之后加?
本文目录
1.注入时候的adaptive mesh
2.注入前加refinebox还是注入后refinebox
1.注入时候的adaptive mesh
Adaptive mesh是在注入的时候根据需要,自动添加网格
但是注入的时候,注入之前我们是不知道将来浓度会怎么分布的,所以adaptive mesh在注入前就会预先定义好网格
(在代码靠前位置添加一行 pdbSet Grid Adaptive 1 全局开启,也可以在implant语句那一行里添加adaptive参数,来让这一行的注入启用adaptive mesh)
开启和不开启adaptive mesh的区别
注入前的网格长这样:
然后进行了一次注入 dose=4e13
注入之后的形貌(左边未开启adaptive,右边开启了)
浓度分布:绿色、有黑点的曲线是开了adaptive的,可以看到曲线更丝滑,掺杂也更准确
这一部分的代码
line x location= 0.0 spacing= @spac@ tag=SiTop
line x location= 6.0<um> spacing= @spac@ tag=SiBottom
line y location=-6.0 spacing=@spac@ tag=Mid
line y location=6<um> spacing=@spac@ tag=Right
region Silicon xlo=SiTop xhi=SiBottom ylo=Mid yhi=Right
#if [string compare @adaptive@ "on"] == 0
pdbSet Grid Adaptive 1
#endif
init concentration=1.0e+15<cm-3> field=Phosphorus
mask name= mask1 segments= {-7 -1 1 7}
implant Boron dose=4e13<cm-2> energy= 80<keV> tilt=0 rotation=0 mask= mask1
2.注入前加refinebox还是注入后refinebox
既然有了自动规划网格,还需要在注入前手动添加refinebox吗?
注入之后添加refinebox可以吗?
实际测试
注入前的网格长这样:
注入之后的,好像看不出来太大区别
看一下doping
首先可以确定
红色线(开启adaptive并在注入之前添加网格)是最顺滑最“合理”的。
绿色线和蓝色线重合了。
右图是只开启了adaptive,完成注入后的分布
中图是只开启了adaptive,完成注入后的分布,再添加了更多的网格进行remesh
对比中图和右图,黑色的点是采样点,也就是有网格的点。
中图虽然采样点多了,但是多出来的点,其实在在右图数据点的基础上,插值计算而来的;也就是“猜”出来的,记录的并非实际分布。
就像一张jpg照片(红色线),我们对它进行了有损压缩,分辨率降低了,压缩过程中舍弃掉了一些数据(右图蓝色线)。然后又用软件来增大分辨率,虽然分辨率确实多了(中图绿色线),但多出来的只是根据左右数据点猜出来的,实际在压缩过程中丢失掉的数据再也没有办法找回来了
这部分代码
line x location= 0.0 spacing= @spac@ tag=SiTop
line x location= 6.0<um> spacing= @spac@ tag=SiBottom
line y location=-6.0 spacing=@spac@ tag=Mid
line y location=6<um> spacing=@spac@ tag=Right
region Silicon xlo=SiTop xhi=SiBottom ylo=Mid yhi=Right
pdbSet Grid Adaptive 1
init concentration=1.0e+15<cm-3> field=Phosphorus
mask name= mask1 segments= {-7 -1 1 7}
#if [string compare @mesh@ "before"] == 0
refinebox clear
refinebox Silicon min= {0 -3} max= {2.5 3} xrefine= {@spac@/10} yrefine= {@spac@/10} add
refinebox remesh
#endif
##implant Boron dose=2.0e13<cm-2> energy=200<keV> tilt=0 rotation=0 mask= mask1
implant Boron dose=4e13<cm-2> energy= 80<keV> tilt=0 rotation=0 mask= mask1
##implant Boron dose=2.0e12<cm-2> energy= 25<keV> tilt=0 rotation=0 mask= mask1
#if [string compare @mesh@ "after"] == 0
refinebox clear
refinebox Silicon min= {0 -3} max= {2.5 3} xrefine= {@spac@/10} yrefine= {@spac@/10} add
refinebox remesh
#endif
diffuse time=0 temperature= 1000 N2
struct tdr=@tdr@
结论:
adaptive可以自动改善注入过程中的网格,但是还是最好在注入前手动添加网格
如果我已经手动添加了“足够密”的网格,那还有必要开启adaptive mesh吗?
最好开始开,我在没开adaptive的情况下加refinebox,遇到了奇怪的bug……
项目DOE,
左边sprocess一直开启adaptive,右边根据on和off调整
spac表示spacing
Mesh:
before是在注入前加refinebox
after是在注入后加refinebox
no则不加refinebox