Two-probe systems

Table of Contents

In this part, we will construct two-probe systems , in which two semi-infinite electrodes are in contact through a nano-scale piece of material (or vacuum), the so called central or scattering region) .

In the following we will build three different two-probe configurations:

While setting up each of these system, we will demonstrate different important and useful aspects of Virtual NanoLab (VNL). For a complete understanding, it is therefore important to go through all three cases. We will start with the linear chain.

Linear chain – the electrodes

The simplest two-probe system one can imagine is a linear chain. Let us create one as a combination of two of the previous systems of this tutorial, namely a hydrogen molecule coupled to two linear lithium chains. Provided that you followed each of the previous steps in the tutorial, you already have both of these systems present as separate files on your file system. Our first two-probe system will be constructed by joining these sub-systems using the Atomic Manipulator tool.

1. Drop the Li chain on the Atomic Manipulator

The Li chain is imported in the Atomic Manipulator as a bulk “crystal”, which extends periodically up to infinity. But to create a two-probe system we need a couple of semi-infinite electrodes ending in surfaces. In Atomic Manipulator these are obtained by cleaving the bulk.

2. Cleave the crystal

To create a surface from a bulk crystal, right-click the left panel in the Manipulator, and choose Cleave from the context menu. The tool now changes mode, from bulk crystal to two-probe manipulator, and the Li chain has been turned into two electrodes, as can be seen in the preview window. The left-hand panel has also changed, and displays the relevant properties of the electrodes. We will consider these parameters before importing the hydrogen molecule.

To cleave cleavea crystal in the Atomic Manipulator, right-click the left panel and choose Cleave from the context menu.

Figure 28: To cleave a crystal in the Atomic Manipulator, right-click the left panel and choose Cleave from the context menu.


3. Set up the electrode cell

The immediate question which arises is why there are so many lithium atoms ; the original Li configuration only contained a single Li atom (in the unit cell). There are two reasons for this, and it is important to understand these in order to judge the quality of the results obtained from the calculations.

First of all, the numerical models used in VNL only account for interactions between atoms within the electrode cell plus those in the nearest repeated cell. If, in reality, there are interactions also with atoms in the next-nearest cell, these will be neglected. By making the electrode cell long enough it is always possible to make sure that all interactions are included, but unfortunately this can lead to time-consuming calculations. It is therefore up to the user to set the appropriate level of accuracy by choosing the length of the electrode cell in the C direction.

This length is set by choosing the number of layers in the C direction of the surface unit cell, under the Surface tab. VNL assists the user in this process by suggesting a reasonable value for the number of layers (2, in this case). In this way, the electrode cell is constructed as small as possible, while still including enough atoms to account for all first order interactions. In addition, warnings are issued if interactions are neglected:

  • A NOTE is displayed if only second order interactions are unaccounted for (which almost always is an acceptable approximation).

  • A WARNING is issued if also direct interactions are disregarded due to a too short electrode cell.

In addition, the surface cell must be periodic in the transport direction, which is trivially fulfilled by the Li chain. Later, we will return to this point as well as the parameters on the Surface tab.

4. Set up the screening layers

Now switch to the Two-Probe tab . Note how there is a sequence of lithium atoms outside the electrode cell, extending inwards to the center of the system. These atoms are part of the central region , and are so-called surface atoms . The number of surface layers is controlled via the parameters called Surface Layers and can be set separately for the two (left/right) surfaces . It is sometimes necessary to use different values to obtain a symmetric coordination of the atoms in the central region to the surface. In the surface regions, the electron density in the electrodes is allowed to differ from its bulk equivalent. If these regions are not long enough, such that the influence of the central region is not sufficiently screened by the surface layers, the resulting transmission spectrum will not be accurate. If, on the other hand, the surface regions are taken too wide , the calculations will take unnecessarily long time. For our calculation, two Li atoms is reasonable, and we set both left and right Surface Layers to 2.

There is no strict rule for choosing a proper width of the surface region, although a good guess (at least for metallic electrodes) is to use a value that gives a surface region width comparable to the screening length. The recommended approach is to choose a conservative and small value for the Surface Layers, and then increase it systematically until the results converge.

All in all, as we see the default suggestions for both the electrode cell and the surface layers provided by VNL are sufficient for this system, and we do not have to change any parameters.

We will complete the two-probe system in the next section.

Linear chain – the central region

We still have to put in the hydrogen molecule in the central region to complete our first two-probe system.

1. Import the hydrogen molecule

Select the hydrogen molecule file and drop it on the open Atomic Manipulator window. Now, we just need to position it properly between the electrodes.

