Documentation¶
QuantumTransmissionCoefficientCalculator
platform: | Python 2.7 |
---|
This python code is to calculate quantum tunneling transmission coefficient using piece wise constant method.
To use, first specify a barrier structure in myStructure.py myStructure.py will be imported as below Then, create an object, call compute method with numpy array specifying desired energy range of interest. It will return transmission coefficient.
See main function in this module for usage
-
class
myTransmissionCoefficient.
QuantumTransmissionCoefficientCalculator
(N=1)¶ This class provides quantum transmission coefficient.
Creates an object and call a function to get started.
-
apply_bias
(bias)¶ Apply bias to the given potential strcuture.
- Args:
- bias: Specify a value in (V)
-
compute
(E)¶ Compute transmission coefficient in the energy range E
To compute transmission coefficient, piece wise constant method is performed.
- Args:
- E: specify desired energy range in (J) e.g. E = np.linspace(0, 1.0)*1.60e-19
- Return:
- TC: transmission coefficient (no unit)
-
plot_structure
()¶ Plot potential structure
-
Usage provided in main function in the module.¶
def main():
# set up output plot font size
myutil.setup_fonts()
# set up energy range of interest
# Note that 0 eV gives a warning -> division by zero
E = np.linspace(0.01, 1.0, 2000)*nu.eV
# create an object RTD with N=20 subdivision
RTD = QuantumTransmissionCoefficientCalculator(20)
# check configured potential structure described in myStructure.py
# which is imported at the beginnning of this module
RTD.plot_structure()
# compute method gives a transmission coefficient TC
TC1 = RTD.compute(E)
# apply bias .2 (V)
RTD.apply_bias(0.2)
RTD.plot_structure()
# recalculate transmission coefficient
TC2 = RTD.compute(E)
# Results
plt.plot(TC1, E/nu.eV, label='0 V')
plt.plot(TC2, E/nu.eV, label='0.2 V')
plt.xlabel('Transmission coefficient')
plt.ylabel('Energy (eV)')
plt.legend(loc='best')
plt.grid()
plt.show()
return