This program implements the irreducbile representation projective approach for the calculation of onsite and intersite elastic couplings. The formalism is given in https://arxiv.org/abs/2402.15564. It is a post-processing program that works on top of a fully converged Density Functional Theory + phonopy calculation with VASP.
You can install this release by using pip
pip install .
or simply by typing
python setup.py install
Examples are provided in the Example folder
The general workflow is the following:
-
DFPT calculation with VASP with cubic symmetry and global reference frame coinciding with the local octahedral one.
-
Run phonopy command (for more details have a look at the phonopy documentation)
phonopy --fc vasprun.xml
to generate the FORCE_CONSTANTS matrix, then copy in your folder the POSCAR and FORCE_CONSTANTS matrix.
- Now two files are needed for the calculation of the elastic couplings. The first is "nearest_neighbors.dat" and is a list of atomic sites in the POSCAR file that indicate the position of the corresponding ligand ions separated by a space. Per each line 12 numbers are expected, and are the 6 ligand indices of the centre ion and the 6 of the interacting octahedral centre. It shall look something like this
222 286 158 210 277 150 272 144 304 260 136 294
222 286 158 210 277 150 269 141 301 257 133 295
The second file is "bonds.dat" and contains the connecting lattice vectors that bring the centre octahedra to the interacting one. In our case will look something like
0.5 0.5 0
-0.5 -0.5 0
These files can be both generated in python by using:
from ElastiCouplings import neighbors
neighbors.VASPstruct('O', 'Re', 104)
where 'O' is the ligand species, 'Re' is the transition metal one and 104 is the number corresponsing to the centre of the origin-octahedra.
- Finally the elastic couplings can be calculated. To do so one has to call in the same folder
from ElastiCouplings import couplings
couplings.calc_couplings(2)
where 2 is the maximum number of nearest-neighbors, next-nearest-neighbors and so on to consider. Bear in mind that the maximum number cannot exceed the number of lines/octahedra considered in your "nearest_neighbors.dat" and "bonds.dat" files.
author: D. Fiore Mosca