Você está na página 1de 32

Virtual NanoLab

Tutorial
Version 2015.2
Virtual NanoLab: Tutorial
Version 2015.2
Copyright © 2008–2015 QuantumWise A/S
Atomistix ToolKit Copyright Notice

All rights reserved.

This publication may be freely redistributed in its full, unmodified form. No part of this publication may be incorporated or used in other publications
without prior written permission from the publisher.
TABLE OF CONTENTS
1. Introduction ............................................................................................................ 1
ATK and VNL ...................................................................................................... 1
Prerequisites ....................................................................................................... 1
Overview of the work flow ................................................................................... 1
Python Scripting .................................................................................................. 4
Moving data around in VNL ................................................................................. 5
Installing new modules for VNL ............................................................................ 6
2. Calculating the band structure of a SiC crystal ............................................................ 7
Preface ............................................................................................................... 7
Defining a project ................................................................................................ 7
Defining the crystal .............................................................................................. 7
Setting up the calculation ..................................................................................... 8
Viewing a calculation script ................................................................................ 10
Running the script ............................................................................................. 10
Analyzing your results ........................................................................................ 11
Performing additional analysis ........................................................................... 14
3. Transmission spectrum of a graphene nanoribbon with a distortion ............................. 18
The device system ............................................................................................. 18
Calculating the I-V curve .................................................................................... 19
Analyzing the results .......................................................................................... 20
4. Building a graphene nanoribbon device ................................................................... 25
Preface ............................................................................................................. 18
Building the device geometry .............................................................................. 25
Optimizing the geometry .................................................................................... 28

iii
CHAPTER 1. INTRODUCTION

ATK AND VNL


Atomistix ToolKit (ATK) gives you access to a powerful set of modeling tools for investigating a
variety of nanoscale systems such as molecules, bulk and two-probe systems. The systems may
contain nanowires, nanotubes, graphene, high-k dielectric interfaces, semiconductors, metals,
etc, and the calculations are based on the following techniques:

• Density-Functional Theory (DFT)

• Extended Hückel Theory

• Classical Potentials

• Non-Equilibrium Green's Functions (NEGF)

In this tutorial we will give a short introduction to the basic work flow of setting up a calculation
and analyzing the results. We will primarily use the graphical user interface (GUI) Virtual
NanoLab (VNL) for all operations, but also briefly show how the command-line interface can
be utilized.

VNL is designed with ease-of-use in mind − you can focus on the physical properties of the
systems under investigation, and let the program handle the details of the numerical models
and the setup of the input scripts for the calculations.

PREREQUISITES
We will assume that a working copy of Atomistix ToolKit has already been installed, as descri-
bed in the installation guide,

OVERVIEW OF THE WORK FLOW


The procedure for studying a nanoscale system with ATK typically involves first generating
simulation data for a nanoscale system and subsequently analyzing the data. The data are stored
in projects, where a project is a directory on your file system. The VNL comes with an example
project illustrating some of the properties which can be calculated with ATK. In the following
you will explore the data in the example directory and learn how you can generate your own
data.

1
ANALYZING SIMULATION DATA
Start VNL with a double-click on the desktop icon created by the installer, or type vnl in a
command-line terminal window. (You may have to log out and in after the installation in order
for the license environment variable to be registered properly.) On Windows there will also be
an entry in the Start Menu.

The program will start up with a list of available projects, select the Example Project and press
Open. The VNL should now have the following look.

The left column, named Project Files, is a filebrowser with a list of the files in the example
directory.

ATK Filename Extensions

.py File in text format with the atkpython input file.

.nc File in NetCDF format with calculated data. The filename of the data file is specified
in the input file.

.log, . File in text format with output of the calculation.


out

In the file browser you can select which files that are visible in the data viewer (center column).

The data viewer scans all the selected files, and list the data objects they contain. By default the
data objects are grouped by the container file name. You can see a list of the data in each file
by pressing the + button in front of the filename.

Tip
Using the Group by box you can change how the data is listed in the data viewer. For
instance, group by Calculator Id provides a list of data which were calculated for a
specific system with a specific method even if the data are stored in different files.

Now use the left mouse button to select gID001 in sic_bandstructure.nc. This object con-
tains band structure data for a SiC crystal (object gID000). The rightmost column in the VNL
window shows a list of modules which are available for analysis of the data. Left click the
Bandstructure Analyzer module to inspect the data.

