# $impurity-parameters¶ To specify the properties of impurities used in the simulation. $impurity-parameters                                     optional
impurity-number                         integer         required
impurity-name                           character       optional
impurity-type                           character       required
number-of-energy-levels                 integer         required
energy-levels-relative                  double_array    required
degeneracy-of-energy-levels             integer_array   required
transition-times-cb-to-levels           double_array    optional
transition-times-levels-to-vb           double_array    optional
$end_impurity-parameters optional  Specify here the properties of the impurities used for doping. impurity-number type integer presence required example 1 1, 2, 3, … are unique impurity numbers labeled in$doping-function.

Optionally, a name for the impurity can be provided.

impurity-name
type

character

presence

optional

example

n-As-in-Si

example

0.010*x+0.050*(1-x) (unit: eV)

example

0.010*x+0.050*(1-x)-0.020*x*(1-x) (unit: eV) Here, a bowing factor of 0.020 eV is included.

Specify an arbitrary name. The name will be part of some output files. (for later use; it is planned to read in impurity parameters from the database.)

Special feature: If impurity-name contains the character x, this string is then interpreted as an equation where x is the alloy content. This way, a position dependent impurity level can be simulated, e.g. for graded Al(x)Ga(1-x)N layers. In this example, the impurity level would be 10 meV for AlN (x=1) and 50 meV vor GaN (x=0). Note that this has influence on CPU time, i.e. the calculation will take longer because the result of the equation has to be evaluated during the calculation.

(For later use: It is planned to read in impurity parameters from the database.)

Several types of impurities are supported.

impurity-type
type

character

presence

required

options

n-type, p-type, trap

Specifies the type of an impurity. n-type means that the impurity is treated as a donor, p-type as an acceptor. Option trap is not supported so far.

Each impurity can have several different energy levels.

number-of-energy-levels
type

integer

presence

required

example

1

example

1      2

Number of different energy levels for this impurity. Each energy level is specified in energy-levels-relative.

Energy levels

energy-levels-relative
type

double array

presence

required

unit

eV

example

0.005

example

0.005  0.015

example

1000.0

A large negative value, e.g. -1000.0 eV implies full ionization.

Energy levels relative to “nearest” band edge (n-type -> conduction band, else valence band) in units of eV. As many energies as energy levels. These energies are meant as ionization energies, e.g. a donor with an energy level right below the conduction band edge would be specified by a small positive energy level.

When impurity levels are relatively deep compared to the thermal energy kBT at room temperature, incomplete ionization must be considered.

Note

‘Cheat’ parameter: energy-levels-relative = -1000.0, for instance, that means, all electrons are fully ionized from the donors (similar for holes/acceptors). This might be useful for low temperatures like 4 K where usually the degree of ionization is very small. By using -1000.0 one can force them to be completely ionized.

The energy levels of the donors and acceptors relative to the lowest conduction band edge and highest valence band edge can be output using dopant-energy-levels = yes (see $output-densities). See also our tutorial on Doped semiconductors to learn more about partial ionization. Degeneracy of the specified energy levels degeneracy-of-energy-levels type integer array presence required example 2 example 4 4 Shallow donors have degeneracy factor 2: Outer s orbital is onefold occupied (neutral state). There is one possibility to get rid of one electron but there are two to incorporate one (spin up, spin down). Shallow acceptors have degeneracy factor 4: The sp3 orbital is threefold occupied. Thus, one possibility to incorporate an electron, four possibilities to get rid of one. More details on degenerate impurity levels can be found in e.g. [ChuangOpto1995]. Note that in nitride semiconductors crystallizing in the wurtzite structure the degeneracy factor may vary from 4 to 6 because of a small valence band splitting. If full ionization is assumed, i.e. energy-levels-relative = -1000.0, then the degeneracy factor effectively becomes irrelevant. This can be seen from eqs. (1.4) - (1.7) in [BirnerPhD2011]. transition-times-cb-to-levels type double array presence optional unit ? Transition times tau1, tau2, tau3, … from conduction band(s) to energy levels; required in case of trap: times from conduction band to discrete levels. transition-times-levels-to-vb type double array presence optional unit ? Transition times tau1, tau2, tau3, … from energy levels to valence bands band(s); required in case of trap: times from discrete levels to valence bands. Note Currently no interlevel transition times implemented. Can be added provided there are also models which can handle such things. Example $impurity-parameters

!--------------------------------
! n-type in GaAs
!--------------------------------
impurity-number              = 1
impurity-name                = n-Si-in-GaAs
impurity-type                = n-type
number-of-energy-levels      = 1
energy-levels-relative       = 0.0058
degeneracy-of-energy-levels  = 2        ! 2 for n-type

!--------------------------------
! n-type in GaAs (fully ionized)
!--------------------------------
impurity-number              = 2
impurity-name                = n-fully-ionized
impurity-type                = n-type
number-of-energy-levels      = 1
energy-levels-relative       = -1000.0  ! fully ionized
degeneracy-of-energy-levels  = 2        ! 2 for n-type

!--------------------------------
! p-type in GaAs
!--------------------------------
impurity-number              = 3
impurity-name                = p-C-in-GaAs
impurity-type                = p-type
number-of-energy-levels      = 1
energy-levels-relative       = 0.027
degeneracy-of-energy-levels  = 4         ! 4 for p-type

!--------------------------------
! p-type in GaAs (fully ionized)
!--------------------------------
impurity-number              = 2
impurity-name                = p-fully-ionized
impurity-type                = p-type
number-of-energy-levels      = 1
energy-levels-relative       = -1000.0  ! fully ionized
degeneracy-of-energy-levels  = 4        ! 4 for n-type

\$end_impurity-parameters


Database values

energy-levels-relative = ...       ! energy in units of [eV]
= -1000.0   ! a large negative value implies full ionization
= 0.054     ! n-As-in-Si
= 0.045     ! n-P -in-Si
= 0.039     ! n-Sb-in-Si
= 0.045     ! n-N -in-Si
= 0.006     ! n-Si-in-Al0.27Ga0.73As
= 0.0058    ! n-Si-in-GaAs
= 0.007     ! n-Si-in-AlAs
= 0.10      ! n-N -in-SiC
= 0.20      ! p-Al-in-SiC
= 0.045     ! p-B -in-Si
= 0.16      ! p-In-in-Si
= 0.027     ! p-C -in-GaAs


More parameters can be found in the database file database_nn3.in or at this website: http://www.ioffe.ru/SVA/NSM/Semicond/