Band-Gap Narrowing

From Flooxs
Revision as of 21:54, 4 August 2010 by Nrowsey (talk | contribs) (New page: 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 els...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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