2
Figure 1.1: Bandstructure Analyser: Use left mouse button to inspect data points in the band structure, use
shift-left mouse button to measure horizontal and vertical distances between data points.

With a similar approach you can explore the data contained in the other files.

SIMULATING A NEW SYSTEM


To build up a simulation of a new system from scratch you use the following four tools available
from the VNL main tool bar.

VNL Tools
Builder 1

Scripter 2

Editor 3

Jobs 4

1. First, you must define the geometry of the system − that is, the coordinates of all atoms (and
the unit cell, if relevant). For a transport system (a device geometry), you must specify the
electrodes and central/scattering region. For this task, VNL contains an advanced Builder for
atomic geometries, that can be used to set up even complex systems. These can then be used
for electronic structure and transport calculations with ATK, but they can also be exported
to standard or custom-defined file formats for use with other codes.

2. Next, you must specify the details of the numerical calculator that should be used for the
computation, along with the desired physical properties that should be extracted from the
calculation. This is done in VNL using the Script Generator or Scripter for short.

The main steps to perform within the Script Generator are

• Choose the calculator that should be used for the calculation, e.g. Classical Potentials,
Extended Hückel or DFT.

• Define the parameters of the model, e.g. the k-point sampling, the exchange-correlation
functional, the basis sets and other numerical accuracy settings, but also some more phys-
ical input properties like the bias voltage in a transport calculation.

3
• Select the physical properties that should be extracted from the calculation, such as the
total energy, the band structure, or the electron difference density.

In addition you can set up geometry optimization or molecular dynamics runs from the Script
Generator, and for spin-dependent calculations you usually needs to set up the initial spin
configuration. These points are covered in other tutorials.

3. The Script Generator produces a Python script; it is recommended to always save it for later
reference. You may edit this script either in the internal Editor or in any external text editor
of your preference.

Tip
In the Global Io box of the scripter you can set Script detail to Show defaults. In this
way you get an extended script with all input parameters and their default setting.

4. The script (symbolically denoted script.py here) can be executed by dropping it on the
Job Manager, either directly from the instrument that created it, the Editor, or from the file
system.

Alternatively, the script can be run from the command line on the local machine as

atkpython script.py > script.log

or copied to a cluster to be run in parallel.

PYTHON SCRIPTING
If you desire more fine-grained control over the numerical parameters you can use Python
scripting to set up, run and control the calculations. At any step in the work flow you can export
the simulation as a Python script, which can be executed by the command-line tool atkpy-
thon. This makes it easy to set up a calculation on a workstation but carry out the calculations
on a cluster or more powerful computer. The result files can then be brought back to the work-
station for analysis; all input and output files are fully platform cross-compatible between Linux
and Windows, and between 32 and 64 bit architectures.

All tools in VNL can also interpret Python code. This can be used to define a more complex
geometry as a set of logical or repetitive operations in a script, which then directly can be used
as input to the next step in the work flow. VNL is also extensible through user-defined plug-in
components, that can build special structures and perform specific analysis and plotting.

Tip
The command-line tool atkpython can also be used interactively, as regular Python
(actually IPython), with history, completion, help on ATK commands, etc.

4
Figure 1.2:Three different representations of carbon nanotubes in ATK: as built in the Builder in VNL, as
the detailed Python script this produces, or as generated and inspected using ATKPython commands on
the interactive command line.

More details on how to make the most of ATK via scripting can be found in the online tutori-
als, and a complete description of all the parameters used in the Python interface to ATK, and
in many cases a longer discussion about their physical relevance, can be found in the ATK
reference manual. Also see python.org for general information on Python.

MOVING DATA AROUND IN VNL


The work flow in VNL relies rather heavily on the concept of drag and drop to transfer data
between the different instruments and tools. To move data (eg. a geometry or a script) from one
tool to another, drag the script icon in the lower right-hand corner of the source window
onto the relevant place in the target window or icon on the main toolbar. Objects in the NetCDF
files can also be dragged and dropped onto instruments and analyzers.

5
To proceed to the next step in the main work flow, it is usually more convenient to use the
“Send to” menu, which pops up when you click the icon , also located in the lower right-
hand corner of each window. This can be used to for instance send a ready structure from a
Builder to the Script Generator or the Editor, or from the Script Generator to the Job Manager.

INSTALLING NEW MODULES FOR VNL


