Transport in a Graphene Nanoribbon with a Distortion¶
You will here use QuantumATK to study the electron transport properties of a graphene nanoribbon with a distortion. You will be introduced to the device configuration and analysis tools that are particularly useful for investigating the properties of devices.
The nanoscale structure needed for QuantumATK transport calculations is a semi-infinite device configuration. It consists of three main parts:
- Left Electrode
- Central Region
- Right Electrode
Current may flow between the two bulk Electrodes, but has to pass through the Scattering Region in the middle of the device. Both ends of the central region, called the Electrode Extensions, must be exact replicas of the corresponding electrode.
Graphene Nanoribbon Device¶
The tutorial section Building a Graphene Nanoribbon Device teaches you how to build the
graphene nanoribbon device used here. For now, however, download and locate the
attached data file
nanoribbon_ivcurve.hdf5 in your project directory.
Make sure the file is ticked and then follow these steps:
- On the LabFloor, select the DeviceConfiguration item saved in the HDF5 file.
- A calculation was already done for this device (see the picture below for more details about the content of the implemented calculations). Use the General Info tool to see some of the parameters used for the calculation.
- Finally, use the Viewer to visualize the graphene nanoribbon device. Note the defect in the middle of the central region, and that both electrodes consist of pristine (non-defected) nanoribbon unit cells.
The C-vector of the device configuration simulation cell is aligned with the Z-axis, which in QuantumATK is the transport direction. The left/right electrodes may be different, but must both be periodic in the transport direction. The central (scattering) region is semi-infinite in the transport direction, where it couples to the electrode leads.
Two types of transport analysis items have been pre-calculated and saved in the HDF5 data file; the I-V curve and the zero-bias device transmission spectrum:
The I–V curve is computed from finite-bias transmission spectra at several bias points. Select the IVCurve LabFLoor item and use the IV-Plot analysis tool to visualize it.
Tick the option Additional plots to see not only the I–V curve, but also the differential current (dI/dV), and the transmission spectra and spectral currents for all sampled bias points.
- Hover the mouse over an I–V point to highlight the corresponding transmission spectrum.
- The I–V points are connected by a spline interpolation, and the line connecting points in the dI/dV plot is obtained by differentiating this interpolation. The differentiation obviously becomes more accurate as the bias-step decreases.
Select the TransmissionSpectrum item on the LabFLoor, and click the Transmission Analyzer plugin to visualize it. The left-hand plot shows the transmission spectrum, while the right-hand plot shows an interpolated contour plot of the transmission coefficients in reciprocal space.
For a given energy and k-point, the electron transport can be described in terms of transmission eigenstates. The transmission eigenvalues and corresponding eigenstates are conveniently calculated from the Transmission Analyzer, see the image above.
Select E=0 in the T(E) plot, and the (0,0) point in the plot of transmission coefficients. Then click the Eigenvalues button, and the plugin will report the corresponding eigenvalue(s). Tick all three eigenvalues.
Next, click the Eigenstates button to calculate the eigenstates for the ticked eigenvalues. A dialog then asks how you want to visualize the eigenstates – select isosurface. In the Viewer window that pops up, open the Properties menu, and set the isovalue to 0.1. You should then see the following visualizations of the transmission eigenstates through the graphene nanoribbon device.
Finally, you should calculate the transmission pathways at the Fermi level.
This allows you to visualize the pathways for electron transmission from the
left to the right electrode. Use
Analysis from File to load the DeviceConfiguration stored in the
nanoribbon_ivcurve.hdf5 data file.
The TransmissionsPathways data item, , should now be available on the LabFloor. Visualize it using the Viewer, as illustrated below. The volume of each arrow indicates the magnitude of the local transmission between each pair of atoms, while the arrow and color indicate the direction of the electron flow.
It is not hard to deduce the positions of the atoms, but you can also add them explicitly by dropping the DeviceConfiguration onto the Viewer canvas. However, the bonds hide the arrows, so you may want to adjust the radius of the atoms. Use the Properties menu for this.
Performing the Device Calculations¶
The transport analysis in the previous section was done using pre-calculated data. However, it is fairly simple for you to redo the device calculation and compute the post-SCF analysis data on your own. As an example, you will here set up an QuantumATK Python script that first runs a semi-empirical Hückel calculation for the graphene nanoribbon, and then computes the transmission spectrum and I–V curve.
On the LabFloor, select the DeviceConfiguration
previously saved in the
nanoribbon_ivcurve.hdf5 data file. Drop it
on the Scripter, and notice that both the device
configuration and saved calculator are added to the script. Then add analysis
blocks to the script and set the default output filename.
You can use the mouse to reorder the inserted script blocks if needed. You can also delete blocks using Delete on your keyboard.
Next, you should make sure that each script block is set up properly:
- Double-click the New Calculator block to open it and check the calculator parameters. In particular, make sure to choose the ATK-SE engine and the Extended Hückel method.
- No options should be changed in the TransmissionSpectrum block, but you should open it to see the available options.
- In the IVCurve block, setup a voltage bias window of 0 to 1 V, and make the energy window span from -1 to +1 eV.
- Remember to save the script.
You are now ready to run the calculations – you can use the Job Manager for this. Please note that the job takes several hours on a standard desktop computer. You may bring this down to perhaps one hour if you run the job in parallel on multiple CPUs, either on your local machine or on a remote computing cluster.