Building Crystals and Slabs

In this tutorial we demonstrate the working of several tools that combined give you great flexibility to build periodic structures.

If you are not interested in periodic structures (for example, if you only use ADF), you can skip this tutorial.

The instruments at your disposal are:

  • The crystal structures tool CrystalTool.

  • The predefined crystal structures in the database (via the search field).

  • CIF file importer.

  • Crystal builder from space group information.

  • Super cell tool to enlarge the unit cell.

  • Slice tool to cut out slabs from any crystal.

To use these tools you need to use AMSinput in periodic mode. For example, by switching to the BAND mode, or by switching to DFTB or Mopac and next changing the periodicity.

See also

More information about modeling crystals and slabs in AMS: see the Crystals and Surfaces tutorial.

The Crystal Structures Tool

If you are lucky your crystal structure is already included in AMSinput. Most of the common structures are there. NaCl is one of them.

Start AMSinput (SCM → New Input) and switch from ADFPanel to BANDPanel (or to DFTB, and switch the periodicity to ‘Bulk’)
Click on the snowflake-like pictogram CrystalTool on the toolbar.
Select a Cubic lattice and then NaCl
/scm-uploads/doc/Tutorials/_images/StructureTool_SelectNaCl_57703638.png

Next a builder menu will appear on the right-hand side, where you can change the parameters of the structure, such as lattice constants

/scm-uploads/doc/Tutorials/_images/NaClDialog_641404e5.png

In this case there is no need to change anything.

Click OK
View → Periodic → Periodic View Type → Repeat Unit Cell
/scm-uploads/doc/Tutorials/_images/NaClRepeatUnitCell_23316817.png

You can adjust the details like lattice constants by hand. For example LiF: it has the same crystal structure as NaCl, but other elements and a different lattice constant, namely 4.02:

CrystalTool → Cubic → NaCl
Change the lattice constant and the elements as shown below
Click OK
/scm-uploads/doc/Tutorials/_images/LiFDialog_1dcf6451.png

The NaCl crystal structure will be replaced by the new LiF crystal structure.

Some crystal structures have more parameters.

CrystalTool → Tetragonal → Rutile
Click OK
/scm-uploads/doc/Tutorials/_images/RutileDialog_59f43b45.png

As you can see, it has two lattice parameters that need to be specified. But now also the positions of the oxygens have a parameter “x”

After clicking OK your screen will look like this

/scm-uploads/doc/Tutorials/_images/TiO2Rutile_93615b70.png

The Crystal Structures Database

All crystal structures known to the crystal structures tool are also available via the search tool.

Just as you can search for a molecule, you can search for a crystal. So lets make NaCl again:

File → New
Click on the search icon, or press Cmd/ctrl-S
Type ‘NaCl’ (without the quotes)

You should get a couple of matches:

/scm-uploads/doc/Tutorials/_images/SearchNaCl_75e7f5cd.png

Select the NaCl crystal result (not the molecule!):

Click on the ‘NaCl’ search result (in the Crystals section)

You now should have a NaCl crystal again.

Currently the structures of many simple crystals are included, as well as a few complex structure (optimized by MOPAC). The zeolite frameworks are also included as a starting point to make your zeolite structure.

Crystal builder (from space group information)

The structure database is very convenient but by necessity incomplete. A more powerful approach is to build 3D crystals from the space group information. Here we give an example on how to build TiO2 (Rutile) again, now from its space group.

Open the crystal builder:
Click on CrystalTool → New From Space Group …
/scm-uploads/doc/Tutorials/_images/FromSpaceGroup_c235078d.png

And the following menu will appear on the right-hand side:

/scm-uploads/doc/Tutorials/_images/CrystalBuilder_230e239c.png

Rutile has the symmetry of space group 136

Enter 136 in the space group Number field, and press return/enter.
Set the lattice parameters a to 4.59 and b to 2.96
Click on AddButton next to Coordinates, select Ti atom and a site
Click on AddButton again,. Select O atom and f site, and set x=0.3

The final should look like this:

/scm-uploads/doc/Tutorials/_images/RutileFinalDialog_ce89e846.png
Press Apply and then Close
/scm-uploads/doc/Tutorials/_images/RutileFinal_ea9f9b5e.png

In the toolbar there is another tool that may be of use: the star button. Just like for molecules this button will try to detect the symmetry of your system and make small changes to adjust to perfect symmetry. It does this via spglib, see the help balloon for details.

Click the Symmetrize button (the star in the toolbar)

You already had perfect symmetry, so nothing much changes. The detected symmetry should be reported:

/scm-uploads/doc/Tutorials/_images/RutileSpglib_a32dc281.png

You can view a larger part of the crystal and still see the unit cell clearly:

Right-click on the periodic display button (the 4 dots)
Select: Repeat Unit Cell (Custom)
In the dialog that pops up type 2 in the top-left cell (other elements will follow)
Click OK
Use ctrl/cmd-J and ctrl/cmd-K to make neighbor cells more or less transparent (or use the menu commands in the View menu)

This will give you a view like this:

/scm-uploads/doc/Tutorials/_images/RutileTransparent_a440524b.png

Slicer: building slabs, transform primitive to conventional cell

The slicer is a very easy, yet powerful tool to make slabs from any crystal structure. In this example we build a three layer slab of the Cu(111) surface.

CrystalTool → Cubic → fcc | Select fcc from the “Cubic” crystals

The element and lattice constant are already correct for Cu.

/scm-uploads/doc/Tutorials/_images/FccDialog_e0152a70.png
Press “OK” to generate the Cu lattice
View → Periodic → Periodic View Type → Repeat Unit Cell if needed
/scm-uploads/doc/Tutorials/_images/CuLattice_3ab9fb18.png

Let us invoke the slicer tool to cut out the slab.

Click on the SliceTool slice tool, or select CrystalTool → Generate Slab.

The right side of the AMSinput window will show the Generate Slab options.

If you hold your mouse over the Miller indices fields, you should get a balloon that explains how to set the proper Miller indices. In this particular example we have the primitive unit cell of Cu, so first we need to convert to conventional unit cell.

Click on the Convert to Conventional Cell button.
Set the number of layers to 3
Set the Miller indices to 1, 1, 1
/scm-uploads/doc/Tutorials/_images/Dialog111Cu_6a2b8f89.png
Press Generate Slab

You will see (from the top), if the PeriodicViewTool periodic view tool is activated,

/scm-uploads/doc/Tutorials/_images/Cu111Top_a0f15da4.png

You may want to rotate it or select View → View Direction → Along X-axis to convince yourself that it is a three layer slab.

/scm-uploads/doc/Tutorials/_images/Cu111Side_721ca0da.png

Creating a supercell

Quite often you want to use a larger unit cell. You can do this for chains, slabs, and crystals, but we will demonstrate how it works for a slab.

We will continue to work with the 3-layer Cu slab:

Select the Edit → Crystal → Generate Super Cell… command

Thus invoking the Super Cell Tool

/scm-uploads/doc/Tutorials/_images/SuperCellTool_5d58ca6e.png

Here you see how new lattice vectors are expressed in terms of old ones. Because we have a slab this is a 2x2 matrix.

Use the default (2 on the diagonal)
Press OK

and you get a bigger unit cell with three atoms per layer:

/scm-uploads/doc/Tutorials/_images/Cu111S3_a19f1361.png
Close AMSinput