Description | Perl tools for X-ray Absorption Spectroscopy |
Demeter::Feff::MD::VASP - Role supporting VASP OUTCAR file
This documentation refers to Demeter version 0.9.26.
This role provides support for importing data from the VASP formatted OUTCAR file, which is a format for providing the trajectory of a cluster during a molecular dynamics simulation (as well as a lot of other information not reelvant to this context). The VASP website is http://cms.mpi.univie.ac.at/vasp/. The OUTCAR file format is not well documented (or, at least, I have not found its documentation), but not very hard to interpret. It is, however, humungo-ginormous.
The purpose of this role is to parse the VASp OUTCAR file into the data structures expected by the rest of Demeter's histogram subsystem.
An OUTCAR file can be the concatination of more than one VASP runs. A run begins with a line identifying the VASP version number, a line identifying the machine it ran on and the date of the run, and a line identifying the number of nodes of the cluster. It ends with a table labeled General timing and accounting informations for this job:
with statistics about time, memorty, and CPU usage of the run.
The first information in the file identifies each of the potential types. The most relevant line begins with the keyword VRHFIN
. This identifies the atomic species. For instance
VRHFIN =Ti: 3s3p4s3d
This line identifies a titanium atom and its electronic configuration.
There will be one such line for each atom type in the cluster. They will be separated by about 50 lines on other information about that atoms potential and electronic configuration.
The information about how many of each type of atom is pretty well hidden. After about 400 lines, you find a section that starts Dimension of arrays:
. One of the following lines looks like so:
ions per type = 16 16 32 16
This says how many of the atoms identified by the VRHFIN
lines and in the same order as the VRHFIN
lines appear.
After a long stretch of data about the run (several hundred lines) there are sections labeled
position of ions in fractional coordinates (direct lattice)
and
position of ions in cartesian coordinates (Angst):
These two lists show the starting configuration of the cluster. The second is more to the point, since it is in cartesian coordinates.
This list is in the order specified by the order of the VRHFIN
lines and in the numbers of indicated bythe ions per type
line.
Soon after that, the MD time sequence starts. After quite a bit of self-consistency looping, you come accross a line that starts POSITION
. This is a time step. This followed by a line of dashes, then lines with the cartesian coordinates of and forces on each atom. It is finished by a line of dashes and there may be blank lines.
Keep reading POSITION
entries until you come to the end of the run.
_number_of_steps
Fills the nsteps
attribute of the object using this role with the number of time steps contained in the input file (contained in the file
attribute).
_cluster
Fills clusters
attribute with a list-of-lists, each inner list containing the cartesian coordinates and atomic species of each item in the cluster at that time step. The outer list is a list of timesteps in chronological order.
Demeter's dependencies are in the Build.PL file.
This currently only works for a monoatomic cluster.
Please report problems to the Ifeffit Mailing List (http://cars9.uchicago.edu/mailman/listinfo/ifeffit/)
Patches are welcome.
Bruce Ravel, http://bruceravel.github.io/home
http://bruceravel.github.io/demeter/
Copyright (c) 2006-2018 Bruce Ravel (http://bruceravel.github.io/home). All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlgpl.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.