The mobility module¶
This module allows to calculate the carrier mobilities based on the material composition, temperature (T>100K) and impurity concentration. It is an implementation of the mobility model by:
- Sotoodeh, A. H. Khalid, and A. A. Rezazadeh, “Empirical low-field mobility model for III–V compounds applicable in device simulation codes,” J. Appl. Phys., 87, 2890, (2000).
Supported materials¶
The material parameters used in the model are included in the file mobility_parameters.json. At the moment, the supported materials are:
- Binaries: AlAs, GaAs, InAs, InP, GaP
- Ternaries: InAlAs, AlGaAs, InGaAs, GaInP, (GaAsP), (InAsP)
- Quaternaries: InGaAsP
The last two ternaries are simply calculated as a linear interpolation of the parameters of the corresponding binaries, so the transition from direct to indirect bandgap and other dependencies might not be very accurate. InGaAsP, in turn, is calculated only based on the InGaAs and GaInP data and it is mostly valid for compositions lattice matched to InP.
Functions¶
-
def calculate_mobility(material, holes, N, [x=0.0, y=0.0, T=300])
Calculates the mobility using the model by Sotoodeh et al. ([1]). If the material is not in the database, then the function returns the mobility for GaAs at that temperature, T, and impurity concentration, N. holes = 0 calculates the mobility for electrons and holes = 1 calculate the mobility for holes. x is the fractional composition in the case of ternaries and y in the case of quaternaries.
Output: Mobility
All functions description¶
-
solcore.material_data.mobility.
calculate_InGaAs
(x, i)[source]¶ Calculates the parameters for an InGaAs alloy.
Parameters: - x – Indium fraction
- i – If the data for electrons (1) or holes (2) should be calculated
Returns:
-
solcore.material_data.mobility.
calculate_InGaP
(x, i, T)[source]¶ Calculates the parameters for an InGaP alloy.
Parameters: - x – Indium fraction
- i – If the data for electrons (1) or holes (2) should be calculated
Returns:
-
solcore.material_data.mobility.
calculate_AlGaAs
(x, i, T)[source]¶ Calculates the parameters for an AlGaAs alloy.
Parameters: - x – Al fraction
- i – If the data for electrons (1) or holes (2) should be calculated
Returns:
-
solcore.material_data.mobility.
calculate_InAlAs
(x, i, T)[source]¶ Calculates the parameters for an InAlAs alloy.
Parameters: - x – Al fraction
- i – If the data for electrons (1) or holes (2) should be calculated
Returns:
-
solcore.material_data.mobility.
calculate_InGaAsP
(x, y, i, T)[source]¶ Calculates the parameters for an InGaAsP alloy. The calculation is based on a interpolation scheme between InGaP and InGaAs using data of compositions lattice matched to InP. Results for compositions away from this might not be very accurate.
Parameters: - x – Indium fraction
- y – Phosphorus fraction
- i – If the data for electrons (1) or holes (2) should be calculated
Returns:
-
solcore.material_data.mobility.
calculate_General
(material, x, i, T)[source]¶ Calculates the parameters for a general alloy of the materials in the database assuming a simple linear interpolation. Only ternaries are supported this way.
Parameters: - material – Material to calculate, which must be in the database
- x – Main fraction
- i – If the data for electrons (1) or holes (2) should be calculated
Returns:
-
solcore.material_data.mobility.
Rd
(EgG, EgX, EgL, mnG, mnX, mnL, T)[source]¶ Calculates the fraction of electrons in the direct valley.
Parameters: - EgG – Gamma-valley bandgap
- EgX – X-valley bandgap
- EgL – L-valley bandgap
- mnG – Gamma-valley effective mass
- mnX – X-valley effective mass
- mnL – L-valley effective mass
- T – The temperature
Returns: The fraction.