「$usetaunrbyfunc」:修訂間差異

出自DDCC TCAD TOOL Manual
跳至導覽 跳至搜尋
Yrwu留言 | 貢獻
已建立頁面,內容為 "$usetaunrbyfunc is to enable the temperature and carrier density dependent lifetime module with the predefined function. The function is designed for each region. S..."
 
Yrwu留言 | 貢獻
無編輯摘要
第1行: 第1行:
$usetaunrbyfunc is to enable the temperature and carrier density dependent lifetime module with the predefined function. The function is designed for each region.  
$usetaunrbyfunc is to enable the temperature and carrier density dependent nonradiative lifetime module with the predefined function. The function is designed for each region.  
So if total n regions is used, then you will need to setup n regions. The format is  
So if total n regions is used, then you will need to setup n regions. The format is  


第10行: 第10行:
  ...  
  ...  
  Type_RN  p1 p2 p3 p4 .....
  Type_RN  p1 p2 p3 p4 .....
Type
0: Use the original nonradiative lifetime defined in parameter setions
1: <math> \tau_{n} = p1 \times (\frac{T}{p3}) ^{p2} </math>
    if (Tautype(region).eq.1) then
        x=me%x(i)
        y=me%y(i)         
        me%taun(i)=taupar(1,region)*( sprst(i)/ taupar(3,region))**taupar(2,region) ! temperature depedent tau
        me%taup(i)=me%taun(i) ! temperature depedent tau
      elseif (Tautype(region).eq.2) then
        x=me%x(i)
        y=me%y(i)         
        me%taun(i)=taupar(1,region)*( sprst(i)/ taupar(5,region))**taupar(3,region) ! temperature depedent tau
        me%taup(i)=taupar(2,region)*( sprst(i)/ taupar(5,region))**taupar(4,region) ! temperature depedent tau
         
      elseif (Tautype(region).eq.3) then  ! doping dependent tau
        me%taun(i)=taupar(1,region)+  (taupar(2,region)-taupar(1,region)) / (1+(par%dope(region)/taupar(3,region))**taupar(4,region))
        me%taup(i)=me%taun(i)
      elseif (Tautype(region).eq.4) then  ! doping dependent tau
        me%taun(i)=taupar(1,region)+  (taupar(2,region)-taupar(1,region)) / (1+(par%dope(region)/taupar(3,region))**taupar(4,region))
        me%taup(i)=taupar(5,region)+  (taupar(6,region)-taupar(1,region)) / (1+(par%dope(region)/taupar(7,region))**taupar(8,region))
      elseif (Tautype(region).eq.13) then  ! doping dependent tau
        temp=taupar(3,region)+  (taupar(4,region)-taupar(1,region)) / (1+(par%dope(region)/taupar(5,region))**taupar(6,region))
        me%taun(i)=temp*( sprst(i)/ taupar(2,region))**taupar(1,region)
        me%taup(i)=me%taun(i)
       
      end if

於 2018年4月2日 (一) 01:40 的修訂

$usetaunrbyfunc is to enable the temperature and carrier density dependent nonradiative lifetime module with the predefined function. The function is designed for each region. So if total n regions is used, then you will need to setup n regions. The format is

$usetaunrbyfunc
Type_R1  p1 p2 p3 p4 .....
Type_R2  p1 p2 p3 p4 .....
Type_R3  p1 p2 p3 p4 .....
...
...
... 
Type_RN  p1 p2 p3 p4 .....


Type

0: Use the original nonradiative lifetime defined in parameter setions
1: τn=p1×(Tp3)p2



    if (Tautype(region).eq.1) then
        x=me%x(i)
        y=me%y(i)          
        me%taun(i)=taupar(1,region)*( sprst(i)/ taupar(3,region))**taupar(2,region) ! temperature depedent tau
        me%taup(i)=me%taun(i) ! temperature depedent tau
     elseif (Tautype(region).eq.2) then
        x=me%x(i)
        y=me%y(i)          
        me%taun(i)=taupar(1,region)*( sprst(i)/ taupar(5,region))**taupar(3,region) ! temperature depedent tau
        me%taup(i)=taupar(2,region)*( sprst(i)/ taupar(5,region))**taupar(4,region) ! temperature depedent tau
         
     elseif (Tautype(region).eq.3) then   ! doping dependent tau
        me%taun(i)=taupar(1,region)+  (taupar(2,region)-taupar(1,region)) / (1+(par%dope(region)/taupar(3,region))**taupar(4,region))
        me%taup(i)=me%taun(i)
     elseif (Tautype(region).eq.4) then   ! doping dependent tau
        me%taun(i)=taupar(1,region)+  (taupar(2,region)-taupar(1,region)) / (1+(par%dope(region)/taupar(3,region))**taupar(4,region))
        me%taup(i)=taupar(5,region)+  (taupar(6,region)-taupar(1,region)) / (1+(par%dope(region)/taupar(7,region))**taupar(8,region))
     elseif (Tautype(region).eq.13) then   ! doping dependent tau
        temp=taupar(3,region)+  (taupar(4,region)-taupar(1,region)) / (1+(par%dope(region)/taupar(5,region))**taupar(6,region))
        me%taun(i)=temp*( sprst(i)/ taupar(2,region))**taupar(1,region) 
        me%taup(i)=me%taun(i)
        
     end if