2. Rotate the molecule

We used the X axis as the molecular axis earlier, so in order to make a chain in the Z direction we need to rotate it first. In this case, we may simply move the X coordinates to the Z coordinate column. A general and more powerful operation for rotating a molecule is also available:

  1. right-click the molecule

  2. choose Rotate from the context menu

Clearly we can obtain the desired orientation of the hydrogen molecule by rotating it 90° about the Y axis.

After closing the rotate dialog box, notice that the coordinates of the molecule are unchanged. This is because the numbers in the table for the atomic positions are internal coordinates referring to a given local coordinate system centered at a local origin. Each molecule has such a local coordinate system, which in turn provides a convenient method for controlling both the internal configuration of each molecule as well as the global orientation and position of all molecules.

So, in order to position and orient the hydrogen molecule as desired, we need not change the coordinates, but merely provide a new origin and orientation. As noted above, the desired orientation corresponds to a single rotation of 90° about the Y axis. Instead of using the rotation tool, we could have entered this in the Orientation fields directly. In more complicated cases, however, it is not always this obvious to determine the orientation; in this case, the rotation tool is more intuitive tool to use.

3. Align the molecule with the electrode surface cell

We now need to position the local coordinate system of the hydrogen molecule with respect to the global origin. Since the size of the tetragonal Li unit cell in the X and Y directions was chosen as 9.6 Å, we set the X and Y origin to 4.8 Å to center the atoms in the cell.

4. Position the molecule between the electrodes

The remaining task is to position the molecule in the Z direction. Ideally, the atomic distances in this direction should be determined by relaxing the system to minimize the energy and the interatomic forces. This is a time-consuming process, which yields a H-H chain distance larger than in a free hydrogen molecule, about 0.98 Å. The Li-H separation is in turn smaller than the lattice constant in the chain (which is 2.88 Å); about 2.18 Å is a reasonable value.

As an example of the power of using internal coordinates in action, let us therefore change the X position of the second H atom to 0.98 Å. To actually see the molecule while working on it, set the Z coordinate of the Origin of the molecule to 13 Å.

Next, determine the position of the last Li atom in the left electrode by positioning the mouse over it (do not click it, just leave the mouse cursor placed over). If you did not change any other values, it should be positioned at 3*2.88=8.64 Å.

[Note] Note

The left electrode is the one with the axes attached to it; you may have to rotate the camera to actually have the left electrode to the left in the plot!

In order to position the left hydrogen atom 2.18 Å to the right of the last Li atom, it should sit at 10.82 Å. This can be achieved in a very simple and general way.

Right-click the atom you wish to position (i.e. the hydrogen atom closest to the left electrode), and choose Translate from the context menu. In the dialog that appears we can read off the absolute position (i.e. its coordinates in the global coordinate system); change the Z coordinate to 8.64 Å to position it on top of the last Li atom in the electrode. Click Apply ; the molecule seems to disappear, but that is just because it lies “inside” the Li atom. Note that the translation operation applies to the molecule as a whole (i.e. does not change the internal coordinates), but the position displayed refers to a specific atom, namely the one which was right-clicked to open the dialog.

Next, Translate the molecule 2.18 Å to the right, click Apply, and then Close. Hover the mouse over the left hydrogen atom to verify that the position was set properly.

Obviously, we could immediately have set the Position of the atom in the Translate dialog box to 10.82 Å, but the method described above is generally very useful.

[Note] Note

If you forgot to change the distance between the hydrogen atoms earlier, and instead modified it after positioning the molecule, the position of the left atom will not be correct any more, since the right hydrogen atom has been positioned at the origin of the internal coordinate system. In general, be aware that changes to the internal sample of the molecule also may modify its alignment. For instance, had we chosen a counter-clockwise rotation of −90° for the hydrogen molecule, we could have changed the bond length without moving the left atom.

5. Position the right electrode

Finally, we need to position the right electrode with respect to the right hydrogen atom. The Z coordinate of this H atom is 11.80 Å, and to set the desired distance (again 2.18 Å) to the electrode, we right-click the first atom in the right electrode (the atom closest to the hydrogen molecule) and again choose Translate from the context menu. Set the Z coordinate of this atom to 13.98 Å. Clearly, it is not possible to move the electrode in the X and Y directions.

The finished setup of the Li-H2 two-probe configuration.

Figure 29: The finished setup of the Li-H2 two-probe configuration.


