Usage of symmetries

To speed up and guarantee the stability of calculations Fleur makes extensive use of symmetries. Symmetry operations which leave the unit cell unchanged are automatically detected by the Fleur input generator. The different atoms are then grouped into different types of symmetry-equivalent atoms.

In the Fleur input file the parametrization for the different atoms is placed in two different sections. In the atomSpecies section general parameters symmetry-independent parameters for the different species are set. In the atomGroups section the different symmetry-equivalent atoms are grouped together in atomGroups/atomGroup elements. The atom positions are specified there. Each atomGroup is connected to a certain species via the entry in atomGroups/atomGroup/@species adressing the species with the same entry in atomSpecies/species/@name. The terms atom group and atom type are synonymous for each other.

The symmetries found for a unit cell are also explicitely provided in the Fleur input file within the cell/symmetryOperations element.

Of course, the grouping of the atoms has to be consistent with the specified symmetry operations. Since it is cumbersome to ensure this consistency manually the preferred way to deal with symmetries is to invoke the input generator such that the symmetries do not have to be changed by the user afterwards.

For certain calculations the user should ensure in the input generator input that no symmetries are found that are inconsistent to the planned calculation. For this the user can discriminate between different atoms of the same chemical element to ensure that these atoms do not end up in the same atom group. For calculations involving spin-orbit coupling the user can define the spin-quantization axis in the input generator input. This axis can also break symmtries.

The usage of symmetries allows to subdivide the Brillouin zone into many irreducible wedges that are each equivalent to each other. The specified k point sets therefore only have to sample the irreducible wedge of the Brillouin zone (IBZ) and an integration over the whole Brillouin zone can be performed by assigning adequate weights to the k points in the IBZ and summing over them. The construction of the IBZ and the assignment of the weights to the k points is automatically performed by Fleur or the input generator.

In the Fleur input file k point mesh is specified within the calculationSetup/bzIntegration/kPointList elements, each specifying the k point set. For more information please consult the appropriate section in the reference section and the documentation of the input generator for a guide to generate k point sets.