IDERx logo, please charge!
▶ Home & tools
IDERx enviroment
Tips & external resources
GitHub repository
CarboCat ressearch group

Atomic simulation tools

This page shows and explain the use of a series of several resources developed with the intention facilitate, organize and automatize various commont tasks when working with some well known codes for atomistic simulation, specially the comercial code VASP (link here). The resources, tools and tips here are being created and actualized as part a my work in heterogeneous catalysis as a Phd student in the laboratory of Carbon and Catalysis CarboCat of the University of Concepcion (Chile). Check out our research group's webpage here!.
Now about the resources here:
  • ▶ VASP tools : Several small codes for simple tasks of create, edit and run common VASP input files and to analyze some output files. Mostly written in python and bash.
  • ▶ IDERx enviroment : A modular python enviroment to organize results from electronic structure calculations (not only VASP) including several tools to analyze results plot as well as tracking and log of running simulations.
  • ▶ Tips and external resources : Accumulated experience on working with VASP and atomic simulations that may be of some help, links to theory and usefull resources i wish someone had show me before.

Tools for VASP files

All the tools here are included in the VASPtools folder at the main repository https://github.com/sebagodoy/IDERx (along with the IDERx enviroment) to download or directly clone. All of these are free software( GNU General Public License ) and any comment or suggestion would be appreciated.
Most of these are written in python 3.6.9 or bash from a begginers level of complexity, they work properly enough for being used on our daily research work (on a ubuntu 16.04 enviroment) but there is plenty of room for optimization. Since these tools are a side product of an ongoing work in our lab, new tools and constant actualizations are being made.
The nomenclature of most this tools is of the form VASP.file.action refering to the kind of VASP file they relate and some description of the intended action. Also, some of the codes may still have promps and comments in spanish (it being my native languaje). Traduction to english promps is one of the intended tasks in queue.

▶ Convergence and final status:

to check OUTCAR and logfiles at the end of a simulation
  • VASP.OUTCAR.GetE0: Checks converged status at the end of an OUTCAR file and the final energy withoutn entropy (sigma->0)
  • VASP.FinalCheck: Checks all logfiles (from the terminal promp of the run) and OUTCAR file. Counts the scp steps completed in each logfile, identify the type of job (IBRION tag) in the OUTCAR and its proper termination. Reports final energy (sigma->0) and dispersion D3 corrections (if available) for relaxations and single point calculations or lists the frequencies and intensities for frequency-type runs.

▶ POSCAR modification:

  • VASP.POSCAR.Restringir: If atoms in a POSCAR type file are arranged in in ascending z position (in VESTA: Edit>Edit data > Structural parameters), selective dynamics patterns can be quickly applied to consecutive groups of atoms like layers in the model .

▶ IR spectroscopy:

if a frecuency calculation included dipole corrections, the molecular dipole variations of the modes of vibrations can be computed, wich are proportional to the IR adsoprtion peak.
  • VASP.IR.Intensities.py: Reads dipole corrections (if available) from OUTCAR in each displacement of a frequency calculation, computes IR peak intensities, generates an IR spectra image with lawrentzian broadening.
  • VASP.IR.cat.py: Compiles the IR spectra from various logfiles produced by VASP.IR.Intensities.py to compile on a single spectra plot.

▶ neb and dimmer construction and analysis:

nudget elastic band (neb) types of runs require a serie of geometry files in the reaction coordinate from stable initial and final geometries. A couple tools to construct these interpolated geometries are:
  • VASP.neb.Lineal.py: produces linearly interpolated geometries for a neb run from an initial POSCAR_1 and final POSCAR_2 files.
  • VASP.neb.Curved.py: From an initial, final and an estimated TS geometries, this code will parabolically interpolate and try tro generate n equidistant geometries for a neb calculation. Selective dynamics are taken from the estimated TS file
  • VASP.neb2XDATCAR.py: Invoqued from neb folder it generates a XDATCAR type of file called neb2movie_XDATCAR5 containing the sequence of images in the neb 00/ 01/, ... folders. The vile can be opened with VMD (check this) as a movie of the reaction path, which is very useful to quickly check that the neb path represents the intended reaction step after (default option) or before (enter "CONTCAR" when asked the filename) the run.
  • VASP.neb2POSCAR.py: Invoqued from neb folder it will produce a POSCAR-like file that includes the positions of the relaxed atoms in each one of the images in 00/, 01/, ... folders. It may help visualize some neb paths but it may (more often than not) render a crowded image not very usefull, generating a neb movie with VASP.neb2XDATCAR.py to visualize with VMD could be a better option. By default it uses the initial POSCAR images but "CONTCAR" can be requested when asken about filenames to use the end-of-the-run geometries.
Dimer calculations using the VTST tools (Link here!) start using a POSCAR and MODECAR files for atomic positions in the estimated transition state (TS) geometry and its and reaction coordinate direction, respectivelly. The restricted relaxation produces the equivalent CENTCAR geometry and NEWMODECAR direction files.
  • VASP.CENTCAR.Desplaza.py: Usefull to check if a dimer calculation is pointing in the intended reaction coordinate. Called from the neb folder, this code will generate a XDATCAR-like containing a sequence of geometries displaced from a central configuration (CENTCAR by default, but accepts POSCAR or CONTCAR-like files) in the direction defined by a MODECAR-like file (NEWMODECAR by default, but MODECAR can be entered when asked). If you choose not to erase the individual images, CONTCAR files of the displaced images will be kept in the neb folder, their sequence can be quickly reviewed using VESTA CONTCAR_*.
    Note this code's promp is in spanish, translating it is one of the (many) pending tasks.
The process of converge and confirm a transition state geometry can be dificult and tedious, some advice is given in the Tips & External resources of this page.