Atomsk

The Swiss-army knife of atomic simulations

Tutorial: Cubic and Cylindrical Nanopillars

In this tutorial, you will learn how to construct nanopillars of different shapes and crystal orientations.

▶ For more information, refer to the corresponding documentation page.

1. Create a cell with the desired orientation

Before creating the nanopillar, we need a cell of bulk material. This cell must have the crystal orientation of the final nanopillar. For example, let us create a supercell of gold:

atomsk --create fcc 4.08 Au -duplicate 40 40 40 Au_cell.xsf

Alternatively one can create a unit cell with a specific crystal orientation:

atomsk --create fcc 4.08 Au orient [110] [1-10] [001] -duplicate 40 40 30 Au_cell.xsf

You can also create a unit cell with a different orientation, with Atomsk or with another program. No matter what unit cell you use, in the following it is assumed that it is called "Au_cell.xsf".

2. Nanopillar of cubic shape

In order to "carve" a nanopillar in the supercell, we want to remove all atoms that do not belong to the nanopillar. In Atomsk this can be achieved with the option -select. For instance, to create a rectangular nanopillar, we select atoms that are outside a rectangular box, and then remove the selected atoms:

atomsk Au_cell.xsf \
-select out box 0.2*box -INF 0.2*box 0.8*box INF 0.8*box \
-remove-atom select \
nanopillar.cfg

Visualization with Atomeye shows how the system was cut:

Alternatively, it may be desirable to leave some layers of atoms at the base of the nanopillar. This can be achieved by using the option "-cut", instead of the option "-remove-atoms". For instance, let us leave a layer of 20 Å at the bottom of the cell:

atomsk Au_cell.xsf \
-select out box 0.2*box -INF 0.2*box 0.8*box INF 0.8*box \
-cut above 20 Y \
nanopillar.cfg

As explained in a previous tutorial, this option will "cut" (i.e. remove) all atoms that have a Y coordinate greater than 20 Å. However, since it is used after the option "-select", only selected atoms are removed. As a result, only atoms that are outside of the pillar and that have a Y coordinate greater than 20 Å are removed:

This example shows that after the option "-select" is used, the following options apply only to the selected atoms (and not to all atoms).

3. Nanopillar of cylindrical shape

The principle is very similar to the previous example, except that in the option -select we will select a cylinder. One must provide the axis of the cylinder (here Y), its position in the plane normal to that axis (here at the center of the box), and its radius in Å:

atomsk Au_cell.xsf \
-select out cylinder Y 0.5*box 0.5*box 40 \
-cut above 20 Y \
nanopillar.cfg

This time the nanopillar will indeed have a cylindrical shape:

4. Array of nanopillars

Once you have created a nanopillar, it is quite straightforward to generate an array of nanopillars: simply use the option "-duplicate". For instance, to duplicate the cylindrical nanopillar created above:

atomsk nanopillar.cfg -duplicate 3 1 3 array.cfg

5. Other lattice types

With the examples above, you can easily modify the size of the box, the radius of the nanopillars, their crystallographic orientation, and so on.

You may also begin with a unit cell of a different element, with a different lattice (e.g. diamond or hcp), and then use the commands above to generate nanopillars.

After you learn how to generate a polycrystal with Atomsk, you may even use such a polycrystal as a starting cell, and carve a cylinder into it, as shown in the example below!