关于Sentaurus的日常(五)

5.18出盲审结果,这几天都是起床就开着电脑跑仿真。

SAM-APD的sde语句,跟前一个语句差的不多,主要改了下p+厚度。本来想把掺杂浓度改成变量,想了想成功几率不大,也没什么用,就这样了:

;define parameter
(define Ltot     10)       ;total size of the device         

(define Hp+   0.1   )       ;thickness of the  p+ layer
(define Hp    0.3   )
(define Hn    0.25  )       ;thickness of the  n  layer
(define Hn-   1     )       ;thickness of the  n- layer   
(define Hbu   0.5    )         ;thickness of the  buffer layer
(define Hsub  2     )         ;thickness of the  substrate
  
;derived quantities  x values of bottom layers
(define Xsub   (* Ltot  0.5)) 

;y values of each bottom layers 
(define Yp+   Hp+)
(define Yp   (+ Yp+ Hp))
(define Yn    (+ Yp  Hn   ))
(define Yn-   (+ Yn   Hn-  ))
(define Ybu   (+ Yn- Hbu))
(define Ysub  (+ Ybu  Hsub ))


; Overlap resolution: New replaces Old
(sdegeo:set-default-boolean "ABA")

; Creating sub
(sdegeo:create-rectangle 
  (position (* Xsub -1.0) Ysub    0.0 ) 
  (position    Xsub       Ybu     0.0 ) 
   "SiliconCarbide" "region_1"
)

; Creating buffer layer
(sdegeo:create-rectangle 
  (position (* Xsub  -1.0) Ybu    0.0 ) 
  (position    Xsub       Yn-    0.0 ) 
   "SiliconCarbide" "region_2"
)

; Creating n-
(sdegeo:create-rectangle 
  (position (* Xsub  -1.0) Yn-    0.0 ) 
  (position    Xsub       Yn    0.0 ) 
   "SiliconCarbide" "region_3"
)
; Creating n

(sdegeo:create-rectangle 
  (position (* Xsub  -1.0) Yn    0.0 ) 
  (position    Xsub       Yp     0.0 ) 
   "SiliconCarbide" "region_4"
)

; Creating  p+  
(sdegeo:create-rectangle 
  (position (* Xsub  -1.0) Yp     0.0 ) 
  (position    Xsub       Yp+     0.0 ) 
   "SiliconCarbide" "region_5"
)

(sdegeo:create-rectangle 
  (position (* Xsub  -1.0) Yp+     0.0 ) 
  (position    Xsub       0.0     0.0 ) 
   "SiliconCarbide" "region_6"
)
 
(sdegeo:define-contact-set "anode"     4.0  (color:rgb 1.0 0.0 0.0 ) "##")
(sdegeo:define-contact-set "cathode"   4.0  (color:rgb 0.0 1.0 1.0 ) "##")


(sdegeo:define-2d-contact 
 (find-edge-id (position 0.0 0.0 0.0))
 "anode")

(sdegeo:define-2d-contact 
 (find-edge-id (position 0.0 Ysub 0.0))
 "cathode")
 

; Separating lumps

(sde:assign-material-and-region-names "all")

(sdedr:define-constant-profile "const.sub"
"NitrogenConcentration" 1e21)
(sdedr:define-constant-profile-region "placeCD.sub"
"const.sub" "region_1")

(sdedr:define-constant-profile "const.n-"
"NitrogenConcentration" 1e15)
(sdedr:define-constant-profile-region "placeCD.n-"
"const.n-" "region_3")

(sdedr:define-constant-profile "const.n"
"NitrogenConcentration" 4e17)
(sdedr:define-constant-profile-region "placeCD.n"
"const.n" "region_4")

(sdedr:define-constant-profile "const.p"
"AluminumConcentration" 1e18)
(sdedr:define-constant-profile-region "placeCD.p"
"const.p" "region_5")

(sdedr:define-constant-profile "const.p+"
"AluminumConcentration" 2e19)
(sdedr:define-constant-profile-region "placeCD.p+"
"const.p+" "region_6")

(sdedr:define-constant-profile "const.buff"
"NitrogenConcentration" 1e18)
(sdedr:define-constant-profile-region "placeCD.buff"
"const.buff" "region_2")



;build mesh
(sdedr:define-refeval-window "RefWin.n3"
 "Rectangle" (position  (* Xsub  -1.0)  Yn- 0.0) (position  Xsub  Yp 0.0))
 (sdedr:define-multibox-size "RefDefMB.n3"
 0.04      0.2    
 0.02      0.05      
   1       1.5
   )
(sdedr:define-refinement-function "RefDefMB.n3" "DopingConcentration"
"MaxTransDiff" 1 "DoubleSide")
(sdedr:define-multibox-placement "PlaceMB.n3"
  "RefDefMB.n3" "RefWin.n3" )
  
 (sdedr:define-refeval-window "RefWin.n5"
 "Rectangle" (position  (* Xsub  -1.0)  Yp 0.0) (position  Xsub  (- Yp 0.1) 0.0))
 (sdedr:define-multibox-size "RefDefMB.n5"
 0.04      0.05    
 0.02      0.05      
   1       -1.5
   )
(sdedr:define-multibox-placement "PlaceMB.n5"
  "RefDefMB.n5" "RefWin.n5" )

(sdedr:define-refeval-window "RefWin.n6"
 "Rectangle" (position  (* Xsub  -1.0)   Yp 0.0) (position  Xsub  0.0 0.0))
 (sdedr:define-multibox-size "RefDefMB.n6"
 0.04      0.2    
 0.02      0.05      
   1       1.5
   )
(sdedr:define-multibox-placement "PlaceMB.n6"
  "RefDefMB.n6" "RefWin.n6" )


(sdedr:define-refinement-window "RefWin.n4"
 "Rectangle" (position (* Xsub -1.0) Ysub  0) (position Xsub Yn- 0))
 (sdedr:define-multibox-size "RefDefMB.n4"
 2      1    
 0.4    0.2     
  1   1.5
  )
(sdedr:define-multibox-placement "PlaceMB.n4"
  "RefDefMB.n4" "RefWin.n4" )

(sdedr:define-refeval-window "RefWin.n7"
 "Rectangle" (position  (* Xsub -1.0)  Yn 0.0) (position  Xsub  Yp+ 0.0))
 (sdedr:define-multibox-size "RefDefMB.n7"
 0.04      0.2    
 0.02      0.05
   1       -1.5
   )
(sdedr:define-multibox-placement "PlaceMB.n7"
  "RefDefMB.n7" "RefWin.n7" )



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

 仿真一个点就要一小时,试着调初始电压和步长调节时间,但还是不奏效。一个平面器件就要22个点,两个窗口形态,三个变量。22*16*10小时大概133天。

emmmmmmmm

祝我好运能毕业

猜你喜欢

转载自www.cnblogs.com/kraken7/p/8977674.html