Skip to content


This page gives hints on how to to specify a crystal, with atomic positions and symmetries with the ABINIT package.


In addition to the Specification of the unit cell and Atom types, ABINIT must know the number of atoms inside the cell, their type, and position. This is described by natom, typat and one of xred, xcart and xangst.

ABINIT can automatically detect the Bravais lattice and space group, and generate symmetries (e.g. nsym, symrel, tnons), from the primitive cell and the position of atoms (provided they are not too inaccurate, see tolsym). For this purpose, in the magnetic case, ABINIT will also take into account the input atomic spin, through the knowledge of spinat.

Alternatively, ABINIT can start from the specification of symmetries (either from spgroup or from the list of symmetries - nsym, symrel, tnons) and generate the atomic positions from the asymmetric (irreducible) part of the primitive cell. This is described in the Smart Symmetrizer topic.

ABINIT can treat antiferromagnetic symmetry operations, see symafm.

In ABINIT, a database with the 230 spatial groups of symmetry (see spgroup) and the 1191 Shubnikov anti-ferromagnetic space groups is present (see also spgroupma and genafm).

There is also a (non-graphical) atom manipulator in ABINIT, see topic_AtomManipulator.

ABINIT can read XYZ files, see xyzfile.

Atomic positions can also be generated at random, see random_atpos.

Details about the way the crystal structure is defined in ABINIT can be found here.


If AbiPy in installed on your machine, you can use the abistruct script to automate several operations related to crystalline structures. Further details about the python API are available in the AbiPy structure notebook .


  • xangst vectors (X) of atom positions in cartesian coordinates -length in ANGSTrom-
  • xcart vectors (X) of atom positions in CARTesian coordinates
  • xred vectors (X) of atom positions in REDuced coordinates



  • chkprim CHecK whether the cell is PRIMitive
  • nsym Number of SYMmetry operations
  • spgroup SPace GROUP number
  • spinat SPIN for AToms
  • symrel SYMmetry in REaL space
  • tnons Translation NON-Symmorphic vectors
  • tolsym TOLERANCE for SYMmetries
  • xyzfile XYZ FILE input for geometry


Selected Input Files




  • The tutorial 1 deals with the H2 molecule : get the total energy, the electronic energies, the charge density, the bond length, the atomisation energy
  • The tutorial 2 deals again with the H2 molecule: convergence studies, LDA versus GGA
  • The tutorial 3 deals with crystalline silicon (an insulator): the definition of a k-point grid, the smearing of the cut-off energy, the computation of a band structure, and again, convergence studies …
  • The tutorial 4 deals with crystalline aluminum (a metal), and its surface: occupation numbers, smearing the Fermi-Dirac distribution, the surface energy, and again, convergence studies …