-
Notifications
You must be signed in to change notification settings - Fork 2
manage_cls
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.
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
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).