Skip to content

manage_cls

Julien Steffen edited this page Sep 29, 2024 · 10 revisions

This program manages core level shift (CLS) calculations with VASP of systems containing many atoms that shall be evaluated at once. Initial state core level energies can be calculated straightforwardly for all orbitals of all atoms in a system at once, but final state energies need to be calculated for each atom and orbital at once, since the overall electron density needs to be relaxed. This requires a lot of manual work. This program seeks to automatize everything, such that you can calculate initial state and final state energies as well as final state effects of many atoms (all of a certain element) in a system at once.

Setup mode

The setup mode prepares the folders with the global initial state calculation and one final state calculation per selected atom. In the current folder, all input files for a VASP final state calculation need to be present:

  • POSCAR (without separation of one atom to the end, as usual for FS)
  • POTCAR
  • KPOINTS
  • INCAR: In this file, all commands for a CLS calculation need to be noted (see section).

The orbital that shall be investigated in each atom of the chosen element needs to be noted there, for example:

ICORELEVEL = 2
CLNT = 4
CLN = 4
CLL = 3
CLZ = 0.5

Here, the 4f electron of the fourth species shall be excited. Note that the species number (CLNT) needs to be one larger than the number of species (elements) in the given POSCAR, since the excited atom in each FS run will be defined as a new separate species. So in this example, the POSCAR and the POTCAR files contain three different elements.

Further, you can prepare a slurm_script file to be used for the IS and each FS calculation.

Then, invoke the program, by specifying the atoms of which element in the system shall be exicted, for example Platinum:

manage_cls -setup -element=Pt

Now, a folder IS containing the initial state input as well as a number of folders with numbers (e.g., 65,66,67,68) are created. In the enumerated folders, the FS calculations of each atom of the chosen element are listed. In the example, atoms 65, 66, 67, 68 would be all Pt atoms in the system. Now, start all calculations manually.

Else, you can invoke the -slurm option to start all calculations automatically, if you have slurm on your system and prepared a slurm_script in the main folder.

manage_cls -setup -element=Pt -slurm

Evaluation mode

After you prepared and ran the CLS calculations with the setup mode, simply execute the following command in the main folder:

manage_cls -eval

Now, the initial state and all final state calculations are evaluated at once. The core level energies of the chosen orbital of the chosen elements are read in, corrected by the Fermi level and further referenced to the pure elemental state by comparing the energy to a predefined list of standard values such that they can be compared directly to experimental values.

Then, the FS, IS and FS-IS energies are plotted as pseudo-spectra, where all energies are broadened by a Gaussian. These spectra are stored in the files plot_fs.dat, plot_is.dat and plot_fs-is.dat.

Finally, the different core level shifts can be visualized spatially with the files show_fs.pdb, show_is.pdb and show_fs-is.pdb. Further, the ranges of energies for each type (FS, IS and FS-IS) are printed, for example:

- show_fs.pdb : Final state values (range:   69.45026  to   70.19829)
- show_is.pdb : Initial state values (range:   69.37304  to   69.86604)
- show_fs-is.pdb : Final state effect values (range:    0.07722  to    0.33225)

Open one of the files with VMD and go to Graphics -> Representations -> Coloring Method -> Occupancy. Now, the atoms will be colored according to for example their FS values.

If you have more than one element in your system, all atoms belonging to a different element were assigned values of zero. Therefore, the range is large, here from 0 to 70.19829, leading to all atoms of the chosen elements being colored blue. To change this, generate a new representation only for the chosen element (for example: name Pt in the representation specifier) and correct the range of energies by going to Trajectory in the Representations window and change there the values in the Color Scale Data Range to those printed out by the script (for example 69.45026 to 70.19829 for the FS pdb file).