Most of the functionality in VNL is available through plugins. Which plugins that are installed
is controlled through the AddOn manager, which is available from the Help menu at the top of
the VNL main window.

Not all features are installed by default, and the functionality can be extended through the
modules available on the AddOn server.

Tip
The modules are installed in the directory, install_dir/atk-13.8/vnl/lib/py-
thon2.7/site-packages/AddOns. Most modules are available in source code and it
is possible to extend or change the behaviour of the modules.

Let us now begin the tour of Virtual NanoLab, where you will see all of these concepts and
operations in action in the context of some simple but non-trivial calculations. In the first step
you will compute the band structure of β-cristobalite.

6
CHAPTER 2. CALCULATING THE BAND STRUCTURE
OF A SIC CRYSTAL

PREFACE
In this basic tutorial, you will learn to use VNL for calculating the band structure and some other
properties of a SiC crystal. The tutorial does not discuss the science of such a calculation much;
the purpose of the tutorial is to show how to operate VNL, specifically how to set up calculations
and visualize the results.

DEFINING A PROJECT
Start VNL and open the Example Project. In the VNL top menu select Projects → New. Open
the file browser by pressing the ... button and make a new folder SiC. Select this folder and
name the project SiC bandstructure. Press OK to finish the project setup.

DEFINING THE CRYSTAL


1.
Now open the Builder from the toolbar in the main window.

2. To the left of the Stash are several buttons. Click Add → From Database.

3. Type “sic” in the search field of the Database window and select “SiC (fcc)” in the list of
matches.

7
4.
Add the crystal to the Stash by clicking the icon in the lower right corner.

Tip
Most VNL tools contain a 3D preview of the currently active geometry. Use the right
mouse button to rotate the 3D view, use the scroll wheel to zoom (or hold down Ctrl
and right mouse button and move the mouse), and press the scroll wheel and move the
mouse to pan the camera (or hold down Shift and the right mouse button and move the
mouse).

Information about the lattice, including its symmetries (e.g. that the selected crystal is
face centered cubic), can be seen in the lower left panel.

SETTING UP THE CALCULATION


Once the geometry has been defined you are ready to set up the calculation. The tool used for
this purpose is the Script Generator.

Transfer the crystal to the Script Generator by clicking the "Send to" icon in the lower-right
of the Builder window, and select Script Generator from the pop-up menu.

The Script Generator appears and the Builder is automatically minimized.

As outlined in the Introduction, the main steps to perform within the Script Generator are to
define the method or calculator to use (DFT, semi-empirical, etc), configure its parameters
(mostly related to accuracy), and select the physical properties to compute.

Here is how to do this in practice:

1. Add a New Calculator to the script by double-clicking the corresponding icon in the left
panel.

2. To calculate the band structure of the crystal, double-click Analysis and select Bandstruc-
ture from the pop-up menu.

3. Next insert an ElectronDensity block, also available under "Analysis".

4. Finally, specify sic.nc as the file name where the results will be saved into under Default
output file in the Global IO box. If you do not specify a directory but only a file name, the
NetCDF file will be saved in the project directory.

8
If you now double-click the Bandstructure block in the script, you can see that the suggested
route in the Brillouin zone already includes the common symmetry points for the face centered
cubic lattice. Thus, the default settings are fine, however to obtain smoother curves increase the
number of points per segment between each symmetry point to 100, and then close this dialog.

The calculator itself has defaults for all parameters. However, you should always check them
carefully in order to obtain the desired accuracy, not least in terms of which method that should
be used. Therefore, double-click the "New Calculator" block in the script to open it.

The default method is DFT-LDA, but since this method does not give a good band gap for
semiconductors, select MGGA for the exchange correlation. For improved accuracy, also set
the k-point sampling to 5x5x5.

9
Click OK to close the calculator dialog.

It is good practice to always save the scripts before running them, for future reference and in
case you want to rerun it some time later. Use the File menu in the Script Generator to save the
script.

VIEWING A CALCULATION SCRIPT


All physical systems and calculations are handled internally in VNL as Python scripts. To view
the script associated with the calculation you just have defined, click the Send To icon and
select Editor. The Editor will appear, displaying the Python script you just have set up with the
help of the Builder and the Script Generator.

By editing the script you can make minor final changes by hand, or introduce advanced pro-
cedures like looping over the lattice constant, etc.

RUNNING THE SCRIPT


