"$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:
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