from math import pi
from simudo.physics import Material
from .helpers import thermal_velocity
import numpy as np
[docs]
class SiliconMaterial(Material):
'''Silicon material data based on Palankovski.
V. Palankovski and R. Quay, "Analysis and Simulation of Heterostructure Devices",
Springer-Verlag (2004).
'''
name = 'Silicon'
[docs]
def get_dict(self):
d = super().get_dict()
U = self.unit_registry
d.update({
# Static dielectric constant, Palankovski Table 3.3
'poisson/permittivity': U('11.9 vacuum_permittivity'),
# Table 3.9
'CB/EgX_0K': U('1.1695 eV'),
'CB/ChiX_0K': U('4.0045 eV') - U('4 eV'),
'CB/varshni_alphaX': U('4.73e-4 eV/K'),
'CB/varshni_betaX': U('636 K'),
# Table 3.21
'CB/MCX': U('6'),
# Table 3.18
'CB/mX': U('0.328'),
'CB/m1n': U('0.009'),
# Table 3.19
'VB/m0p': U('0.55'),
'VB/m1p': U('0.6'),
'VB/m2p': U('-0.1'),
# TODO - update these from Palankovski
'CB/mobility': U('1400 cm^2/V/s'),
'VB/mobility': U(' 450 cm^2/V/s'),
'SRH/CB/tau': U('1e-3 s'),
'SRH/VB/tau': U('1e-3 s'),
# Properties for band-to-band tunneling
'CB/eff_mass_tunnel': U('0.05'),
'VB/eff_mass_tunnel': U('0.1'),
'CB/tunnel_offset_energy': U('0 eV'),
'VB/tunnel_offset_energy': U('0 eV')
})
T = self.temperature
Eg = d['CB/EgX_0K'] - d['CB/varshni_alphaX'] * T**2 / (d['CB/varshni_betaX'] + T)
Chi = d['CB/ChiX_0K'] + d['CB/varshni_alphaX'] * T**2 / (d['CB/varshni_betaX'] + T)
mn = d['CB/mX'] + d['CB/m1n'] * (T / U('300 K'))
mp = d['VB/m0p'] + d['VB/m1p'] * (T / U('300 K')) + d['VB/m2p'] * (T / U('300 K'))**2
NC = 2 * d['CB/MCX'] * (2 * pi * mn * U.electron_mass * U.boltzmann_constant * T / U.planck_constant**2)**(3/2)
NV = 2 * (2 * pi * mp * U.electron_mass * U.boltzmann_constant * T / U.planck_constant**2)**(3/2)
# Effective masses and thermal velocity from Green (1990)
# mtc actually has a small temperature dependence acording to Green
mtc = U('0.28')
vth_c = thermal_velocity(U, T, mtc)
mtv = ( 0.3676 + U('1.98738e-5 /K^2') * T**2 - U('2.588144e-7 /K^3') * T**3
+ U('1.415372e-9 /K^4') * T**4 - U('3.919169e-12 /K^5') * T**5
+ U('5.410849e-15 /K^6') * T**6 - U('2.959797e-18 /K^7')* T**7)
vth_v = thermal_velocity(U, T, mtv)
d.update({
'CB/mDOS': mn,
'VB/mDOS': mp,
'CB/energy_level': -Chi,
'VB/energy_level': -Chi -Eg,
# 'CB/energy_level': 1.1240192307692307 *U("eV"), #Manually overwrite
# 'VB/energy_level': 0 * U("eV"),
'CB/effective_density_of_states': NC,
'VB/effective_density_of_states': NV,
'CB/vth': vth_c,
'VB/vth': vth_v,
'SRH/energy_level': -Chi -Eg/2
})
# d.update({
# # 'IB/energy_level': d['CB/energy_level'] - U('0.25 eV'),
# 'IB/degeneracy': 1,
# })
# --- Callable property: alpha(E) for a BeerLambert process named
# 'opt_cv', from the measured table below. A top-hat set on a layer or
# overlay region overrides this, since material rules have the lowest
# priority; that is how you substitute an artificial alpha.
table = self.optical_properties_table()
d['opt_cv/alpha_function'] = {
'type': 'wavelength_table',
'data': table[:, 0:2], # (wavelength nm, alpha 1/cm)
'arg_unit': 'nm',
'value_unit': '1/cm',
}
return d
[docs]
def optical_properties_table(self):
"""
Optical properties from M.A. Green,
"Self-consistent optical parameters of intrinsic silicon at 300 K
including temperature coefficients", Sol. Ener. Mat. and Sol. Cells.,
https://doi.org/10.1016/j.solmat.2008.06.009
"""
# TODO: The reference includes data on temperature dependence.
# Incorporate it here.
# wavelength (nm), alpha (/cm), n, k
return np.array([
[ 250, 1.84E+06, 1.694, 3.66056369111359 ],
[ 260, 1.97E+06, 1.8, 4.07595809258344 ],
[ 270, 2.18E+06, 2.129, 4.68392997519448 ],
[ 280, 2.36E+06, 3.052, 5.25847931975622 ],
[ 290, 2.24E+06, 4.426, 5.16935255162476 ],
[ 300, 1.73E+06, 5.055, 4.13007077323468 ],
[ 310, 1.44E+06, 5.074, 3.5523383298111 ],
[ 320, 1.28E+06, 5.102, 3.25949323452202 ],
[ 330, 1.17E+06, 5.179, 3.07248617638904 ],
[ 340, 1.09E+06, 5.293, 2.94914109549282 ],
[ 350, 1.04E+06, 5.483, 2.89661996427249 ],
[ 360, 1.02E+06, 6.014, 2.9220847551672 ],
[ 370, 6.97E+05, 6.863, 2.05222341369844 ],
[ 380, 2.93E+05, 6.548, 0.886015568192581 ],
[ 390, 1.50E+05, 5.976, 0.465528208543794 ],
[ 400, 9.52E+04, 5.587, 0.303031011646969 ],
[ 410, 6.74E+04, 5.305, 0.219904384870072 ],
[ 420, 5.00E+04, 5.091, 0.16711269024649 ],
[ 430, 3.92E+04, 4.925, 0.134135786037849 ],
[ 440, 3.11E+04, 4.793, 0.108893812063475 ],
[ 450, 2.55E+04, 4.676, 0.091315148598975 ],
[ 460, 2.10E+04, 4.577, 0.076871837513386 ],
[ 470, 1.72E+04, 4.491, 0.064330427997744 ],
[ 480, 1.48E+04, 4.416, 0.056531835786241 ],
[ 490, 1.27E+04, 4.348, 0.049521060543043 ],
[ 500, 1.11E+04, 4.293, 0.044165496708001 ],
[ 510, 9.70E+03, 4.239, 0.03936697517378 ],
[ 520, 8.80E+03, 4.192, 0.036414650979426 ],
[ 530, 7.85E+03, 4.15, 0.033108207036692 ],
[ 540, 7.05E+03, 4.11, 0.030295143417542 ],
[ 550, 6.39E+03, 4.077, 0.027967502374823 ],
[ 560, 5.78E+03, 4.044, 0.025757635989992 ],
[ 570, 5.32E+03, 4.015, 0.024131072471593 ],
[ 580, 4.88E+03, 3.986, 0.022523607546365 ],
[ 590, 4.49E+03, 3.962, 0.021080867987237 ],
[ 600, 4.14E+03, 3.939, 0.019767043932013 ],
[ 610, 3.81E+03, 3.916, 0.018494600161994 ],
[ 620, 3.52E+03, 3.895, 0.017366987390188 ],
[ 630, 3.27E+03, 3.879, 0.016393754913181 ],
[ 640, 3.04E+03, 3.861, 0.01548259286398 ],
[ 650, 2.81E+03, 3.844, 0.014534825177867 ],
[ 660, 2.58E+03, 3.83, 0.013550451854844 ],
[ 670, 2.38E+03, 3.815, 0.012689423612717 ],
[ 680, 2.21E+03, 3.8, 0.011958902423925 ],
[ 690, 2.05E+03, 3.787, 0.011256233350174 ],
[ 700, 1.90E+03, 3.774, 0.010583803715611 ],
[ 710, 1.77E+03, 3.762, 0.010000500849179 ],
[ 720, 1.66E+03, 3.751, 0.009511099399172 ],
[ 730, 1.54E+03, 3.741, 0.008946099351195 ],
[ 740, 1.42E+03, 3.732, 0.008362000710048 ],
[ 750, 1.30E+03, 3.723, 0.00775880347573 ],
[ 760, 1.19E+03, 3.714, 0.007196986526616 ],
[ 770, 1.10E+03, 3.705, 0.006740211839942 ],
[ 780, 1.01E+03, 3.696, 0.00626911320839 ],
[ 790, 9.28E+02, 3.688, 0.005833983593977 ],
[ 800, 8.50E+02, 3.681, 0.005411268065124 ],
[ 810, 7.75E+02, 3.674, 0.004995475776297 ],
[ 820, 7.07E+02, 3.668, 0.004613424335405 ],
[ 830, 6.47E+02, 3.662, 0.004273389799489 ],
[ 840, 5.91E+02, 3.656, 0.003950543997427 ],
[ 850, 5.35E+02, 3.65, 0.003618785518552 ],
[ 860, 4.80E+02, 3.644, 0.003284958025417 ],
[ 870, 4.32E+02, 3.638, 0.002990839690583 ],
[ 880, 3.83E+02, 3.632, 0.002682079100985 ],
[ 890, 3.43E+02, 3.626, 0.002429261473883 ],
[ 900, 3.06E+02, 3.62, 0.002191563566375 ],
[ 910, 2.72E+02, 3.614, 0.001969701575705 ],
[ 920, 2.40E+02, 3.608, 0.001757070571735 ],
[ 930, 2.10E+02, 3.602, 0.001554148019292 ],
[ 940, 1.83E+02, 3.597, 0.001368891665533 ],
[ 950, 1.57E+02, 3.592, 0.001186897988108 ],
[ 960, 1.34E+02, 3.587, 0.001023684593967 ],
[ 970, 1.14E+02, 3.582, 0.000879967680355 ],
[ 980, 9.59E+01, 3.578, 0.000747884993083 ],
[ 990, 7.92E+01, 3.574, 0.000623951038897 ],
[ 1000, 6.40E+01, 3.57, 0.000509295817894 ],
[ 1010, 5.11E+01, 3.566, 0.000410707288396 ],
[ 1020, 3.99E+01, 3.563, 0.000323864393698 ],
[ 1030, 3.02E+01, 3.56, 0.000247533682991 ],
[ 1040, 2.26E+01, 3.557, 0.000187038889122 ],
[ 1050, 1.63E+01, 3.554, 0.000136196842551 ],
[ 1060, 1.11E+01, 3.551, 9.3630853020962E-05 ],
[ 1070, 8.00E+00, 3.548, 6.81183156433312E-05 ],
[ 1080, 6.20E+00, 3.546, 5.32850749471666E-05 ],
[ 1090, 4.70E+00, 3.544, 4.0767538672989E-05 ],
[ 1100, 3.50E+00, 3.541, 3.06373265451899E-05 ],
[ 1110, 2.70E+00, 3.539, 2.38493682223205E-05 ],
[ 1120, 2.00E+00, 3.537, 1.78253536262923E-05 ],
[ 1130, 1.50E+00, 3.534, 1.34883814270381E-05 ],
[ 1140, 1.00E+00, 3.532, 9.07183175623803E-06 ],
[ 1150, 6.80E-01, 3.53, 6.22295827489311E-06 ],
[ 1160, 4.20E-01, 3.528, 3.87701441371857E-06 ],
[ 1170, 2.20E-01, 3.526, 2.04832411759269E-06 ],
[ 1180, 6.50E-02, 3.524, 6.10359206757419E-07 ],
[ 1190, 3.60E-02, 3.522, 3.4090988810284E-07 ],
[ 1200, 2.20E-02, 3.52, 2.10084524881302E-07 ],
[ 1210, 1.30E-02, 3.528, 1.25175362741776E-07 ],
[ 1220, 8.20E-03, 3.516, 7.9609302534566E-08 ],
[ 1230, 4.70E-03, 3.515, 4.60037363007123E-08 ],
[ 1240, 2.40E-03, 3.513, 2.3682255532074E-08 ],
[ 1250, 1.00E-03, 3.511, 9.94718394324346E-09 ],
[ 1260, 3.60E-04, 3.51, 3.60963410932419E-09 ],
[ 1270, 2.00E-04, 3.508, 2.02126777726707E-09 ],
[ 1280, 1.20E-04, 3.507, 1.22230996294576E-09 ],
[ 1290, 7.10E-05, 3.506, 7.28850061889335E-10 ],
[ 1300, 4.50E-05, 3.504, 4.65528208543794E-10 ],
[ 1310, 2.70E-05, 3.503, 2.81465516858017E-10 ],
[ 1320, 1.60E-05, 3.501, 1.68067619905041E-10 ],
[ 1330, 8.00E-06, 3.5, 8.46704297248883E-11 ],
[ 1340, 3.50E-06, 3.498, 3.73218341550495E-11 ],
[ 1350, 1.70E-06, 3.497, 1.8263029719795E-11 ],
[ 1360, 1.00E-06, 3.496, 1.08225361302489E-11 ],
[ 1370, 6.70E-07, 3.495, 7.30441611320254E-12 ],
[ 1380, 4.50E-07, 3.493, 4.94176098300335E-12 ],
[ 1390, 2.50E-07, 3.492, 2.76531713622168E-12 ],
[ 1400, 2.00E-07, 3.491, 2.22816920328653E-12 ],
[ 1410, 1.50E-07, 3.49, 1.68306352319679E-12 ],
[ 1420, 8.50E-08, 3.489, 9.60500081559588E-13 ],
[ 1430, 7.70E-08, 3.488, 8.7622753919243E-13 ],
[ 1440, 4.20E-08, 3.487, 4.81284547909892E-13 ],
[ 1450, 3.20E-08, 3.486, 3.69239467973197E-13 ]
])