In this exercise we are going to show how to obtain Phonon spectra using CP2K.
While some solid state code packages (like Quantum Espresso) contain functionality to calculate phonon spectra, CP2K does not. Using the Phonopy package it is nevertheless possible to calculate them using the Finite Displacement Method (FDM) with CP2K as the backend to calculate the forces.
You can install Phonopy in your home-directory on the server by running the following, which will download the package and its requirements:
pip install --user phonopy # plus some tools required to handle CP2K input files: pip install --user cp2k_tools
afterwards you will have the command phonopy available in ~/.local/bin. To make it known to the shell as any other command, run the following and logout and login back again:
echo 'export PATH="${HOME}/.local/bin:${PATH}"' >> ~/.bashrc
Now you should be able to run phonopy --help as follows and get some help text:
studentXY@tcopt2 ~ $ phonopy --help Usage: phonopy [options] Options: -h, --help show this help message and exit [...]
A typical Phonopy workflow looks as follows:
As a first example we are going to reproduce the text book band structure for bulk silicon.
Take the following CP2K input file:
&GLOBAL
PROJECT Si
RUN_TYPE ENERGY_FORCE
PRINT_LEVEL MEDIUM
&END GLOBAL
&FORCE_EVAL
METHOD Quickstep
&DFT
BASIS_SET_FILE_NAME BASIS_MOLOPT
POTENTIAL_FILE_NAME POTENTIAL
&POISSON
PERIODIC XYZ
&END POISSON
&SCF
SCF_GUESS ATOMIC
MAX_SCF 300
ADDED_MOS 100
&DIAGONALIZATION
ALGORITHM STANDARD
EPS_ADAPT 0.01
&END DIAGONALIZATION
&SMEAR ON
METHOD FERMI_DIRAC
ELECTRONIC_TEMPERATURE [K] 300
&END SMEAR
&MIXING
METHOD BROYDEN_MIXING
ALPHA 0.2
BETA 1.5
NBROYDEN 8
&END MIXING
&END SCF
&XC
&XC_FUNCTIONAL PBE
&END XC_FUNCTIONAL
&END XC
&END DFT
&SUBSYS
&CELL
ABC [angstrom] 5.4661639157319968 5.4661639157319968 5.4661639157319968
PERIODIC XYZ
&END CELL
&COORD
SCALED
Si 0.875 0.875 0.875
Si 0.875 0.375 0.375
Si 0.375 0.875 0.375
Si 0.375 0.375 0.875
Si 0.125 0.125 0.125
Si 0.125 0.625 0.625
Si 0.625 0.125 0.625
Si 0.625 0.625 0.125
&END COORD
&KIND Si
ELEMENT Si
BASIS_SET DZVP-MOLOPT-GTH
POTENTIAL GTH-PBE
&END KIND
&END SUBSYS
&END FORCE_EVAL
Now let Phonopy parse the CP2K input file and have it generate a 2x2x2 supercell with one displacement, by running the following command:
phonopy --cp2k -c Si.inp -d --dim="2 2 2"
which should give you the following additional files:
$ ls disp.yaml phonopy_disp.yaml Si.inp supercell-001.inp supercell.inp
supercell.inp is a skeleton with only the newly generated supercell, but without the displacement, while supercell-001.inp also contains the displacement of one Silicon atom and is therefore the calculation we need to run.
You therefore have to extend supercell-001.inp with the rest of the missing calculation parameters from the original input file Si.inp. Also make sure that you change project name to Si-supercell-001.
After running CP2K, you should get the following output file in addition to the usual CP2K output: Si-supercell-001-forces-1_0.xyz.
Now run Phonopy on this output file to generate the force set (afterwards found in a file called FORCE_SETS):
phonopy --cp2k -f Si-supercell-001-forces-1_0.xyz
… and run Phonopy again to get the band structure:
phonopy --cp2k -c Si.inp -p --dim="2 2 2" --pa="0 1/2 1/2 1/2 0 1/2 1/2 1/2 0" --band="1/2 1/2 1/2 0 0 0 1/2 0 1/2"
This command is supposed to open a window with the plot on your local machine. But this works only if you have setup the X11-Forwarding as described at the beginning of the lecture. Should this not work, then your best chance is to install the phonopy and cp2k-tools package on your local machine and run the last command on your local machine after having transferred all files in the current project folder to your local machine. Phonopy does not call CP2K directly so CP2K does not have to be installed.
Compare the generated plot to plots usually found in literature. Which special points have been specified in the above command? Change them to plot the path $\Gamma-X-K-\Gamma-L$ instead.