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=5orIBRION=6; or - density functional perturbation theory (DFPT):
IBRION=7orIBRION=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_PARAMSis defined asFIRST-MODE_LAST-MODE_NDERIV_STEPSIZEwhere: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 value2is supportedSTEPSIZE- float, step-size for finite difference, in Angstroms
Example:
VASP_RAMAN_PARAMS=01_10_2_0.01 -
VASP_RAMAN_RUNthe 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.outAn 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
POSCARparsing 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.