Creating atomic structuresΒΆ

ASE contains a number of modules for setting up atomic structures, mainly molecules, bulk crystals and surfaces. Some of these modules have overlapping functionality, but strike a different balance between flexibility and ease-of-use.

Common bulk crystals

The ase.lattice.bulk() function can be used to create the most common bulk crystal structures. The function creates a single unit cell oriented such that the number of atoms in the cell is minimal.

Read more: Common bulk crystals.

Common surfaces

The ase.lattice.surface module contains a number of functions for creating the most common surfaces in a minimal unit cell, and for adding adsorbates to these surfaces.

Read more: Surfaces.

Nanotubes and nanoribbons

The functions ase.structure.nanotube() and ase.structure.graphene_nanoribbon() can be used to create Carbon nanotubes and graphene sheets or nanoribbons. Per default, they create Carbon nanotubes and sheets, but other elements can be used.

Read more: Nanotubes and Graphene nanoribbons.

Generally oriented bulk crystals and surfaces

The ase.lattice module contains functions for creating most common crystal structures with arbitrary orientation. The user can specify the desired Miller index along the three axes of the simulation, and the smallest periodic structure fulfilling this specification is created. Thirteen of the 14 Bravais lattices are supported by the module, as are a few lattices with a basis, and lattices for some of the most common compounds/alloys. The modules makes it possible to define further lattices based on the supported Bravais lattices.

Both bulk crystals and surfaces can be created.

Read more: General crystal structures and surfaces.

Molecules

Some common molecules can be constructed using the ase.structure.molecule() function.

Read more: Molecular data.