Periodic systems

Table of Contents

Virtual NanoLab (VNL) is also capable of handling periodic systems. Let us first briefly look at a bulk crystal, and then move on to a linear chain of atoms, which we later will use a one of the building blocks for constructing a two-probe system.

1. Open the Crystal Cupboard

The Crystal Cupboard contains over 500 predefined crystals. You are free to include any of these directly in the calculations, or use them as templates and modify certain parameters, such as the lattice constants or the chemical species of the atoms in the unit cell.

Launch the Crystal Cupboard tool by double-clicking the associated icon on the VNL Toolbar. Then browse down the list to locate Li (beta) (the stable phase of Li (bcc) at room temperature) . The lattice constant is already provided, corresponding to the experimental value. Note, that other allotropes of Li also are shown in the list: these are low-temperature phases , as indicated in the Crystal Information box. Here you can also find details about the lattice parameters and other relevant quantities.

The bcc Li crystalbcc Li crystal in the Crystal Cupboard.

Figure 26: The bcc Li crystal in the Crystal Cupboard.


In the Preview window, you will find a visualization of the atoms in the basis and the primitive unit cell, spanned by the three primitive lattice vectors. In VNL, these are labeled A, B and C. The view can be rotated, zoomed, and panned in the same way as in the Nanoscope tool.

2. Create the crystal configuration

Click Save/Save As to create a NanoLanguage script containing the crystal configuration.

[Note] Note

General periodic structures, which are not covered by any of the templates in the Crystal Cupboard, can be defined externally using a NanoLanguage script. The resulting script can then be used in VNL as any other VNL generated script file.

3. Visualize the crystal

Drop the new NanoLanguage script containing the Li crystal on a Nanoscope tool. By default, the basis (a single atom in our case) and the primitive unit cell are displayed. However, when viewing periodic systems in the Nanoscope, the option Repetition is available under Bulk Atomic Configuration in the Properties dialog . Use this to repeat the basis a given number of times in the directions of the primitive lattice vectors, and in this way visualize the structure of the periodic crystal. The repetition option is also available in the Crystal Cupboard.

As another example of a periodic system, we will study a linear chain of Li atoms.

One-dimensional linear chain

As the second example of a periodic system, we will consider a linear chain of lithium atoms .

The numerical methods used in VNL cannot handle truly one-dimensional systems, but we can always represent a linear chain as a crystal with an artificially large lattice constant in two directions. This symmetry corresponds exactly to a tetragonal lattice, and we will use this for our one-dimensional system, although in reality it means that we will rather be studying a bundle of chains. However, as long as the distance between the chains is kept sufficiently large, interactions between different chains can be completely neglected.

1. Open the Crystal Cupboard

Return to the Crystal Cupboard. Use the Search function to locate the available tetragonal lattices (type in tet in the search field and click the button). Among the results returned, you will find a template for a linear chain.

2. Manipulating a crystal template

The provided chain is defined with a carbon atom instead of lithium, but we can easily change this by doing the following:

    1. press the Save/Save As button to store the bulk configuration as a NanoLanguage script.

    2. drag-and-drop the saved script onto the Atomic Manipulator tool.

    1. position the cursor in the 3D preview window of the Crystal Cupboard.

    2. hold down the Z key and then drag-and-drop the crystal configuration onto the Atomic Manipulator tool.

This open in the crystal template in the Atomic Manipulator tool, where we can modify the elements in the basis, as well as the lattice constants.

First of all, we need to replace the carbon atom by lithium. Click the tab Basis, and change “C” to “Li” in the drop-down list. Then switch back to the Lattice tab, where we will set up the lattice constants. For later purposes, we need the chain to be directed along the Z direction, so we need to make sure that the lattice constant in this direction is the right one for a chain of Li atoms. In fact, a distance of 2.88 Å between the Li atoms corresponds to a minimum in the total energy, so we enter this value for the c lattice constant. The lattice constants in the other two directions provides the spacing between the repeated copies of the chains, which we will set to something large, like 10 Å. The interested user can perform a whole series of calculations to check how large the separation needs to be in order to obtain converged results.

The linear lithium chain as it is defined in the Atomic Manipulator. In this figure, we have also used the possibility to repeat the basis twice in the A and B directions A /B/C directions and 6 times in the C direction, to show how the periodic boundary conditions effectively give rise to an array of chains, with a large separation in the A and B directions. The box shows the unit cell.

Figure 27: The linear lithium chain as it is defined in the Atomic Manipulator. In this figure, we have also used the possibility to repeat the basis twice in the A and B directions and 6 times in the C direction, to show how the periodic boundary conditions effectively give rise to an array of chains, with a large separation in the A and B directions. The box shows the unit cell.


3. Create the crystal configuration

To store the configuration to a NanoLanguage script, click Save/Save As, and choose the file name Li 1D chain.py.

We are now ready to look at transport properties of two-probe systems, the most interesting – and complicated – systems that VNL can handle.