"$usetaunrbyfunc" 修訂間的差異

出自 DDCC TCAD TOOL Manual
前往: 導覽搜尋
(已建立頁面,內容為 "$usetaunrbyfunc is to enable the temperature and carrier density dependent lifetime module with the predefined function. The function is designed for each region. S...")
 
行 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日 (一) 09: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:  \tau_{n} = p1 \times (\frac{T}{p3}) ^{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