Ionisation of dopants

class semiconductor.electrical.Ionisation(**kwargs)[source]

Depending on a dopant level from a band, and the thermal energy available, a dopant is electrical active (donating or accepting an electron to the band) or inactive. It can take the inputs:

input
material: (string)
The elemental symbol for the material e.g ‘Si’.
temp: (float)
The temperature of the sample in kelvin. This can not be an array.
author: (string)
The author of the ionisation model being used
ni_author: (string)
The author of the intrinsic carrier concentraion being used.
check_models()[source]

Plots a check of the modeled data against Digitised data from either papers or from other implementations of the model.

update(**kwargs)[source]

Calculates the number of ionisied impurities

Inputs:
N_imp: (float or numpy array)
number of the impurity in the material
ne: (float or numpy array)
number of electrons
nh: (float or numpy array)
number of holes
impurity: (str)
the element name of the impurity
temp: (optional)
the temperature in Kelvin to be evaluated
author: (optional str)
the author of the impurity model to use
output:
the number of ionised impurities
update_dopant_ionisation(N_dop, nxc, impurity, **kwargs)[source]

This is a special function used to determine the number of ionised dopants given a number of excess carriers, and a single dopant type.

inputs:
N_dop: (float; cm-3)
The dopant density
nxc: (float; cm-3)
The excess carrier density
impurity: (str)
The name of the dopant used e.g. boron, phosphorous. The dopants available depend on the model used
output:
N_idop: (float cm^-2)
The number of ionised dopants