VASP
Python program to evaluate off-resonance Raman activity using VASP code as the backend.
Install / Use
/learn @raman-sc/VASPREADME
vasp_raman.py
Raman off-resonant activity calculator using VASP as a back-end.
TOC
Theory
Installation
Global variables
Examples
Changelog
How to cite
Contributors
Theory
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
Phonons at Γ-point
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.
Macroscopic dielectric tensor
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).
Installation
Python >= 2.6 is required. Just copy vasp_raman.py in the $PATH and run! No external dependencies.
Global variables
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.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
Examples
- 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
Changelog
Current
- Switched Python 3
0.6.0
- ADDED: ability to use phonons obtained from the vtst tools
- FIX: cleaned
POSCARparsing code
0.5.1
- FIX: contributors and version are now in the output
- FIX: Cyclopentadiene example is now fully consistent with the version
0.5
- Basic working functionality
How to cite
Use Bibtext or RIS file for citation.
Contributors
Alexandr Fonari (Georgia Tech, PIs: J.-L. Bredas/V. Coropceanu): Email
Shannon Stauffer (UT Austin, PI: G. Henkelman): Email.
Related Skills
node-connect
339.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