Scripts can be run directly from inside VNL via the Job Manager. To calculate the SiC band
structure, use the "Send To" button from the Script Generator and select Job Manager from
the menu that appears.

The Job Manager window appears, containing the script you just set up. Simultaneously, the
Script Generator is minimized (not closed).

10
Tip
You can also drop the saved script file itself on the Job Manager icon on the toolbar, or
use the "Send To" button in the Editor, if you changed the script there.

The status of the script is shown as Queued since the job has not yet been executed. To start
the execution of the calculation, press the Run Queue button. The state of the job changes to
Running while the job is being executed, and in addition, informative log messages will appear
in a separate log window. When the state of the job in the Job Manager changes to Done, the
job is completed.

Tip
To remove a job that is not running, select it and press Delete on the keyboard. A running
job can be stopped with the actions key.

ANALYZING YOUR RESULTS


After the job is finished (it takes a minute to complete only), you are ready to study the calculated
band structure of the SiC crystal. To do this, return to the main VNL window.

Tip
Use the Windows menu, available in each tool in VNL, to conveniently switch between
different windows.

11
THE BANDSTRUCTURE

Expand the generated NetCDF file sic.nc in the data viewer of the main window. When the
file is expanded, the content of the NetCDF file is displayed. Select the band structure object
(gID001).

The left panel, the Analysis panel bar, contains a number of actions that can be performed on
the object currently selected in the data viewer. Use Export to export the raw data of the band
structure to a file that can be used for plotting with a third-party application, or Show Text
Representation... to see the data.

To measure the band gap, open the Bandstructure Analyzer.... Activate Zoom to rectangle,
and zoom into the direction. Deactivate Zoom, and use the mouse to measure the band
gap by first selection the valence band at the point and dragging the mouse to the conduction
band at the X point.

Note
The calculated band gap, 2.40 eV, is in excellent agreement with the experimental value
of 2.36 eV for SiC(fcc), showing the good accuracy of the Tran & Blaha 89, meta-GGA
for semiconductor band structures.

12
THE GEOMETRY AND ELECTRON DENSITY
Now select the atomic geometry object in sic.nc (gID000). If you expand the general info tab,
you will get a resume of the settings for the calculation.

To view the atomic geometry press the Show in 3D Viewer button to see the geometry in the
viewer.

The NetCDF file also contains an Electron Density object. To view the electron density together
with the atomic geometry, select the electron density object (gID002) and drop it onto the open
window. The 3D Viewer will open a query Window, select the Cut plane as the viewing style.

You need to adjust some view settings to get a good picture of the electron density. Therefore,
open the Properties in the viewer panel bar.

Under CutPlanes, change the color map to Hot and the plane normal rotation angle θC to 145
degrees.

13
To export the plot as an image, use the right mouse button menu Export image.

PERFORMING ADDITIONAL ANALYSIS


You will now learn how to generate additional analysis for the SiC system. In the VNL main
window select the atomic geometry object in sic.nc (gID000) and drag and drop the object
onto the scripter icon on the left tool bar. This will open the Scripter with the SiC configuration
and a New Calculator object. Open the New Calculator and check that it has the same settings
as used in sic.nc.

You can now perform a new DFT calculation with the same parameters as the previous calcu-
lation. However, often you do not want to perform a new calculation from scratch but rather
use the self consistent state of a previous calculation.

14
To this end, delete the New Calculator object and add Analysis from File. Open the Analysis
from File object and select the file sic.nc and object id: gID000.

Next double-click Analysis and select ElectrostaticDifferencePotential from the pop-up menu.

Add Analysis DensityOfStates from the pop-up menu.

Change the default output file to sic.nc.

Open the DensityOfStates block and set the kpoint sampling to 11, 11, 11.

Send the script to the job manager and perform the calculation, it will only take a few seconds.

3D VIEW OF THE ELECTROSTATIC POTENTIAL


The next step is to visualize the electrostatic difference potential together with the configuration
and the electron density. In the VNL main window select the configuration (sic.nc: gID000)
and in the panel bar select Show in 3D Viewer. Next drop the Electron Density (sic.nc: gID002)
onto the open viewer window and select Isosurface as the viewing style. Finally, add the Elec-
trostatic Difference potential (sic.nc: gID003) onto the viewer window and select Cut plane
as the viewing style.

Open the properties menu and adjust the iso surface to have iso value: 0.16 and Rendering
style: Lines

