GaN Models Source file (2D) - full deck: Difference between revisions

From Flooxs
Jump to navigation Jump to search
No edit summary
No edit summary
Line 82: Line 82:
  pdbSetString Gas_Nitride YoungsModulus 3.9e12
  pdbSetString Gas_Nitride YoungsModulus 3.9e12
  pdbSetString Gas_Nitride PoissonRatio 0.352
  pdbSetString Gas_Nitride PoissonRatio 0.352
Adding GaN parameters of band structure and electrical properties follows here:
mater add name=GaN
#Set Youngs Modulus and Poissons Ratio(for WZ crystal 0001 plane) plus temperature dependence
#pdbSetString GaN YoungsModulus (3.9e12-0.16e10*(Temp-300.0))
pdbSetString GaN PoissonRatio 0.352
    #set some GaN parameters
    pdbSetDouble GaN DevPsi RelEps 8.9
   
    #set GaN electron affinity
   
    pdbSetDouble GaN Affinity 3.1
   
    #set Bandgap according to Eric Heller info
    pdbSetDouble GaN Eg (3.51-(7.7e-4*Temp*Temp)/(600+Temp))
    #set Ev and Ec for GaN
    pdbSetDouble GaN Hole Ev "((-[pdbGetDouble GaN Affinity])-([pdbGetDouble GaN Eg])+(DevPsi))"
    pdbSetDouble GaN Elec Ec "((-[pdbGetDouble GaN Affinity])+(DevPsi))"
    pdbSetDouble GaN Hole Nv (4.6e19*sqrt(Temp*Temp*Temp/2.7e7))
    pdbSetDouble GaN Elec Nc (2.3e18*sqrt(Temp*Temp*Temp/2.7e7))
    #set low field electron mobility via analytical expression from Farahmand for low field mobility
    #paramters for GaN for low field mobility from Farahmand
    pdbSetDouble GaN Elec mumin 295.0
    pdbSetDouble GaN Elec mumax 1460.7
    pdbSetDouble GaN Elec alpha 0.66
    pdbSetDouble GaN Elec beta1 -1.02
    pdbSetDouble GaN Elec beta2 -3.84
    pdbSetDouble GaN Elec beta3 3.02
    pdbSetDouble GaN Elec beta4 0.81
    pdbSetDouble GaN Elec Nref 1e17
    set Gmumin ([pdbGetDouble GaN Elec mumin])
    set Gmumax ([pdbGetDouble GaN Elec mumax])
    set Glowalpha ([pdbGetDouble GaN Elec alpha])
    set Gbeta1 ([pdbGetDouble GaN Elec beta1])
    set Gbeta2 ([pdbGetDouble GaN Elec beta2])
    set Gbeta3 ([pdbGetDouble GaN Elec beta3])
    set Gbeta4 ([pdbGetDouble GaN Elec beta4])
    set GNref ([pdbGetDouble GaN Elec Nref])
    #build equation for low field mobility
    set Gseg1 "$Gmumin*(1*exp(log(Temp/300)*($Gbeta1)))"
    set Gseg2 "($Gmumax-$Gmumin)*(1*exp(log(Temp/300)*($Gbeta2)))"
    set Gseg3 "$GNref*(1*exp(log(Temp/300)*($Gbeta3)))"
    set Gseg4 "abs((Doping+1)/$Gseg3)"
    set Gseg5 "$Glowalpha*(1*exp(log(Temp/300)*($Gbeta4)))"
    set Gseg6 "1*exp(log($Gseg4)*($Gseg5))"
    set Gseg7 "1+$Gseg6"
    set Gseg8 "($Gseg2)/($Gseg7)"
    #pdbSetDouble GaN Elec lowfldmob "($Gseg1+(($Gseg2)/($Gseg7)))"
    #pdbSetDouble GaN Elec lowfldmob $Gseg1+((($Gmumax-$Gmumin)*(exp(log(Temp/300)*($Gbeta2))))/($Gseg7))
    pdbSetDouble GaN Elec lowfldmob "($Gseg1)+($Gseg8)"
    #parameters for GaN low field mobility using Eric Heller's equations
    set top "1630"
    set bot1 "(Temp/300)"
    set bot2 "exp(log($bot1)*(1.88))"
    set ericmob "($top)/($bot2)"
    pdbSetDouble GaN Elec lowfldmob $ericmob
 
    #parameters and expression for high field mobility using Eric Heller's equations
    set Gvsat "3.3e7-(3.0e6*(Temp/300))"
    set Gbeta "0.85*(exp(log(Temp/300)*(0.4)))"
    #set GEfield "abs(dot(DevPsi,y*1e-4))+1"
    #set GEfield "(sqrt(dot(Qfn,Qfn)+1.0e6))"
    set GEfield "(sqrt(dot(DevPsi,DevPsi)+1.0))"
    #set GEfield "(sqrt(dot(Qfn,Qfn)+1.0))"
    set G1 "((([pdbGetDouble GaN Elec lowfldmob])*($GEfield))/($Gvsat))"
    set G2 "(exp(log($G1)*($Gbeta)))"
    set G3 "(1+($G2))"
    set G4 "(1/$Gbeta)"
    set G5 "(exp(log($G3)*($G4)))"
    set Ghigh "(([pdbGetDouble GaN Elec lowfldmob])/($G5))"
    ######HHHHHHHHHHHHHHHHHH new hot carrier mobility adjustment HHHHHHHHHHHHHHHHHHHHHHHH#######
   
    pdbSetDouble GaN Elec mob $Ghigh
 
    #set parameters for GaN High Field mobility from Farahmand
    pdbSetDouble GaN Elec alpha 6.1973
    pdbSetDouble GaN Elec n1 7.2044
    pdbSetDouble GaN Elec n2 0.7857
    pdbSetDouble GaN Elec Ecmob 220893.6
    pdbSetDouble GaN vsat 1.9064e7
    pdbSetDouble GaN vsat (2.7e7/(1+0.8*exp(Temp/600)))
    #set electron mobility via analytical expression from Farahmand for high field mobility
    set Glowfldmob ([pdbGetDouble GaN Elec lowfldmob])
    set Ghighalpha ([pdbGetDouble GaN Elec alpha])
    set Gn1 ([pdbGetDouble GaN Elec n1])
    set Gn2 ([pdbGetDouble GaN Elec n2])
    set GEcmob ([pdbGetDouble GaN Elec Ecmob])
    set Gvsat ([pdbGetDouble GaN vsat])
    #set GEfield1 "abs(dot(DevPsi,y*1.e-4))+1"   
    #set GEfield1 "(sqrt(dot(Qfn,Qfn)+1.0e6))"
    set GEfield1 "(sqrt(dot(DevPsi,DevPsi)+1.0))"
    set GEfield_EcRatio1 "(($GEfield1)/($GEcmob))"
    set GEn1_1 "(exp(log($GEfield1)*($Gn1-1)))"
    set GEn1_3 "(exp(log($GEcmob)*($Gn1)))"
    set GEn1_2 "(exp(log($GEfield_EcRatio1)*($Gn1)))"
    set GEn2_1 "(exp(log($GEfield_EcRatio1)*($Gn2)))"
    set num1 "($Glowfldmob+($Gvsat*(($GEn1_1)/($GEn1_3))))"
    set denom1 "(1.0+($Ghighalpha*($GEn2_1))+($GEn1_2))"
    pdbSetDouble GaN Hole mob 100

