Table of Contents
In this section you will learn how the transmission spectrum can be used to calculate the
conductance of the device as function of the left and right electrode temperatures,
. At
the conductance is
determined by the transmission coefficient at the Fermi Level, while for finite
the conductance depends on the value of the transmission
coefficient in an energy window around the Fermi level. For
the zero bias conductance is given by
where
is the derivative of the Fermi function [8].
In semiconductors the conductance is often determined by hot electrons or holes propagating within the conduction or valence band, so-called thermionic emission. The hot electrons are located in the energy range of the tails of the Fermi function. Thus, for an accurate determination of the conductance from thermionic emission, it is important that the energy range of the transmission spectrum is such that the tails of Fermi functions are properly sampled. Figure 2 of the previous chapter shows that both the valence and conduction band edges of the central region is within the energy range of the transmission spectrum, thus, from the calculated data you will be able to accurately determine the temperature dependent conductance.
In order to calculate the temperature dependent conductance use the following NanoLanguage script.
# Read first transmission spectrum from file z-a-z-6-6.nc
transmission_spectrum = nlread("z-a-z-6-6.nc",TransmissionSpectrum)[0]
#make list of temperatures
temperature_list=numpy.linspace(0,2000,21)*Kelvin
#make list for holding conductance
conductance_list=numpy.zeros(len(temperature_list))
#calculate the conductance for each temperature in the temperature list
for i in range(len(temperature_list)):
conductance_list[i]=transmission_spectrum.conductance(
electrode_temperatures=(temperature_list[i],temperature_list[i]) )
#plot the conductance as function of temperature
import pylab
pylab.figure()
pylab.semilogy(temperature_list,conductance_list)
pylab.xlabel("Temperature (K)")
pylab.ylabel("Conductance (S)")
pylab.show()
The script reads the transmission spectrum from the NetCDF
archive file calculated in the previous section. It then uses the
conductance() method for calculating the
conductance for a number of electrode temperatures. Save the script and
drop the saved script onto the Job Manager or run the command
atkpython conductance_t.py
and you will obtain the figure below as a result of the calculation.
|
|
Tip |
|---|---|
|
You may also select the text of the script and drag and drop it onto the job manager. |
The script will generate the following output
The temperature dependent conductance for this device is rather atypical for a field effect transistor. Usually the conductance will increase as function of temperature. The decreasing conductance as function of temperature is related to a large conductance at the Fermi level caused by electron tunneling. For a longer device, the tunneling will be suppressed, and in the next section you will compare the results with the conductance of a longer device.
The figure was produced with the pylab package which is part of atkpython
|
|
Tip |
|---|---|
|
For further information on all the options and methods available for the
|
You will now setup and calculate the transmission spectrum of a 20 unit long channel, and compare its temperature dependent conductance with the shorter system investigated earlier.
To setup the calculation follow the same steps as in the previous section. The first step is to build the structure with the Custom Builder. The length of the central unit is now specified as 20 repetitions. The new settings of the custom builder is illustrated below
The next step is to setup the calculation, and this part follows exactly
the same steps as in the previous chapter for generating the calculation
“z-a-z-6-6.py”. As an alternative to
setting up the calculation with the VNL Script generation tool, you may
save the new geometry into the file
“z-a-z-20-6.py” and copy the lines
specifying the calculation from
“z-a-z-6-6.py” (remember to change the
NetCDF filename from “z-a-z-6-6.nc” to
“z-a-z-20-6.nc”). The part of the
script specifying the calculation is found below the lines
############################################################### # Calculator ###############################################################
You may now run the program with the command
atkpython z-a-z-20-6.py > z-a-z-20-6.out
where all output is redirected to the file
“z-a-z-20-6.out”. The calculation will
take approximately twice as much time as the previous calculation for
the shorter junction.
The following script calculates the temperature dependent conductance of the two junctions
# Read first transmission spectrum from file z-a-z-6-6.nc and z-a-z-20-6.nc
transmission_spectrum6 = nlread("z-a-z-6-6.nc",TransmissionSpectrum)[0]
transmission_spectrum20 = nlread("z-a-z-20-6.nc",TransmissionSpectrum)[0]
#make list of temperatures
temperature_list=numpy.linspace(0,2000,21)*Kelvin
#make list for holding conductance
conductance_list6=numpy.zeros(len(temperature_list))
conductance_list20=numpy.zeros(len(temperature_list))
for i in range(len(temperature_list)):
conductance_list6[i]=transmission_spectrum6.conductance(
electrode_temperatures=(temperature_list[i],temperature_list[i]) )
conductance_list20[i]=transmission_spectrum20.conductance(
electrode_temperatures=(temperature_list[i],temperature_list[i]) )
#plot the conductance as function of temperature
import pylab
pylab.figure()
pylab.semilogy(temperature_list,conductance_list6,label="short junction")
pylab.semilogy(temperature_list,conductance_list20,label="long junction")
pylab.xlabel("Temperature (K)")
pylab.ylabel("Conductance (S)")
pylab.legend(loc="lower left")
pylab.grid(True)
pylab.show()
Below is shown the result of the calculation. The green curve shows the result for the longer junction. Note that in this case the conductance increases strongly with temperature, indicating that the dominating transport mechanism is thermionic emission.
Figure 4: Conductance as function of the electron temperature for the short (blue) and 20 unit long (green) graphene junction.
In the previous section you calculated the conductance of the junction. To obtain an electrical current it is usually necessary to apply an external bias. This section shows how it is also possible to drive a current through the junction by having the two electrodes at different temperatures. The NanoLanguage script for the calculation is displayed below
# Read first transmission spectrum from file z-a-z-6-6.nc and z-a-z-20-6.nc
transmission_spectrum6 = nlread("z-a-z-6-6.nc",TransmissionSpectrum)[0]
transmission_spectrum20 = nlread("z-a-z-20-6.nc",TransmissionSpectrum)[0]
#make list of temperatures
temperature_list=numpy.linspace(0,2000,21)*Kelvin
#make list for holding current
current_list6=numpy.zeros(len(temperature_list))
current_list20=numpy.zeros(len(temperature_list))
#fix the temperature in the left electrode
temperature_left=300*Kelvin
for i in range(len(temperature_list)):
current_list6[i]=transmission_spectrum6.current(
electrode_temperatures=(temperature_left,temperature_list[i]) )
current_list20[i]=transmission_spectrum20.current(
electrode_temperatures=(temperature_left,temperature_list[i]) )
#plot the current as function of temperature in right electrode
import pylab
pylab.figure()
pylab.plot(temperature_list,current_list6,label="short junction")
pylab.plot(temperature_list,current_list20,label="long junction")
pylab.xlabel("Right Electrode Temperature (K)")
pylab.ylabel("Current (A)")
pylab.legend(loc="lower left")
pylab.grid(True)
pylab.show()
The electron temperature of the left electrode is now fixed at 300 Kelvin, while the temperature of the right electrode is varied from 0 to 2000 Kelvin. The figure below shows the output of the calculation. The change in temperature has the strongest effect on the longer junction (the green curve). The positive direction of the current is from left to right, thus, the electrical current goes from the high temperature to the low temperature. Figure 2 shows that the valence band of the central region is closest to the Fermi Level, thus, the transport is dominated by hole transport. The electrode with the highest temperature will have most holes, which will propagate to the other electrode giving rise to a current in this direction.
Figure 5: Current as function of the electron temperature of the right electrode for the short (blue) and 20 unit long (green) graphene junction. The electron temperature of the left electrode is fixed at 300 Kelvin.