15
Also change the CutPlanes to have the same settings as in the previous plot with the addition
that also θA is set to 145 degrees, then you should then get the following plot

1D VIEW OF THE ELECTROSTATIC POTENTIAL


It is possible to visualize 1D projections of 3-dimensional objects such as the electron density
or electrostatic difference potential. In the VNL main window select the Electrostatic Difference
potential (sic.nc: gID003) and in the panel bar select Projector 1D.... Choose 'C' as the Axis
and as Projection type select Average; press Add graph. The plot shows the Electrostatic differ-
ence potential along the C direction, averaged over the AB-plane. It is also possible to plot the
plotential along a direction without averaging using the Through point projection type.

16
VISUALIZING THE DENSITY OF STATES
Now move back to the VNL main window and select the DOS object (gID004) in sic.nc. In
the panel bar select Show 2D Plot..., and the Density Of States viewer will open. Select the
Carbon atom and tick the p-band in order to show the PDOS of the p orbital of the Carbon atom.

This concludes the first part of the introduction to VNL. Next, you will proceed with a transport
calculation for a graphene nanoribbon.

17
CHAPTER 3. TRANSMISSION SPECTRUM OF A
GRAPHENE NANORIBBON WITH A DISTORTION

THE DEVICE SYSTEM


In this tutorial, you will study the electron transport properties of a graphene nanoribbon with
a distortion. You will be introduced to device geometries and different analysis tools for inves-
tigating the electronic transport properties of devices.

Start by opening VNL. In the VNL top menu select Projects → Open, and open the Example
Project. The example project has a number of result files, in the following you will be examining
the nanoribbon_ivcurve.nc result file. Expand the nanoribbon_ivcurve entry and select the
device configuration (object gID000). In the right panel bar select Viewer.... This will display
the configuration in a 3D graphics window.

The structure is a so called device geometry. It consists of three parts: the left electrode, the
central region, and the right electrode. The left and right electrodes are semi-infinite periodic
in the negative/positive Z direction, the transport direction. The electrodes may differ from one
another, e.g. be composed of different materials or have different structures. However, they
must be periodic, and they must have a common unit cell in the X/Y plane. For more details
about how to set up a device configuration, go to the next chapter.

The central region consists of extension copies of the two electrodes and a scattering region in
between, as depicted in the figure below. Here, the vectors A, B, and C span the electrode. For
device simulations, the C-vector must always be parallel to the Z axis, and the AB-plane must
be orthogonal to the Z axis.

The configuration also has an attached calculator. To see the details of the calculator, select the
device configuration (object gID000), and open the general info plugin. You will notice that a
selfconsistent Huckel method was used for the calculations. A Cerda and a Hoffmann basis set
was set for Carbon and the Hydrogen, respectively.

18
In the following you will learn how to perform an IV Curve calculation for the system. Building
the graphene nanoribbon device is explained in the next chapter.

CALCULATING THE I-V CURVE


You will now calculate an I-V curve for the nanoribbon device. To this end you will need to
perform a selfconsistent calculation and calculate the transmission spectrum for each bias in
the I-V curve. From the transmission spectrum it is then possible to calculate the current at each
bias, thereby obtaining the I-V curve. In the following you will set up an I-V curve calculation
by using the I-V curve object in ATK. This object automatically sets up the bias loop and cal-
culates the transmission spectrum for each bias in the I-V curve.

Select the device configuration (gID000), drag and drop it onto the scripter tool icon in the
VNL tool bar.

This will open the scripter with the device configuration and the attached calculator. Now add
the following analysis objects:

1. Analysis → TransmissionSpectrum

2. Analysis → IVCurve

3. Change the default filename to nanoribbon_ivcurve1.nc

Tip
If you insert the wrong block by mistake, you can select it in the Script panel and press
Delete on the keyboard to remove it. The inserted blocks in the script can also be reor-
dered by dragging them up or down.

Now you need to make sure that each script block is set up properly.

19
1. Double-click the New Calculator block in the Script panel to open it. Check the parameters,
for instance the Huckel basis set used for the calculation. You will note that the setting is not
the default, but the setting of the calculator attached to the dropped configuration. When
you drag and drop a configuration with a calculator, the settings of that calculator will be
transferred to the scripter. You may press OK, since no changes are needed.

2. You do not need to change anything in the TransmissionSpectrum block, but you can open
it to see the available options.