Revision as of 18:51, 29 January 2014

The "DevicePacakge" command initializes a device simulation

DevicePackage

Constants used throughout device equations

set k 1.38066e-23
set q 1.60218e-19
set kev 8.617e-5
set Vt ($k*Temp/$q)
set eps0 8.854e-14
set kev 8.617e-5
set VtRoom [expr $k*300.0/$q]
set hbar 1.054571628e−34
set egan 7.88e-13
set Me 9.1e-31
set tau 1e-8

Parameter database values for materials used in GaN device structure begins here.

#paramaters for gas 
pdbSetString gas YoungsModulus 1e-7
pdbSetString gas PoissonRatio 0.99

GaN and AlGaN stiffness values with lattice temperature feedback

#Set Youngs Modulus and Poissons Ratio(for WZ crystal 0001 plane)
pdbSetString GaN YoungsModulus (3.9e12-0.16e10*(Temp-300.0))
pdbSetString GaN PoissonRatio 0.352
#Set Youngs Modulus and Poissons Ratio(approximation from Nanoindentation in AlGaN paper, Caceres '99)
pdbSetString AlGaN YoungsModulus (3.9e12+(5.555e11*AlN_Ratio)-0.16e10*(Temp-300.0))
pdbSetString AlGaN PoissonRatio 0.352

Silicon Nitride stiffness values

#Set Youngs Modulus and Poissons Ratio
pdbSetString Nitride YoungsModulus 2.0e12
pdbSetString Nitride PoissonRatio 0.24

