Band-Gap Narrowing
Jump to navigation
Jump to search
proc BandGapNarrowing { } { #this procedure modifies the expression for ni such that it #then depends on doping (NA and ND). This is the "old Slotboom" model. #only "ni" is used elsewhere in the example this was pulled from set Vt300 0.02558 set ni300 1.1e10 set Eg300 1.1082 set Ebgn 9.0e-3;# eV set Nref 1.0e17;# /cm3 solution add name=deltaEg solve const val=($Ebgn*(log((NA+ND)/$Nref)+sqrt((log((NA+ND)/$Nref))^2+0.5))) solution add name=Eg solve const val=($Eg300+deltaEg) solution add name=ni solve const val=($ni300*exp(deltaEg/(2.0*$Vt300))) # solution add name=Egcond solve Silicon const val=(+Eg/2.0) # solution add name=Egval solve Silicon const val=(-Eg/2.0) # solution add name=Ncond solve Silicon const val=(2.51e19) # solution add name=Nval solve Silicon const val=(2.51e19) #spell it out for the contacts set doping [pdbGetString ohmic.contact.doping] set deltaEg [expr {$Ebgn*(log($doping/$Nref)+pow((pow((log($doping/$Nref)),2)+0.5),0.5))}] puts "deltaEg is $deltaEg" set ni [expr {$ni300*exp($deltaEg/(2.0*$Vt300))}] pdbSetString contact.ni $ni } BandGapNarrowing