3. Open the IVCurve block.

• Set

• Set and

The script is now ready, save it into nanoribbon_ivcurve1.py

ANALYZING THE RESULTS


You may now execute the calculation as you learned in the previous chapter, by dropping the
script on the Job Manager (or send it to there from the Script Generator). The job will take several
hours to complete but only around 1 hour if you use 4 MPI processes. In the following you can
investigate the precalculated data available in the examples directory.

THE I-V CURVE


Go back to the VNL main window. Select the nanoribbon IVCurve object (gID002) and open
the IV-Plot tool in the Panel bar.

Check the box next to 'Additional plots'.

20
Figure 3.1: I-V plot, the rightmost window, shows the transmission spectrum for each bias, where the blue
part of each curve shows the bias window. For each transmission spectrum the electrical current is shown
in the topmost middle plot.

The tool shows all the transmission spectra and the corresponding I-V points. By hovering the
mouse over an I-V point, the corresponding transmission spectrum is highlighted. To calculate
the current it is necessary to specify the electron temperature in the electrodes, if the electron
temperature is changed the currents are recalculated.

The I-V points are connected through a spline interpolation, and the distance between the in-
terpolated points is determined by the step size. The lower plot shows the dI/dV as obtained by
differentiating the spline interpolation.

For a system with inversion symmetry, or mirror symmetry in the z-direction, the I-V curve will
be symmetric in the applied bias. For such systems you can obtain the full I-V curve by only
performing the I-V scan in one bias direction. If you tick of Symmetrize, the positive bias points
will be copied to give the negative bias points.

THE TRANSMISSION SPECTRUM

To view the transmission spectrum object (gID001) in nanoribbon_ivcurve.nc, select it and


open the Transmission Analyzer panel bar plugin.

The left plot in the transmission analyzer shows the transmission spectrum. In the Curves menu,
you can select which spin components are shown. For non-polarized calculations, the default
is to show the transmission spectrum of the sum of the up and down channel.

With the mouse you can select a point in the active curve. This k-dependent trans-
mission for this energy is then illustrated in the right plot.

21
THE TRANSMISSION EIGENVALUES AND EIGENSTATE
For a given energy (E) and k point ( ) the transport can be described in terms of the trans-
mission eigenstates. The transmission eigenvalues and corresponding eigenstates are conven-
iently calculated from the transmission analyzer.

Select in the plot, and in the plot. Press the Eigen-


values button, and the software will report that there are three eigenvalues: 0.9903, 0.3098 and
0.00344.

Next press the Eigenstates button to calculate the eigenstates for the ticked eigenvalues. After
a short calculation a menu appears for how to visualize the states, select to visualize them as
an isosurface.

In the viewer, select the properties menu, and set the isovalue to 0.1, you should then see the
following plots.

THE TRANSMISSION PATHWAYS


The final analysis you will perform in this tutorial is to calculate the transmission pathways at
the Fermi level. This is a visual view of the electron pathways from the left to the right electrode.

Open the scripter

1. Add an Analysis from file object, and select gID000 in nanoribbon_ivcurve.nc

2. Add an Analysis → TransmissionsPathways object.

22
3. Change the default filename to eigenstates.nc

Send the script to the job manager and execute the script. This will take less than a minute.

When the calculation is done expand eigenstates.nc in the VNL main window and select
the transmission pathway object. Press Viewer to plot it. The volume of each arrow indicates
the magnitude of the local transmission between each pair of atoms, the arrow and the color
designates the direction of the electron flow.

The positions of the atoms are quite obviously deducible, but you can also add them explicitly
by dropping the device configuration (gID000) onto the plot. The bonds hide the arrows so the
best option is to plot only atoms using radius 0.2, which can be done from the atom tab on the
Properties viewer panel bar.

THE TRANSMISSION SPECTRA OF THE I-V CURVE


It is also possible to open each transmission spectrum of the I-V curve in the transmission ana-
lyzer. Select the IVCurve object, and select transmission analyzer. This will open a list of
transmission spectra in the IVCurve object.

23
Select the 0.2 Volt object. You will note that for this spectrum it is not possible to calculate the
transmission eigenvalues, since a configuration with a selfconsistent calculation for this bias
voltage is not available. In the IVCurve object you can specify a trajectory file where the self-
consistent calculations for each bias voltage will be stored. This file can become very large, and
it is therefore not provided in the examples directory.

