RocketRhubarb/irras-sim

★ 0Forks 0JavaScriptGitHub ↗Compare

README

irras-sim

Simulation of IR spectra from normal mode analysis in VASP

Background

This script is used to simulate the IRRAS spectrum for molecules adsorbed to semiconductor or insulator surfaces. A full explanation of the theory is the included pdf.

How to use

In this section I will provide some examples of how to use the code from VASP calculations.

DFT calculation

  • Optimize structure
  • Run vibration calculation
! Analysis

 LEPSILON = .TRUE.
 NFREE = 2
 IBRION = 5
 NWRITE = 3
 SMASS = -2

From the OUTCAR the full spectrum can be generated using the python package. These functions plot the IRRAS spectra according to the predefined settings.

from irrassim.fileIO.parseoutcar import Outcar
from irrassim.ir_intens import plot_ir_component_wise
from irrassim.three_layer_lorentz_irras import plot_irras_component_wise

outcar = Outcar('OUTCAR')

plot_ir_component_wise(outcar=outcar)

plot_irras_component_wise(outcar=outcar)

The calculation defaults are set to an incident angle of 84 degrees with a substrate refractive index of 2.2. It's advisable to tweak these parameters to replicate your desired experimental settings.

The following settings can be adjusted to tweak the system parameters to replicate the desired experiment.

plot_irras_component_wise(
    outcar=outcar, 
    freq_min=400, 
    freq_max=3800, 
    gamma=5, 
    n_vacuum=1, 
    n_substrate=2.2, 
    angle_of_incidence=84, 
    angle_of_rotation=0, 
    alatt=None, 
    blatt=None, 
    Cs=9.0336, 
    printout=False
    )

A few of the settings are not required to adjust. alatt and blatt correspond to the lattice parameters of the surface cell and, Cs to the dipole-dipole coupling parameter. If alatt and blatt is set to None, the script will automatically derive these from the OUTCAR and compute the dipole-dipole coupling Cs from the computed structure (contained in outcar).

A few macroscopic properties should be defined, n_vacuum and n_substrate are the refractive indices of vacuum and the bulk substrate (oxide material). These refractive indices n_i correspond to the dielectric constant as Ɛ = n^2. gamma correspond to the peak width in cm-1.

The angle of incidence and angle of rotation can be set to match the experimental conditions.

The raw spectral data is also available for further processing through the functions irras_spectra() and irras_component_wise().

Example

An example can be found in the folder example.

Contributors

RocketRhubarb

Issues