18 – Phonons with SIESTA and PHONOPY

Phonons

Finite displacement approach

Graphene

$ phonopy --siesta -d --dim="5 5 1" -c input.fdf
$ cp input.fdf header.fdf

set header.fdf without LatticeConstant, Bravais lattice vectors, and Internal coordinates

#!/bin/bash
# file: create_disp.sh

num_disp=`ls supercell-* | wc -l`

for i in $(seq -w 001 $num_disp)
  do
  mkdir disp-$i
  cat header.fdf supercell-$i.fdf > disp-$i/input.fdf
  cp *.psf disp-$i
done

Run create_disp.sh script:

$ ./create_disp.sh

Run run_ph.sh script:

#!/bin/bash
# file: run_ph.sh
export OMP_NUM_THREADS=1

num_disp=`ls supercell-* | wc -l`
for i in $(seq -w 001 $num_disp)
  do
  cd disp-$i
  mpirun -np 4 siesta-mpi input.fdf > job.out
  cd ..
done

Create FORCES_SET with the command

$ phonopy --siesta -f disp-{001..024}/*.FA

$ phonopy --siesta -c input.fdf settings.conf -p

$ phonopy-bandplot --gnuplot band.yaml > band_ph.dat

Residual forces

$ mkdir residual
$ cat header.fdf supercell.fdf > residual.fdf
$ cp *.psf residual/

 

$ phonopy --siesta --fz residual/*.FA disp-{001..024}/*.FA

.

 

Non-diagonal supercell

Black phosphorus

$ phonopy --siesta -d --dim="4 8 0   -4 0 0   0 0 1" -c input.fdf