atlas仿真microled

今晚就去香港了,来整理一下atlas的内容,主要讲讲这个仿真器运行的工作流

atlas是一款以脚本为基础的有限元分析仿真软件,主要在1D-2D仿真中用得多,silvaco TCAD中还有一个athena模块,两者的区别是athena是工艺仿真模块,atlas是结构仿真模块。atlas的结构简单,很适合新手学习/探究

athena可以理解为“仿真一个工艺流,得到器件结构”
atlas则是“创建新的结构/调用结构进行电学或热学分析”

因此,atlas可以调用athena跑出来的str结果,也可以单独使用。

这张图中是atlas的工作流,mesh是我们计算的对象,mesh越密的地方求解越精密,但随着网格节点的增加计算量也呈指数增加,所以需要根据器件的结构和需求合理的建立mesh

region决定了器件的材料,每个mesh的区域都必须对应region。region也是doping的对象,当设置叠层器件的时候(比如mqws),设置mesh会非常的折磨,这个时候有一个好用的功能auto mesh

1
2
3
4
5
6
7
8
9
10
11
12
指定mesh
MESH AUTO
X.MESH LOCATION=-1.0 SPACING=0.1
X.MESH LOCATION=1.0 SPACING=0.1
指定region
REGION TOP THICKNESS=0.02 MATERIAL=GaN NY=5 DONOR=1E16
REGION BOTTOM THICKNESS=0.1 MATERIAL=AlGaN NY=5 DONOR=1E17
X.COMP=0.2
REGION TOP THICKNESS=0.08 MATERIAL=AlGaN NY=4 ACCEPTOR=1E17
X.COMP=0.2
REGION BOTTOM THICKNESS=0.5 MATERIAL=AlGaN NY=10 DONOR=1E18
X.COMP=0.2

其中的NY决定了y方向的网格数量
设置自动网格是为了建模过程中不停重复输入数字以及一层膜厚/网格设置错误整个结构都出问题的窘境,现在网格被关联到了region,region又应该如何设置呢

1
2
3
4
5
6
7
8
9
10
11
使用bottom,top,stay
自动网格划分算法维护 "top" 和 "bottom"的当前 Y 位置的“概念”。 (这些位置称为“Ytop”和“Ybottom”。),在处理任何 REGION 语句之前,“Ytop”和“Ybottom”都被定义为零。

在处理 REGION 语句时,将解决以下情况

如果将区域放置在顶部,如 TOP 参数指定的那样,区域将从“Ytop”延伸到“Ytop”-THICKNESS(记住正 Y 点向下)并且“Ytop”将移动到新位置“Ytop"-THICKNESS"。
如果将区域放置在底部,如BOTTOM 参数所指定,区域将从“Ybottom”延伸到“Ybottom”+THICKNESS,“Ybottom”将移动到新位置“Ybottom”+THICKNESS。
REGION语句中STAY参数的作用

如果将区域放置在顶部,如 TOP 参数所指定,并指定了 STAY 参数,则区域将从“Ytop”延伸到“Ytop”-THICKNESS,而“Ytop”将保持在其当前位置。
如果将区域放置在底部(由 BOTTOM 参数指定)并指定 STAY 参数,则区域将从“Ybottom”延伸到“Ybottom”+THICKNESS,“Ybottom”将保持在其当前位置

电极和doping倒是没什么好说的,我还没搞清楚不同的doping profile的使用环境

Material Models Specification,model的选择和和参数设置是要下功夫的(现在还没搞出来,后面再补吧),像后面的导出和plot又太简单了,懒得写惹