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