$usetaunrbyfunc
$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 p5..... Type_R2 p1 p2 p3 p4 p5..... Type_R3 p1 p2 p3 p4 p5..... ... ... ... Type_RN p1 p2 p3 p4 .....
Type
0: Use the original nonradiative lifetime defined in parameter setions 1: , and 2: , and 3: , and
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