Oxide phase stiffness values

#Set Youngs Modulus and Poissons Ratio
pdbSetString OxPhase YoungsModulus 3.9e12
pdbSetString OxPhase PoissonRatio 0.352

Material interface continuity stiffness values

#Set Youngs Modulus and Poissons Ratio
pdbSetString AlGaN_GaN YoungsModulus 2.0e12
pdbSetString AlGaN_GaN PoissonRatio 0.24
#Set Youngs Modulus and Poissons Ratio
pdbSetString AlGaN_OxPhase YoungsModulus 3.9e12
pdbSetString AlGaN_OxPhase PoissonRatio 0.352
#Set Youngs Modulus and Poissons Ratio
pdbSetString Metal_Nitride YoungsModulus 3.9e12
pdbSetString Metal_Nitride PoissonRatio 0.352
#Set Youngs Modulus and Poissons Ratio
pdbSetString Metal_OxPhase YoungsModulus 3.9e12
pdbSetString Metal_OxPhase PoissonRatio 0.352
#Set Youngs Modulus and Poissons Ratio
pdbSetString Nitride_OxPhase YoungsModulus 3.9e12
pdbSetString Nitride_OxPhase PoissonRatio 0.352

Gate Metal stiffness values

#Set Youngs Modulus and Poissons Ratio
pdbSetString Metal YoungsModulus 3.9e12
pdbSetString Metal PoissonRatio 0.352

More material interface continuity stiffness values

#Set Youngs Modulus and Poissons Ratio
pdbSetString Gas_Metal YoungsModulus 3.9e12
pdbSetString Gas_Metal PoissonRatio 0.352
#Set Youngs Modulus and Poissons Ratio
pdbSetString Gas_Nitride YoungsModulus 3.9e12
pdbSetString Gas_Nitride PoissonRatio 0.352

Adding GaN parameters of band structure and electrical properties follows here:

