The following are a set of scripts to perform common tasks to help with VASP calculations, and particularly with transition state finding. The included Vasp.pm perl module contains several simple routines that are used by many of the scripts.
VASP is a commercial software and as a regular VASP licensee you can download the most current version of the GPU port. To acquire a license, see this page. Enter your login credentials on the right under 'Community Portal' and click on 'Login' to gain access to the download area. Click on 'VASP5' and select the 'src' folder. VASPy is a pure Python library designed to make it easy and quick to manipulate VASP files. You can use VASPy to manipulate VASP files in command lins or write your own python scripts to process VASP files and visualize VASP data. In /scripts, there are some scripts written by me for daily use. The ubiquitous second messenger cyclic guanosine monophosphate (cGMP) plays an important role in metabolism and promotes brown adipocyte differentiation. We showed that ablation of the gene encoding vasodilator-stimulated phosphoprotein (VASP), a major downstream component of the cGMP signaling cascade, increased cellular cGMP content in brown and white adipocytes and mouse embryonic fibroblasts. For questions, bug reports, and comments, please visit to subscribe the phonopy mailing. © 2020 by Materials Design, Inc. Privacy Policy Materials Design® and MedeA® are registered trademarks of Materials Design, Inc.
Download the scripts: vtstscripts.tgz
Install by uncompressing this file, and adding the vtstscripts directory to your path.
The scripts are organized into the following categories (portals to them are on the left):
general
file conversion
nudged elastic band
dynamical matrix
dimer
charge density
density of states
Medea Vasp Download Torrent
Notes:
We recommend that the first line in the POSCAR file contain the element symbols, in the same order as they appear in the POTCAR. This will allow for proper visualization when files are converted to xyz files.
For NEB scripts, there needs to be OUTCAR files for the initial and final states placed in the 00 and NI+1, respectively. Please direct questions about these scripts to the discussion forum.
General Scripts¶
Scripts | Usage/Description |
---|---|
Vasp.pm | Perl module that contains various common commands that one might want when deal with VASP POSCAR files. These include reading and writing aPOSCAR file, reading and writing a generic vector file, doing dot products and finding magnitudes of vectors and other similar functions |
vef.pl | usage: |
Prints the force and energy at each iteration of a vasp run. | |
vfin.pl | usage: |
This script finds the ICHAIN tag from the OUTCAR and cleans up the run directory accordingly. All relevant files (POSCAR, CONTCAR,OUTCAR (zipped), INCAR, KPOINTS, XDATCAR (zipped), CHGCAR and WAVECAR if the are non-empty) are copied to the output directory.In the run directory CONTCARs are moved over POSCARs in preparation for a new run. | |
boxset.pl | usage: |
output: | |
posinterp.pl | usage: |
output: | |
pos2rdf.pl | usage: |
output: | |
neighbors.pl | usage: |
output: | |
diffcon.pl | usage: |
output: | |
dist.pl | usage: |
output: | |
modemake.pl | usage: |
output: |
File Conversion Scripts¶
Scripts | Usage/Description |
---|---|
pos2con.pl | usage: |
output: | |
xdat2pos.pl | usage: |
output: | |
xdat2xyz.pl | usage: |
output: | |
con2xyz.pl | usage: |
output: | |
xdat2vdat.pl | usage: |
output: |
Nudged Elastic Band Scripts¶
Scripts | Usage/Description |
---|---|
nebmake.pl | usage: |
output: | |
Takes initial and final POSCAR files, and linearly interpolates the specified number of images between them. The interpolated files arewritten to the directories 00 to NI+1, where NI is the number of specified images. | |
neb2dim.pl | usage: |
output: | |
Sets up a dimer run from a NEB run. It is assumed that the configuration is contained in POSCARs, i.e. vfin.pl has been run. If no inputargument is given then the dimer is formed by interpolation around the highest point in the exts.dat file. Otherwise it is formed around theinput image. Curvature data from the MEP is used for the initial orientation of the DIMER. | |
neb2lan.pl | usage: |
output: | |
Sets up a lanczos run from a NEB run. It is assumed that the configuration is contained in POSCARs, i.e. vfin.pl has been run. If no inputargument is given then the run is set up by interpolation around the highest point in the exts.dat file. Otherwise it is set up around theinput image. Curvature data from the MEP is used for the initial MODECAR. | |
nebef.pl | usage: |
output: | |
nebbarrier.pl | usage: |
output: | |
Generates the file neb.dat which contains the distance between images, the energy of each image, and the force along the band. This data isused by nebspline.pl to generate a force-based cubic spline along the band. | |
nebspline.pl | usage: |
output: | |
Reads the file neb.dat and creates the files spline.dat,exts.dat and mep.eps. spline.dat is a set of points that describe the spline fitted tothe data in the neb.dat while exts.dat contains the location and energy of all extrema found along the curve and mep.eps is a plot of the MEPpath. | |
nebmovie.pl | usage: |
output: | |
Can be used to generate a movie from standard xyz files, generated either by POSCARs (flag=0) or CONTCARs (flag=1) in every directory. | |
nebconverge.pl | usage: |
output: | |
Can be used to monitor convergence for each image while the job is still running. | |
nebresults.pl | usage: |
output: | |
After a run has finished and wrapped up with vfin.pl, the nebresults.pl can be used to run nebef.pl, nebspline.pl, nebmovie.pl andnebconverge.pl automatically. | |
nebfreeze.pl | usage: |
output: | |
Takes an atom number and a list of POSCAR files and then freezes that atom, as well as shifting the contents of each POSCAR file so that thatatom has the same position in each cell. This is useful if you need to give all POSCARs in a NEB calculation the same frozen point. | |
nebavoid.pl | usage: |
output: | |
If atoms are closer than the specified distance, the script pushes these atoms apart. The new geometry is written in the POSCAR file, and theold saved as POSCAR_orig. | |
Warning: this script does not give a set of equally spaced images. |
Medea Vasp Download Free
Charge Density Scripts¶
Scripts | Usage/Description |
---|---|
chgavg.pl | usage: |
output: | |
Generates an average CHGCAR. | |
chgsum.pl | usage: |
output: | |
The values in CHGCAR_sum are (CHGCAR1*fact1+CHGCAR2+fact2). By default, fact1=fact2=1.0, so that the output is the sum of the input chargedensity files | |
chgdiff.pl | usage: |
output: | |
Generates a CHGCAR difference. | |
chgparavg.pl | usage: |
output: | |
Generates an average PARCHG. | |
chg2cube.pl | usage: |
output: | |
Converts a CHGCAR file to the CUBE format. |
Dimer Scripts¶
Scripts | Usage/Description |
---|---|
dimplot.pl | usage: |
output: | |
Generates simple figures from the out.dat file to monitor the behavior of a dimer run. | |
diminit.pl | usage: |
output: | |
Generates an initialized dimer run in DIR or the numbered directories prXXXX, from a POSCAR and DISPLACECAR | |
dimmins.pl | usage: |
output: | |
Generates initial configurations which can be minimized from a converged dimer run. | |
dimmode.pl | usage: |
output: | |
Generates a movie along the dimer mode. |
Dynamical Matrix¶
Scripts | Usage/Description |
---|---|
dymmatrix.pl | usage: |
or : | |
or : | |
output: | |
| |
| |
| |
Takes the output from the dynamical matrix calculation and creates the matrix. The DISPLACECARs should only contain those degrees of freedomthat were calculated in their corresponding OUTCARs (see dymcmpdisp.pl). The scripts now handles the diagonalization itself via package fromCPAN. (It could be a bit slow for large matrices). | |
dymeffbar.pl | usage: |
| |
| |
output: | |
| |
| |
| |
| |
dymzpbar.pl | usage: |
output: | |
This script sums up the zero point energy contribution from the stable modes. | |
dymseldsp.pl | usage: |
output: | |
Takes as input two POSCAR files, n, the number of atoms to include, and the displacement. It then finds the n atoms that have the largestdisplacement between the two POSCAR files. Ncr personal scanner driver for mac. The file DISPLACECAR is created, which contains the displacements of each degree of freedom (zero,unless the atom is one of the n atoms, in which case it is the entered displacement). This file is ready to use, then, with the dynamicalmatrix routine. | |
dymselsph.pl | Medieval total war mac download. usage: |
output: | |
Similar to dymseldsp.pl, except it only takes one POSCAR and also needs an atom number as input. It then finds the n atoms closest to thechosen atom and these are the atoms given non-zero displacements in the DISPLACECAR file. | |
dymcmpdisp.pl | usage: |
output: | |
Takes as input two DISPLACECAR files, compares them, and outputs a DISPLACECAR file in which those degrees of freedom that are set in oneDISPLACECAR but not the other. Thus, if you use dymseldsp.pl to create a DISPLACECAR with 24 degrees of freedom, and then you want to calculatethen next 12 degrees of freedom, you would dymseldsp.pl for 36 degrees of freedom and use compare_disp.pl to extract those 12 which aren’tincluded in the first DISPLACECAR. You can then run the dynamical matrix calculation on this new file, getting the forces for these 12 newdisplacements, and then use dymmatrix.pl to combine the OUTCARs from both calculations into one matrix. | |
dymfit.pl | usage: |
output: | |
Used to fit between two or more matrices together. It takes as input the order of the fit, and then pairs of displacements and matrices. Itoutputs a matrix of the same order. It requires the Perl modules Math::Matrix and Math::Approx. | |
dymextract.pl | usage: |
output: | |
Used to create a smaller dynamical matrix from a larger one. If you calculated many degrees of freedom the first time and want to check howthe quantity converges versus degrees of freedom, use this to create the smaller matrix. You need the DISPLACECAR for the matrix you have andthe DISPLACECAR for the matrix you want. | |
dymreorder.pl | usage: |
output: dynamical matrix, to STDOUT | |
Reorders a dynamical matrix. You might want to use this if you plan on fitting matrices, but you got at them different ways (for example, oneyou had by doing all of the degrees of freedom at once and the second you created by doing degrees of freedom a bit at a time… the orderingof the displacements in each matrix will be different). You need the series of DISPLACECARs that were used to create each matrix. | |
dymprefactor.pl | usage: |
output: | |
dymanalyze.pl | usage: |
output: | |
Intended to help analyze the convergence of the dynamical matrices and compare the differences both between different displacements as well asdifferent orders of fits. It takes as input pairs of displacements and their corresponding matrix. The first argument is a flag. If it is zero,then a fit is done with each successive matrix added to the points used to determine the fit. The output tells how much the force constantschange as each point is added to the fit. If the flag is greater than zero, then a fit is done with the first n, where flag equals n, matrices,and the difference between the force constants calculated for the other matrices and the fitted matrices is printed. The analysis is done forany modes which have a frequency larger than modevalue. | |
dymmodes2xyz.pl | usage: |
output: | |
Takes the configuration file (POSCAR), displacement file (DISPLACECAR) and modes file (modes.dat), which is created by running dymmatrix.pl,and creates a movie for each mode. These xyz movies are saved in the moviefolder (if designated) or the current directory. The frequency ofeach mode will be written to the xyz files if the freq.dat file is provided. The numimages variable sets the number of frames in each modemovie and the dist variable sets the vibrational amplitude. | |
Note: if the modes.dat is created by using serveral DISPLACECARs as indicated in dymmatrix.pl, use the concatenated DISPLACECAR file in thisscript (i.e., cat those DISPLACECAR files in the same order as they were used in dymmatrix.pl). |
Density of State Scripts¶
Scripts | Usage/Description |
---|---|
split_dos | usage: |
output: | |
Split the DOSCAR file into atomic DOS files, (DOS1, DOS2,.,DOSN). The DOSCAR and OUTCAR in the working directory will be used.This bash script was written for LORBIT =10 and = 11 calculations as well as spin (un)restricted. The energy will be referenced to the fermienergy specified in the OUTCAR, (E-Ef). | |
dosanalyze.pl | usage: |
output: | |
This script sums up the atomic projected DOS over some group of atoms, and then calculates the center of the specific band using a weightedaverage. The default is set to calcualted the center for the whole band. However, it can also consider DOS within a user specified range byusing the optional “w=” or “e=” flag. | |
By using “e=emin,emax” flag, only the states in ranger [emin,emax] are considered. | |
By using “w=” flag, the script finds a half width for the band at half the max height and, based on the number following w= , calculates aweighted average within the limits of that many half widths at half height from the center. In this manner, a band center may be found byweighted average without including noncontributing states. | |
If no orbital flag is specified, the script analyzes the d-band. If no atom is selected, it analyzes all of them. If no w= tag specified, thecenter is calculated between 2.5 half widths at half height | |
Note: the split_dos script should be run first to get the resulting new files labeled as DOS1, DOS2, …, DOSN,where N is the number ofatoms in the unit cell. | |
doslplot.pl | usage: |
output: | |
The eps file has DOS plot for each of selected atoms (blue lines), and the DOS plot for the all system (red line). If no orbital flag, plotthe d-band.If no atom is selected, plot all of them. | |
Note: Only LORBIT=11 and up to s,p,d bands can be handled with this script. |