Sentaurus TCAD sde pn结

代码


(sde:set-process-up-direction"+z")


;---------creat structre---------
(sdegeo:create-rectangle(position 0 0 0)(position -5 5 0) "Silicon" "p_region")
(sdegeo:create-rectangle(position 0 0 0)(position 5 5 0) "Silicon" "n_region")

(sdegeo:create-rectangle(position -5 0 0)(position -6 5 0) "Aluminum" "Anode_region")
(sdegeo:create-rectangle(position 5 0 0)(position 6 5 0) "Aluminum" "Cathode_region")

;---------Doping---------
(sdedr:define-refeval-window "RefEvalWin_p_region" "Cuboid" (position 0 0 0)(position -5 5 0))
(sdedr:define-constant-profile "ConstantProfileDefinition_p_region" "BoronConcentration"  1.8e15)
(sdedr:define-constant-profile-placement "ConstantProfilePlacement_p_region" "ConstantProfileDefinition_p_region" "RefEvalWin_p_region")

(sdedr:define-refeval-window "RefEvalWin_n_region" "Cuboid" (position 0 0 0)(position 5 5 0))
(sdedr:define-constant-profile "ConstantProfileDefinition_n_region" "PhosphorusConcentration"  1.8e16)
(sdedr:define-constant-profile-placement "ConstantProfilePlacement_n_region" "ConstantProfileDefinition_n_region" "RefEvalWin_n_region")
;---------Mesh Definition---------
(sdedr:define-refeval-window "RefEvalwin_1" "Rectangle" (position -6 0 0)(position 6 5 0))
(sdedr:define-refinement-size "RefinementDefinition_1" 0.2 0.2 0.1 0.1 ) 
(sdedr:define-refinement-placement "RefinementPlacement_1" "RefinementDefinition_1" "RefEvalwin_1")
(sdedr:define-refinement-function "RefinementDefinition_1" "DopingConcentration" "MaxTransDiff" 1)

;---------Contact Definition---------
(sdegeo:define-contact-set "Anode" 4 (color:rgb 1 0 0) "##") 
(sdegeo:set-current-contact-set "Anode")
(sdegeo:set-contact-boundary-edges (list(car (find-body-id (position -5.2 0.2 0))) ) "Anode")
(sdegeo:delete-region (list (car (find-body-id (position -5.2 0.2 0)))))

    
(sdegeo:define-contact-set "Cathode" 4 (color:rgb 1 0 0) "##") 
(sdegeo:set-current-contact-set "Cathode")
(sdegeo:set-contact-boundary-edges (list(car (find-body-id (position 5.2 0.2 0)) )) "Cathode")
(sdegeo:delete-region (list (car (find-body-id (position 5.2 0.2 0)))))

;----------save file---------
(system:command "snmesh n@node@_msh")
(sde:build-mesh "n@node@")

代码解释

(sde:set-process-up-direction"+z")

确定坐标系

;---------creat structre---------

(sdegeo:create-rectangle(position 0 0 0)(position -5 5 0) "Silicon" "p_region")

创建p区

(sdegeo:create-rectangle(position 0 0 0)(position 5 5 0) "Silicon" "n_region")

创建n区

(sdegeo:create-rectangle(position -5 0 0)(position -6 5 0) "Aluminum" "Anode_region")

创建金属区

(sdegeo:create-rectangle(position 5 0 0)(position 6 5 0) "Aluminum" "Cathode_region")

创建金属区

;---------Doping---------

(sdedr:define-refeval-window "RefEvalWin_p_region" "Cuboid" (position 0 0 0)(position -5 5 0))

在n区恒定掺杂

(sdedr:define-constant-profile "ConstantProfileDefinition_p_region" "BoronConcentration" 1.8e15)

n区掺杂元素是硼,掺杂浓度是1.8e15

(sdedr:define-constant-profile-placement "ConstantProfilePlacement_p_region" "ConstantProfileDefinition_p_region" "RefEvalWin_p_region")

(sdedr:define-refeval-window "RefEvalWin_n_region" "Cuboid" (position 0 0 0)(position 5 5 0))

在p区恒定掺杂

(sdedr:define-constant-profile "ConstantProfileDefinition_n_region" "PhosphorusConcentration" 1.8e16)

p区掺杂元素是磷,掺杂浓度是1.8e16

(sdedr:define-constant-profile-placement "ConstantProfilePlacement_n_region" "ConstantProfileDefinition_n_region" "RefEvalWin_n_region")

;---------Mesh Definition---------

(sdedr:define-refeval-window "RefEvalwin_1" "Rectangle" (position -6 0 0)(position 6 5 0))

定义网格区域

(sdedr:define-refinement-size "RefinementDefinition_1" 0.2 0.2 0.1 0.1 )

定义xy方向最大最小长度

(sdedr:define-refinement-placement "RefinementPlacement_1" "RefinementDefinition_1" "RefEvalwin_1")

(sdedr:define-refinement-function "RefinementDefinition_1" "DopingConcentration" "MaxTransDiff" 1)

;---------Contact Definition---------

(sdegeo:define-contact-set "Anode" 4 (color:rgb 1 0 0) "##")

(sdegeo:set-current-contact-set "Anode")

(sdegeo:set-contact-boundary-edges (list(car (find-body-id (position -5.2 0.2 0))) ) "Anode")

定义阳极

(sdegeo:delete-region (list (car (find-body-id (position -5.2 0.2 0)))))

删除金属区域

(sdegeo:define-contact-set "Cathode" 4 (color:rgb 1 0 0) "##")

(sdegeo:set-current-contact-set "Cathode")

(sdegeo:set-contact-boundary-edges (list(car (find-body-id (position 5.2 0.2 0)) )) "Cathode")

定义阴极

(sdegeo:delete-region (list (car (find-body-id (position 5.2 0.2 0)))))

删除金属区域

;----------save file---------

(system:command "snmesh n@node@_msh")

(sde:build-mesh "n@node@")

生成网格文件

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值