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