Films setup in FLEUR
Setting up the input and obtaining self-consistency
MoS2 is a transition metal dichalcogenide that crystallizes in a layered structure in which each layer is represented as a honeycomb lattice with a 3-atomic basis. The interlayer-bonding has a Van-der-Waals nature which translates into a large interlayer distance. Single layers of this material can also be exfoliated to obtain a 2D material. In this exercise we consider such a single MoS2 layer as a thin film system. The inpMoS2.txt inpgen input in the MoS2 subdirectory describes the unit cell starting point we use for the calculations. Change into the subdirectory and display the file.
cd MoS2/ ; cat inpMoS2.txt
&input namelist here specifies that this is a film system (
film=T). Next comes the Bravais matrix which is scaled according to the two lines following it. The first line is a general scaling parameter for the Bravais matrix, the second line specifies scaling parameters for each column of the matrix separately. Note that a scaling of '-3' actually means a scaling with . The last entry ('30.00') is just a large number which only ensures that the film fits into the here-specified unit cell. It is automatically reduced to a reasonable value by the program.
For film systems the last atom coordinate is always cartesian. This is why we have larger numbers in comparison to the other two coordinates which are provided in terms of Bravais lattice vectors. There are more scaling parameters for the atom positions below the last atom position entry. The atom positions are divided by these numbers. Here these scaling parameters are .
Note that the x and y atom positions are supposed to be at and . We provide these numbers with a precision better than . With such a precision they are automatically turned into the exact values. A less precise specification of the atom positions will lead to a reduced set of symmetry operations being detected. A consequence of this is the generation of a k-point set that breaks the non-detected symmetries resulting, e.g., in the calculaton of inaccurate forces that are not compatible with all symmetries actually present in the system. Of course, such a problem can be overcome by using a very fine k-point mesh, but it is more efficient and precise to make sure that all relevant symmetry operations are included in the calculation. You can also directly provide the exact fractions by using the scaling factors. With this the atom positions would look like:
42 1.0 2.0 0.0 16 2.0 1.0 2.85 16 2.0 1.0 -2.85 &factor 3.0 3.0 1.0 /
The z-position of the sulfur atoms provided in this inpgen input is only a guess. In this exercise we will optimize this position with respect to the forces on the atoms and compare the band structures with and without the relaxation.
Use the inpgen input to generate a Fleur input for the MoS2 monolayer. The film-specific parametrization in the Fleur input manifests in the
/cell/bulkLattice element being replaced by
/cell/filmLattice. In that new tag you find the attributes dVac and dTilda defining the film thickness. The vacuum energy parameters are specified in the
/cell/filmLattice/vacuumEnergyParameters tag relative to the vacuum level at an infinite distance from the film.
inpgen -f inpMoS2.txt
As will use the seup for the calculation of forces (F6), we now perform some adjustments already. The movement of atoms requires nonoverlapping MT spheres for the atom configuration after the movement. For this we will first adjust a few parameters in the
- Set the number of iterations (
/calculationSetup/scfLoop/@itmax) to 50. The convergence here is not problematic. Therefore this just leads to the "minDistance" convergence criterion ending the calculation.
- Multiply the MT radii for the atoms by to allow atom movements without overlapping spheres. The radii can be set in
/atomSpecies/species/mtSphere/@radius. This is a general adjustment advisable for force relaxations. Later it will turn out that for this example this additional buffer between the MT spheres is actually not needed because the atoms move away from each other. Note that Fleur understands simple mathematical expressions for many parameters in its input file. You can actually write something like (there are no spaces within such an expression allowed):
<mtSphere radius="0.95*2.38000000" gridPoints="787" logIncrement=".01600000"/>
Forces are calculated once the density convergence criterion is met if the respective switch (
/calculationSetup/geometryOptimization/@l_f) is set to "T". But setting this switch has to be done at a later stage and not now.
Open an editor and modify the
inp.xml file as sketched above.
Run Fleur to reach self-consistency.
Obtaining the work function
For a Kohn-Sham system the eigenenergy of the highest occupied state has a strict physical meaning. In Fleur the definition of the Fermi energy at 0K (
grep Fermi out.xml) coincides with this quantity. For thin films we can relate this to the vacuum level at an infinite distance from the surface (
grep vzInf out.xml) to calculate the work function
for a material. If possible Fleur sets the vacuum level to , but this can only happen if the vacua on both sides of the film are identical. For the relaxed structure: What is the value for the work function of the MoS2 monolayer?
grep Fermi out.xml
grep vzInf out.xml
Thin film calculations can be used to calculate the properties of surfaces of bulk systems. For this the film thickness has to be increased until the quantities of interest reach stable values. Depending on the material one may either need only few atomic layers of even more than 20 or 30.