Note that the parameter width of the central region on the Region tab changed as a result of the above operation. This particular parameter essentially describes the amount of empty space that should reserved for the molecule between the two electrodes. You may also specify the parameter, either by

  • dragging an electrode using the left mouse button while pressing Shift

  • simply typing in a new value

The first approach demonstrated above provides the necessary control of the distance between the atoms in the central region and the right electrode, and is the recommended way for setting the width of the central region. Nevertheless, in some cases, it is straightforward to determine the width of the central region, which is defined as the distance between the two outermost layers of the electrode surfaces. In that case, simply type in the value of the width of the central region parameter.

6. Store the two-probe configuration

Once the two-probe system is finished, save it as a NanoLanguage script by clicking Save/Save As; accept the suggested file name or choose a descriptive label your self.

In the next section, we will consider a more advanced two-probe system, namely a molecule between two metal surfaces .

Molecule between metal surfaces

In the previous section, we studied a very basic two-probe system composed of linear chain electrodes . We will now move on to a somewhat more complicated and more realistic system.

The next system we consider is one of the benchmark structures for molecular electronics namely a dithiol-benzene (DTB) molecule positioned between two Au [111] surfaces. A disadvantage of this system is that gold has 11 valence electrons resulting in very time-consuming calculations. To overcome this bottleneck, we will therefore use lithium electrodes instead of gold . Of course this means that the results will not really be comparable with the original system, but the aim of this tutorial is just to demonstrate the functionality of VNL. Once you know how to set up the structure with Li, it is a trivial matter to replace Li by Au, and redo the calculations.

1. Define an fcc Li crystal

To define the Li electrode, we start out with the Crystal Cupboard. Select the Au template, and press Save/Save As. Then drag-and-drop the stored NanoLanguage script onto the Atomic Manipulator tool. Change the basis atoms to Li on the Basis tab, but keep the Au lattice constant. In this way, you can later compare the results with those of the original DTB system.

To define a fcc Li crystal, we use the Au fcc template from the Crystal Cupboard, and add to the Atomic Manipulator. With this tool, we can exchange the Au basis atomsbasis atoms with Li atoms.

Figure 30: To define a fcc Li crystal, we use the Au fcc template from the Crystal Cupboard, and add to the Atomic Manipulator. With this tool, we can exchange the Au basis atoms with Li atoms.


Note that the configuration is still called Au in the Manipulator, so it is a good idea to rename it by right-clicking the left panel and choosing Rename from the context menu.

2. Cleave the Li crystal

Right-click the left panel and choose Cleave from the context menu. Clicking the Surface tab, we then see that the default cleaving plane is [001]. It is however simple to cleave along any desired plane, by just editing the Miller indices [hkl]; in our case, we wish to use [111].

When you cleave the bulk along the [111] plane, observe that the surface unit cell contains three atoms (or, more generally, three layers, as indicated in the dialog). This is because the cleaving does not actually produce a general surface based just on the Miller indices, but rather one that can be used as an electrode in a two-probe configuration. For this to be possible, the cell must first of all have two surface unit vectors (called SA and SB in the interface) perpendicular to the transport direction. In addition, the electrode cell should be periodic in the transport direction . While it is not always possible to satisfy the latter requirement with an arbitrary combination of Miller indices and crystal symmetry, it is generally not a problem for cubic structures.

As discussed earlier, the default cell suggested by VNL is always the smallest periodic cell which includes all second-order matrix elements. If you would like to make an even more precise calculation, however, it is not sufficient to increase the number of layers to 4 or 5; this introduces a stacking fault; only layer sizes of 6,9,12,… will satisfy the periodicity requirement.

3. Set up the surface unit cell

One of the crucial things to keep in mind when setting up two-probe systems is that VNL uses periodic boundary conditions in the directions perpendicular to the transport direction (which always is the Z direction). Therefore, the two-probe system will be repeated periodically along the surface vectors SA and SB. As a consequence, a two-probe system is effectively always equivalent to a system where two infinite surfaces are linked together by an infinite number of central regions. From this view point, it is clear that the surface cell determines the distance between points where molecules can be adsorbed on the surface. As long as the distance between these points is large enough (compared, among other things, to the size of the molecule in the relevant directions), the results are independent of the boundary conditions .

The above consideration did not have to be taken into account for the Li chain system, since the lattice constants in the perpendicular directions were chosen large enough to ensure that these repeated copies did not interact with each other. This is not an option with the present Li-DTB system , as the surface unit cell is determined by the cleavage of the Li fcc crystal. We can, however, increase the distance between the repeated copies of the DTB molecule by extending the surface cell . In general, the surface vectors S1 and S2 can be expressed as linear combinations of the primitive surface vectors SA and SB, but unless there is a particular reason to change the shape of the surface cell, it is recommended to simply let S1 and S2 be multiples of SA and SB, respectively. The calculations will also run faster in this case, due to certain numerical algorithms implemented in ATK.

