go atlas
#启动atlas模块
options verbose
#提供额外的debugging输出数据
mesh cyl auto
#定义圆柱对称的网格
x.mesh location=0 spacing=0.5
x.mesh location=6 spacing=0.5
#定义X方向网格,location定义网格的位置,spacing 网格间距
#定义top区域,从y=0的位置向上
#sapcer
region material=GaAs thick=0.01 sy=0.005 accept=4e19 top
region material=GaAs thick=0.02 sy=0.01 accept=4e17 top
# material定义材料,thick定义厚度,sy定义y方向网格间距,accept定义掺杂浓度
#top DBR
dbr half.cyc=60 thick1=0.1157 thick2=0.1273 n1=3 n2=3 mat1=GaAs mat2=AlGaAs x2.comp=0.4 na1=4e17 na2=4e17 top
#half.cyc 总层数等价于layer,材料1的厚度,材料2的厚度,n1定义材料1 的网格数,n2定义材料2的网格数,#mat1材料1,mat2材料2,x2.comp定义材料2的Al组分,na1和na2定义p型掺杂浓度
#top contact
region material=GaAs thick=0.184 sy=0.02 accept=4e17 top
region material=GaAs thick=0.02 sy=0.01 accept=2e19 top
##active region
##qwell定义well,计算辐射复合和gain 或者特定光电模型
##bot DBR
dbr half.cyc=56 thick1=0.1157 thick2=0.134 n1=3 n2=3 mat1=GaAs mat2=AlAs nd1=1e18 nd2=1e18 bottom
##bottom contact region
region material=GaAs thick=0.02 sy=0.005 donor=5e18 bottom
#Electrodes定义电极
electrode num=1 name=anode top x.max=6
electrode num=2 name=cathode bottom
#定义材料参数
material=AlGaAs eg300=1.42 affin=4.07 nc300=4.35e17 nv300=8.16e18 permi=13.2
#affinity 电子亲和能——真空的自由电子能级与导带底能级之间的能量差
#eg300 300K时的禁带宽度
#nc300 导带态密度在300K
#nv300 价带态密度在300k
#permitivity 相对介电常数
material=AlAs eg300=1.42 affin=4.07 nc300=4.35e17 nv300=8.16e18 permi=13.2
material=InGaAsP mun=1000 mup=500 copt=1e-15 epsinf=12.2500 alphaa=500.0 nc300=1e19 nv300=1e19
#mun 低场电子迁移率,在没有浓度依赖的迁移率模型中使用
#mup 低场空穴迁移率
#copt 光学复合率,仅在optr模块下有用
#epsinf 高频相对介电常数
#alphaa体材料吸收系数
#turn on model
model srh femi li spont
#output
output band.param con.band val.band u.auger u.radiative u.srh
#get an initial solution
solve init
solve
# 设置激光模型
vcsel vcsel.check vcsel.incidence=1 proj itmax=30 maxch=100.0 toler=0.01 photon.energy=0.8
einit=0.75 efinal=0.85 perturb
#check 结构反射率测试,
#vcsel.incidence 光入射方向 1代表从上向下入射
#einit、efinal 反射率测试的开始和结束能量 ,
#itmax 光子计算过程中的最大迭代次数,
#maxch 光子密度最大相对变化
#perturb Helmholtz方程快速解
#proj 低于阈值时快速求解光子速率方程
#记录数据
log outf=vcselex01.log
#求解电压变化
solve prev
#previous 指定前面的解为初始近似
solve vstep=0.05 name=anode vfinal=0.9
save outf=vcselex01_0.str
solve vsetp=0.05 name=anode vfinal=1.0
save outf=vcselex01_0.str
vcsel ^proj tauss=0.01
solve vstep=0.05 name=anode vfinal=1.2
save outf=vcselex01_2.str
solve vstep=0.05 name=anode vfinal=3
save outf=vcselex01_3.str
tonyplot vcselex01.log -set vcselex01_0.set
tonyplot vcselex01_3.str -set vcselex01_1.set
quit