Schottky Contact

From Flooxs
Revision as of 19:17, 8 December 2008 by Danieljc (talk | contribs) (New page: == Model == pdbSetDouble Silicon Egcond 0.55 pdbSetDouble Silicon Egval -0.55 pdbSetDouble Silicon Ncond 2.51e19 pdbSetDouble Silicon Nval 2.51e19 proc n.schottky.contact {Contact ...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Model

pdbSetDouble Silicon Egcond 0.55
pdbSetDouble Silicon Egval -0.55
pdbSetDouble Silicon Ncond 2.51e19
pdbSetDouble Silicon Nval 2.51e19

proc n.schottky.contact {Contact Rvel} {
    pdbSetBoolean $Contact Elec Fixed 0
    pdbSetBoolean $Contact Hole Fixed 0
    pdbSetBoolean $Contact DevPsi Fixed 1
    pdbSetBoolean $Contact Elec Flux 1
    pdbSetBoolean $Contact Hole Flux 1
    pdbSetBoolean $Contact DevPsi Flux 1
    pdbSetDouble $Contact Hole Flux.Scale 1.619e-19
    pdbSetDouble $Contact Elec Flux.Scale 1.619e-19
    
    pdbSetString $Contact Elec Equation "$Rvel*(Elec-ND)"
    
    set Econd "[pdbDelayDouble $Mat Egcond] - DevPsi"
    set Nc "[pdbDelayDouble $Mat Ncond]"
    set eqn "$Econd + 0.025 * log( (ND+1.0e-15) / $Nc) - $Contact"
    pdbSetString $Contact DevPsi Equation $eqn 

    pdbSetString $Contact Hole Equation "$Rvel*(Hole - 1.0e20/ND)"
}

proc p.schottky.contact {Contact Rvel} {
    pdbSetBoolean $Contact Elec Fixed 0
    pdbSetBoolean $Contact Hole Fixed 0
    pdbSetBoolean $Contact DevPsi Fixed 1
    pdbSetBoolean $Contact Elec Flux 1
    pdbSetBoolean $Contact Hole Flux 1
    pdbSetBoolean $Contact DevPsi Flux 1
    pdbSetDouble $Contact Hole Flux.Scale 1.619e-19
    pdbSetDouble $Contact Elec Flux.Scale 1.619e-19
   
    #charge neutrality for the dominant carrier w/ Recombination velocity
    pdbSetString $Contact Hole Equation "$Rvel*(Hole-NA)"
   
    set Eval "-[pdbDelayDouble $Mat Egval] + DevPsi"
    set Nv "[pdbDelayDouble $Mat Nval]"
    set eqn "$Eval + 0.025 * log( (NA+1.0e-15) / $Nv) - $Contact"
    pdbSetString $Contact DevPsi Equation $eqn

    pdbSetString $Contact Elec Equation "$Rvel*(Elec - 1.0e20/NA)"
}

Notes

Minor bug: The definitions are currently defined causing the opposite bias to give the correct result.