mater add name=GaN
#Set Youngs Modulus and Poissons Ratio(for WZ crystal 0001 plane) plus temperature dependence
#pdbSetString GaN YoungsModulus (3.9e12-0.16e10*(Temp-300.0))
pdbSetString GaN PoissonRatio 0.352
   #set some GaN parameters
   pdbSetDouble GaN DevPsi RelEps 8.9
   
   #set GaN electron affinity
   
   pdbSetDouble GaN Affinity 3.1
   #set Bandgap according to Eric Heller info
   pdbSetDouble GaN Eg (3.51-(7.7e-4*Temp*Temp)/(600+Temp))
   #set Ev and Ec for GaN 
   pdbSetDouble GaN Hole Ev "((-[pdbGetDouble GaN Affinity])-([pdbGetDouble GaN Eg])+(DevPsi))"
   pdbSetDouble GaN Elec Ec "((-[pdbGetDouble GaN Affinity])+(DevPsi))"
   pdbSetDouble GaN Hole Nv (4.6e19*sqrt(Temp*Temp*Temp/2.7e7))
   pdbSetDouble GaN Elec Nc (2.3e18*sqrt(Temp*Temp*Temp/2.7e7))
   #set low field electron mobility via analytical expression from Farahmand for low field mobility
   #paramters for GaN for low field mobility from Farahmand
   pdbSetDouble GaN Elec mumin 295.0
   pdbSetDouble GaN Elec mumax 1460.7
   pdbSetDouble GaN Elec alpha 0.66
   pdbSetDouble GaN Elec beta1 -1.02
   pdbSetDouble GaN Elec beta2 -3.84
   pdbSetDouble GaN Elec beta3 3.02
   pdbSetDouble GaN Elec beta4 0.81
   pdbSetDouble GaN Elec Nref 1e17 
   set Gmumin ([pdbGetDouble GaN Elec mumin])
   set Gmumax ([pdbGetDouble GaN Elec mumax])
   set Glowalpha ([pdbGetDouble GaN Elec alpha])
   set Gbeta1 ([pdbGetDouble GaN Elec beta1])
   set Gbeta2 ([pdbGetDouble GaN Elec beta2])
   set Gbeta3 ([pdbGetDouble GaN Elec beta3])
   set Gbeta4 ([pdbGetDouble GaN Elec beta4])
   set GNref ([pdbGetDouble GaN Elec Nref])

   #build equation for low field mobility
   set Gseg1 "$Gmumin*(1*exp(log(Temp/300)*($Gbeta1)))"
   set Gseg2 "($Gmumax-$Gmumin)*(1*exp(log(Temp/300)*($Gbeta2)))"
   set Gseg3 "$GNref*(1*exp(log(Temp/300)*($Gbeta3)))"
   set Gseg4 "abs((Doping+1)/$Gseg3)"
   set Gseg5 "$Glowalpha*(1*exp(log(Temp/300)*($Gbeta4)))"
   set Gseg6 "1*exp(log($Gseg4)*($Gseg5))"
   set Gseg7 "1+$Gseg6"
   set Gseg8 "($Gseg2)/($Gseg7)"
   #pdbSetDouble GaN Elec lowfldmob "($Gseg1+(($Gseg2)/($Gseg7)))"
   #pdbSetDouble GaN Elec lowfldmob $Gseg1+((($Gmumax-$Gmumin)*(exp(log(Temp/300)*($Gbeta2))))/($Gseg7))
   pdbSetDouble GaN Elec lowfldmob "($Gseg1)+($Gseg8)"
   #parameters for GaN low field mobility using Eric Heller's equations
   set top "1630"
   set bot1 "(Temp/300)"
   set bot2 "exp(log($bot1)*(1.88))"
   set ericmob "($top)/($bot2)"
   pdbSetDouble GaN Elec lowfldmob $ericmob
  
   #parameters and expression for high field mobility using Eric Heller's equations
   set Gvsat "3.3e7-(3.0e6*(Temp/300))"
   set Gbeta "0.85*(exp(log(Temp/300)*(0.4)))"
   #set GEfield "abs(dot(DevPsi,y*1e-4))+1"
   #set GEfield "(sqrt(dot(Qfn,Qfn)+1.0e6))"
   set GEfield "(sqrt(dot(DevPsi,DevPsi)+1.0))"
   #set GEfield "(sqrt(dot(Qfn,Qfn)+1.0))"
   set G1 "((([pdbGetDouble GaN Elec lowfldmob])*($GEfield))/($Gvsat))"
   set G2 "(exp(log($G1)*($Gbeta)))"
   set G3 "(1+($G2))"
   set G4 "(1/$Gbeta)"
   set G5 "(exp(log($G3)*($G4)))"
   set Ghigh "(([pdbGetDouble GaN Elec lowfldmob])/($G5))"
   ######HHHHHHHHHHHHHHHHHH new hot carrier mobility adjustment HHHHHHHHHHHHHHHHHHHHHHHH#######
   
   pdbSetDouble GaN Elec mob $Ghigh 
  
   #set parameters for GaN High Field mobility from Farahmand 
   pdbSetDouble GaN Elec alpha 6.1973
   pdbSetDouble GaN Elec n1 7.2044
   pdbSetDouble GaN Elec n2 0.7857
   pdbSetDouble GaN Elec Ecmob 220893.6
   pdbSetDouble GaN vsat 1.9064e7 
   pdbSetDouble GaN vsat (2.7e7/(1+0.8*exp(Temp/600)))
   #set electron mobility via analytical expression from Farahmand for high field mobility
   set Glowfldmob ([pdbGetDouble GaN Elec lowfldmob]) 
   set Ghighalpha ([pdbGetDouble GaN Elec alpha])
   set Gn1 ([pdbGetDouble GaN Elec n1])
   set Gn2 ([pdbGetDouble GaN Elec n2])
   set GEcmob ([pdbGetDouble GaN Elec Ecmob])
   set Gvsat ([pdbGetDouble GaN vsat])
   #set GEfield1 "abs(dot(DevPsi,y*1.e-4))+1"    
   #set GEfield1 "(sqrt(dot(Qfn,Qfn)+1.0e6))"
   set GEfield1 "(sqrt(dot(DevPsi,DevPsi)+1.0))"
   set GEfield_EcRatio1 "(($GEfield1)/($GEcmob))"
   set GEn1_1 "(exp(log($GEfield1)*($Gn1-1)))"
   set GEn1_3 "(exp(log($GEcmob)*($Gn1)))"
   set GEn1_2 "(exp(log($GEfield_EcRatio1)*($Gn1)))"
   set GEn2_1 "(exp(log($GEfield_EcRatio1)*($Gn2)))"
   set num1 "($Glowfldmob+($Gvsat*(($GEn1_1)/($GEn1_3))))"
   set denom1 "(1.0+($Ghighalpha*($GEn2_1))+($GEn1_2))"
   pdbSetDouble GaN Hole mob 100