Overview

The all-electron full-potential linearized augmented-plane-wave (FLAPW) method is a highly precise realization of density functional theory (DFT). It is often considered as a gold standard to measure the precision of other approaches. As the name suggests it treats all electrons in the framework of DFT and does not rely on the pseudopotential approximation. There are also no shape approximations to the potential involved, i.e., it is a full-potential method. It allows to describe electrons with adapted degrees of relativity based on the position relative to the atomic nuclei and the electron energy. Furthermore the LAPW basis used to represent the valence electrons is systematically extendable such that convergence with respect to the representation can be achieved and verified.

The Fleur code implements the FLAPW method. It allows the calculation of properties obtainable by DFT for crystals and thin films composed of arbitrary chemical elements. Besides standard properties such as the band structures, the density of states, typical for most DFT codes Fleur can also calculate a multitude of properties relevant for magnetic materials and phenomena. Complex non-collinear magnetic systems and systems with strong spin-orbit coupling can be accurately described. Different levels of parallelism (both MPI and OpenMP) as well as optimizations and ports for different computing hardware like CPUs or GPUs enable the deployment of Fleur on a wide range of computing resources up to the largest supercomputers.

The precision of the FLAPW method comes at the cost of complex parametrizations of the calculations. To simplify this Fleur employs a two-step calculation procedure. In the first step basic structural input is processed by the Fleur input generator. This program then creates a completely parametrized Fleur input file with material-adapted default parameters. In the second step the user typically modifies selected parameters in the Fleur input file and finally starts the calculation. This procedure implies that the user does not have to write the complex Fleur input file on his own, but an understanding of the file is required.

This user guide aims at teaching the interested user an understanding of the Fleur input file together with the general Fleur usage. For this the theroretical background chapter of the user guide presents the underlying theory as far as it is required for the understanding of the input file and connects it to the actual parameters in the input. The guide then continues in the next chapter by discussing the procedures needed to perform a range of specific calculations. In the chapter about expert knowledge and troubleshooting general knowledge about the FLAPW method and the Fleur code is discussed. This is relevant for all calculations.

To get in touch with the program early, the beginning of the user guide discusses a quick start. This implies instructions for the installation of Fleur, as well as a technical overview on how to use the program.

When performing actual calculations the knowledge from the first chapters of the user guide should be combined with the short descriptions of the input files in the reference. This is also the part of the user guide that is most important for experienced users. Note that the reference section also contains a list of journal articles that may be of interest to the user.

Throughout the user guide different notations are used to clearly express different aspects of the Fleur usage. In particular this applies to the description of the Fleur input file. This is an XML file. To address certain elements or attributes of this file the user guide makes use of the XPath notation. An XML element will be addressed as /path/to/element and an attribute as /path/to/element/@theAttribute. If it is clear from the context the paths may be shortened. For example larger XML sections will be highlighted in separate code blocks like

<enclosingXMLElement someBooleanAttribute="T" 
                     someFloatingPointAttribute="0.75*Pi">
   <xmlElementWithoutSubelements someIntegerAttribute="10" 
                                 someCharacterStringAttribute="Hello" />
   <!-- some comment -->
</enclosingXMLElement>

Note that the XML in these blocks may feature a slightly different format in comparison to its appearance in the Fleur input file. For readability within the user guide some lines are broken up into several lines and some numbers are reduced to less digits. Also other in- and output may be slightly reformatted in the user guide.

Beyond the XML highlighting text sections with special importance will also be emphasized in separate blocks. Especially text that directly addresses the input file will be highlighted like

In the Fleur input file you can place a comment in the /comment element.

The reader of this guide should also be aware that Fleur is in rapid development and the user guide may lag behind. This implies that certain capabilities of the code are not yet covered in the user guide and the usage of others may slightly differ. If you are interested in such a feature please contact the developers directly.