$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/