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.