Using the input generator
For this section of this tutorial please change into the tutorial directory.
Performing Fleur calculations on some material always starts with the specification of a (prototype)
unit cell. With this basic specification the Fleur input generator
inpgen then generates a Fleur input file with
a reasonable parametrization for the provided unit cell. In this section we discuss the basic usage of the input
In general the input for the Fleur input generator consists of the definition of the unit cell shape as well as the definition of the atoms and atom positions in the cell. Optionally some additional parameters can be set to override or modify the automatic procedure used to determine the parametrization in the Fleur input file.
Using the input generator starts by writing a small text file containing the configuration of the unit cell. For a simple Si crystal such a file might look like:
Si bulk &lattice latsys='cF', a0=1.8897269, a=5.43 / 2 14 0.125 0.125 0.125 14 -0.125 -0.125 -0.125
The first line of the file contains a comment. Here this comment is
Si bulk. Next comes the definition of the
crystal lattice. This is done in the
&lattice line. It starts with the specification of the lattice system
cf specifies an fcc lattice. The line is completed with the setting of some parameters. In this
case the parameter
a is the lattice parameter of the fcc lattice and
a0 is a factor that is multipied to all
lattice parameters. Note that the input generator expects the lattice specification in units of Bohr radii (). But since
in this example
a is provided in Angstrom we need the factor
a0 to convert it to units of .
In the next part of the inpgen input the atom positions are specified. This starts by providing the number of atoms in the
next line. For this example system there are
2 atoms in the unit cell. The following lines define the atomic numbers
and related atom positions in internal coordinates, i.e., in coordinates of the Bravais lattice vectors.
14 is the atomic
number of Si and the two atoms are at and .
Consider that the name of the
inpgen input file is
inpSi.txt, a call to
inpgen may look like:
inpgen -f inpSi.txt
With this command
inpgen will generate a basic Fleur input file
inp.xml. In addition a file
sym.xml containing the symmetry
operations and a file
kpts.xml containing sets of k-points will be generated. These additional xml file are actually included into inp.xml
by the parser and can also be included directly in the file. (See corresponding documention for inpgen).
Furthermore a file
struct.xsf is generated. This is an XCrysden structure file that can be used to visualize
the just defined unit cell, e.g., to check for complex structures whether the setup is as expected. The output of the input
generator can be found in the file
out. If there are problems in generating the Fleur input file hints for the reason
might be found in this file or directly on the terminal. The generated file
FleurInputSchema.xsd is temporary. It is
generated in every
fleur run and only contains the formal specification of the Fleur input file format.
By changing into the directory
inpgen in the file view to the left of this notebook you can find the input and output files of the last example in which you run the input generator. You now can open an editor view of
inpSi.txt to modify this file. As an alternative you could open a terminal and use the nano editor.
For example you could now modify the
inpSi.txt by specifying a different XC-Potential and overwritting the default of 'PBE'.
to do so, add a line with:
&exco xctyp='vwn' /
at the end of the file.
inpgen -f inpSi.txt
Running the input generator again will lead to an error as the inpgen by default will not overwrite existing
inp.xml files. You can force the programm to overwrite the file or delete it beforehand.
inpgen -overwrite -f inpSi.txt
The FLEUR input file: inp.xml
Have a closer look at 'inp.xml' and identify in it the different cutoff parameters and other numerical parameters used for the FLAPW method and for DFT in general. We will discuss the contents. The proper choice of the parameters is not a topic of this tutorial. Here we will mostly rely on the default values. If you perform real research with Fleur make sure that you obtain results that are also converged with respect to the parameters.
As you can see even for this very simple Si crystall the actual input for the fleur code is rather long. In general you will find the following sections:
- a comment taken from inpgen
- a section
calculationSetup containing most switches controlling the setup. If you used other DFT codes before you will probably recognize settings like those of the used XC-Functional or cutoffs used for the plane waves
cell section containing the actual unit cell, the symmetries of the system (included from sym.xml) and the information on the Brillouin zone integration with the k-point set
atomSpecies section in which details about different atomic species used in the calculation are defined. In pseudopotential codes a lot of these settings are actually 'frozen' into the generation process of the pseudopotentials.
atomGoups section with the information about atomic positions and species. The atoms are grouped according to the symmetry of the system, which might lead to atoms being equivalent due to symmetry.
- and finally an
output section in which you can control some aspects of the calculation to produce special output.
inpgen code generates defaults for most of the parameters and writes a standard
inp.xml file. You should know that not all possible input is present in the file as fleur supports additional optional parameters. Please have a look at the corresponding page of the documentation for reference.
Summary of inpgen
In this example we used the input-generator
inpgen to construct the input for FLEUR starting from some basic minimal input. Please remember that:
inpgen provides you with defaults that should be appropriate, but in some cases you might have to adjust the default parameters.
- In the documentation you will find examples to provide additional input to fine-tune your setup.
inpgen also is the k-point generator for fleur.