Raman off-resonant activity calculator using VASP as a back-end.
Theory
Installation
Global variables
Examples
Changelog
How to cite
Contributors
In order to calculate off-resonance Raman activity of a mode, one needs to compute the derivative of the polarizability (or macroscopic dielectric tensor) with respect to that normal mode coordinate: dP/dQ
(or de/dQ
).
Thus, two ingredients are required:
- Phonons at Γ-point
- Macroscopic dielectric tensor
In VASP, phonons at Γ-point can be computed using either:
- finite displacements:
IBRION=5
orIBRION=6
; or - density functional perturbation theory (DFPT):
IBRION=7
orIBRION=8
.
Only finite displacements are available when hybrid functional is employed.
In VASP, macroscopic dielectric tensor can be computed using either:
- DFPT:
LEPSILON=.TRUE.
- or from frequency dependent dielectric matrix calculation:
LOPTICS=.TRUE.
.
In the latter case, hybrids functionals could be employed.
For a more formal description of the method see D. Porezag, M.R. Pederson, PRB, 54, 7830 (1996).
Python >= 2.6 is required. Just copy vasp_raman.py
in the $PATH
and run! No external dependencies.
vasp_raman.py
requires two environmental variables to be set:
-
VASP_RAMAN_PARAMS
is defined asFIRST-MODE_LAST-MODE_NDERIV_STEPSIZE
where:FIRST_MODE
- integer, first mode for which derivative of the polarizability is computedLAST-MODE
- integer, last mode for which derivative of the polarizability is computedNDERIV
- integer, scheme for finite difference, currently only value2
is supportedSTEPSIZE
- float, step-size for finite difference, in Angstroms
Example:
VASP_RAMAN_PARAMS=01_10_2_0.01
-
VASP_RAMAN_RUN
the command to execute VASP (can contain MPI call):
Example:VASP_RAMAN_RUN='aprun -B /u/afonari/vasp.5.3.2/vasp.5.3/vasp &> job.out'
Both variables should be exported
(in Bash language) before running vasp_raman.py
.
An example of PBS script:
#!/bin/bash
#PBS -l select=1:ncpus=32:mpiprocs=32
#PBS -l walltime=01:00:00
#PBS -q debug
#PBS -j oe
#PBS -N Example
#PBS -V
cd $PBS_O_WORKDIR
ulimit -s unlimited # remove limit on stack size
export VASP_RAMAN_RUN='aprun -B /u/afonari/vasp.5.3.2/vasp.5.3/vasp &> job.out'
export VASP_RAMAN_PARAMS='01_10_2_0.01'
python27 vasp_raman.py > vasp_raman.out
An example of bash script (in case no scheduler is installed):
#!/bin/bash
# suggested by Ricardo Faccio, Universidad de la República, Montevideo, Uruguay
# OpenMP variables
#export OMP_NUM_THREADS=1
#export MKL_NUM_THREADS=1
# vasp_raman.py variables
export VASP_RAMAN_RUN='mpirun -np 4 vasp5.3.5_par'
export VASP_RAMAN_PARAMS='01_06_2_0.01'
python /home/user/bin/vasp_raman.py > vasp_raman.out
- Raman activity spectrum for Si using VASP
- Raman activity spectrum for Si using VTST tools
- Raman activity spectrum for cyclopentadiene using VASP
- Raman activity spectrum for Si using VTST tools and PW91 functional
- ADDED: ability to use phonons obtained from the vtst tools
- FIX: cleaned
POSCAR
parsing code
- FIX: contributors and version are now in the output
- FIX: Cyclopentadiene example is now fully consistent with the version
- Basic working functionality
Use Bibtext or RIS file for citation.
Alexandr Fonari (Georgia Tech, PIs: J.-L. Bredas/V. Coropceanu): Email
Shannon Stauffer (UT Austin, PI: G. Henkelman): Email.