「$usetaunrbyfunc」:修訂間差異
跳至導覽
跳至搜尋
已建立頁面,內容為 "$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日 (一) 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:
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