Atomistic system generation

This is the first in a series of short articles introducing some of the key features of vampire and how to use the software. By way of introduction we are going to cover how to create a single magnetic grain with atomistic resolution.

Step 1

In vampire the system generation is specified by the input file. The first property to define is the crystal structure of the material. There are a number of in-built crystal structures available, but for this example we will specify a face-centred-cubic crystal. This is done by specifying the following line in the input file:


Step 2

The next property to define is the particle shape. The default setting is to include all generated atoms in the system, so essentially a box. As with crystal structures there are a number of particle shapes predefined in the code, and for this example we will choose a cylindrical shape. This is done by including the following code:


Step 3

With the crystal structure and shape defined, the last requirement is to define the system dimensions. vampire generates atoms by replicating the unit cell the appropriate number of times in a box defined by the dimensions system-size-x, system-size-y and system-size-z. The number of unit cells in a given box size depends in the unit cell size unit-cell-size, and so we define this using:


which sets the cell size to 3.54 Angstroms. Finally we define a box 5 x 5 x 5 nm in the input file using the code:

dimensions:system-size-x=5 !nm
dimensions:system-size-y=5 !nm
dimensions:system-size-z=5 !nm

The default unit of length in vampire is angstroms, but one of the useful features of vampire is to specify a different unit in the input file for various properties such as distances, energies, fields etc. This is done using the exclamation character after the variable value. For example all the following are valid units:


Step 4

The cylindrical particle is now cut from the box of atoms and so the last parameter to define is the particle size using:

dimensions:particle-size=5 !nm

For a cylinder this defines the diameter of the cylinder. The vertical extent of the cylinder is the same as the box, ie dz. Running the code and using the povray output utility we can then generate an image of the system, as shown below.

Visualisation of cylinder