In our case, a 4x4 unit cell provides a sufficient separation of the DTB molecules, so we set S1=4*SA and S2=4*SB (see Figure 31).

Do the following to define a 4x4 [111] surface: Specify the Miller indices and the surface vectors on the Surface tab in the Atomic ManipulatorAtomic Manipulator: Surface tab. The Li atoms in the respective surface layers are automatically generated according to the specification of the surface unit cell.

Figure 31: Do the following to define a 4x4 [111] surface: Specify the Miller indices and the surface vectors on the Surface tab in the Atomic Manipulator. The Li atoms in the respective surface layers are automatically generated according to the specification of the surface unit cell.


4. Screening layers

Just as for the Li chain, we need to consider the screening layers. In fcc [111] structure, we have the stacking sequence ABC . Furthermore, as shown in the interface, the left and right electrodes follow the same sequence, if we “read” from left to right, whereas the layers on the right electrode are added “backwards”. If we wish both surfaces to be of the B-type, we need two surface layers, both to the left and to the right in order to achieve an [ABC]AB-BC[ABC] stacking ordering (with [ABC] being the electrode cell). On the other hand, if we wanted the surface to be an A-type, we would need 4 layers to the left and 3 layers to the right, that is [ABC]ABCA-ABC[ABC].

For this tutorial, let us use a B surface to reduce the number of atoms in the central region. This is achieved by setting the width of the left and right surface to 4 Å and 5 Å, respectively.

5. Import the DTB molecule

It is straightforward to build a DTB molecule from scratch in the Atomic Manipulator. This molecule is distributed as a VNLFile with VNL. So, in order to use the DTB molecule, just import it by choosing

  1. navigate to the examples/molecules directory under the installation directory

  2. open the DTB.vnl file.

[Note] Note

You may also find it interesting to have a look at some of the other examples shipped with VNL. Observe also, that it is possible to drag-and-drop VNLFiles onto VNL tools from a system folder.

6. Coordinate the molecule

The S atoms in the DTB molecule are generally assumed to sit above a hollow site of the surface. To find such a site, we can use the fact that the Li atoms in the surface layer form equilateral triangles, so we can pick any three atoms and find the center of mass by summing the X and Y coordinates and divide by 3. One choice of 3 atoms gives the result (1.44179, 5.82639) Å.

To find the coordinates of the atoms in the surface layer, it is convenient to hide the right electrode for the moment. Right-click the right electrode, and choose Properties from the context menu. Depending on the exact position of your right-click, the “Atom” entry of either the bulk (electrode) or surface will be selected. Above this tree level, there is an entry called “Li” (or “Au” if you forgot to rename it earlier!). Click this, and deselect the Visible option (see below).

The internal X and Y coordinates of the S atoms in the DTB molecule are (0,0); so to position the molecule correctly, we just need to use the values given above for the X and Y Origin of the entire molecule.

Of course, we also need to set the correct distance from the S atom to the left surface. We will use the value 1.70 Å, and since the Z coordinate of the Li atoms in the left surface layer (the B layer) is 9.41774 Å, we enter the value 11.11774 Å for the Z coordinate of the molecule Origin. This, however, places the molecule inside the left electrode, since the original origin of the molecule was not on the S atom, but at the center of the benzene ring. The internal Z coordinate of the left S atom is -3.15 Å, so to find the final position of the DTB molecule, we right-click the molecule and choose Translate from the context menu, and translate the molecule by 3.15 Å to the right.

7. Position the right electrode

The final step is to set the correct distance between the right S atom and the right electrode. Start by making the right electrode visible (follow the same steps, and tick the option Visible). Then right-click an atom in the right surface layer (in the B layer) and position it at 17.41774 Å (the Z coordinate of the right S atom) plus 1.70 Å (same separation as before), that is at 19.11774 Å, using the Translate function.

The finished setup of the Li-DTB-Li two-probe system.

Figure 32: The finished setup of the Li-DTB-Li two-probe system.


Click Save/Save As to save the two-probe setup in a file.

The third and final two-probe system we will investigate is a carbon nanotube. We will create the tube using the Nanotube Grower tool and then construct a “pseudo” two-probe system corresponding to perfect carbon nanotube; from there it should be easy to produce, for example, a nanotube with a defect to compute its electron transport properties.