24
CHAPTER 4. BUILDING A GRAPHENE NANORIBBON
DEVICE

PREFACE
In this chapter, you will learn how to build the device used in the previous chapter, a graphene
nanoribbon with a distortion.

The easiest way to build a device is usually to define the central region as a periodic extension
of the intended electrode materials, then modify the scattering region (possibly inserting addi-
tional atoms, molecules, layers, etc), and finally extract the electrodes. The device geometry
can then be optimized. You will practice this procedure in this tutorial.

BUILDING THE DEVICE GEOMETRY


In this section you will first build a perfect graphene nanoribbon, and then make some changes
to it in the Builder.

Open the Builder by clicking the icon on the main toolbar (when opening the Builder the
first time in a session it can take a bit longer since it must initialize all addons).

When the Builder opens, click the Add button to the left of the stash area. From the menu that
appears, choose From Plugin>Nanoribbon.

25
Note
The stash, which is initially empty, is where all geometries you are currently working on
in the Builder are stored; it is however not a permanent storage for systems and scripts,
as it is not saved when you exit VNL. So, always remember to save any systems you want
to keep from the Builder, before closing VNL.

To make the calculations of this tutorial run as fast as possible, select a very narrow ribbon with
chiral indices (2,2), corresponding to a zigzag graphene nanoribbon, 8 carbon atoms wide.
Leave the other parameters as they are. You can click Preview to see how the ribbon will look,
then click Build to add it to the stash.

Tip
The entries in the "From Plugin" menu are template builders, designed to construct sys-
tems which are based on a few input parameters. You can create your own custom
builders by writing a plugin for VNL.

In order to have a long enough ribbon to form the central region, you need to repeat the nano-
ribbon unit cell in the Z direction. To do this:

1. Open the collection of Bulk Tools in the panel plugin toolbar to the right in the Builder, and
open the Repeat tool.

2. Enter C=12 and click Apply.

3. Press Ctrl+R to center the 3D view.

26
To make things more interesting, you will now make a Stone−Wales defect by rotating a bond
90 degrees.

1. Select the two atoms indicated in the figure below (they have z-coordinate about 13.5 Å) by
holding down Ctrl while clicking them.

2. From Coordinate Tools in the panel plugin toolbar, open the Rotate tool.

3. Enter a rotation angle of 90 degrees (around the X axis). By keeping "Rotate around selection
center" checked, the bond will be rotated about its midpoint.

4. Click Apply.

The scattering region is now defined. To convert the system to a device, open Device From
Bulk... under Device Tools.

The Builder will automatically try to detect the periodicity of the region closest to the edges of
the central region, and suggest possible electrodes. In order for this to work, there should be at
least one full period plus one additional layer of the electrode present in the central region.

Note
You should be careful not to make the central region too short, so that the modifications
and edits you make to the middle part of the central region (i.e. the scattering region)
still leaves at least one period plus one layer of the unperturbed, perfectly periodic struc-
ture, closest to the edges of the central region. The electrodes must also be long enough
to include all matrix elements; a rough estimate is 7−8 Å in many systems, but this should
be checked in detail for specific cases.

27
The suggestion 7.38 Å generates a reasonable electrode for this system (3 periods of the nano-
ribbon cell), so click OK to create the device geometry.

OPTIMIZING THE GEOMETRY


Although the geometry at this point resembles the desired structure, the Stone−Wales defect
was just created by rotating the bond. In reality, the bond length also changes, to accommodate
the new double-pair of pentagons and heptagons which are formed when the bond is rotated.

For carbohydrates (and a few other systems), a very fast method to optimize the geometry is to
use the Brenner potential which is part of the set of built-in classical calculators in ATK. This
calculator is in fact accessible directly in the Builder.

Open the Coordinate Tools>Quick Optimizer plugins. Run 10 optimization steps by pressing
the Run button.

After about 10 seconds the geometry will be updated. The forces are still quite large, thus press
the button a few more times to get to a converged state (or, increase the maximum number of
steps to 100 and then press Run).

28
Note
Although it cannot be seen directly, the electrode extensions will automatically be con-
strained in a device optimization, to retain their exact geometric correspondence to the
electrodes.

If you inspect the geometry carefully, you will find that it now has precisely the structure as
depicted in the figure below.

To learn more advanced building capabilities check the online builder tutorials

29

Você também pode gostar