There is a newer version of the record available.

Published January 4, 2023 | Version 2.0

dump2VDOS: Vibrational density of states from LAMMPS dump file

Authors/Creators

  • 1. University of Arizona

Description

Description

This script, dump2VDOS.py makes use of LAMMPS MD trajectories which include velocity information to calculate the velocity autocorrelation function (VACF) and the vibrational density of states (VDOS). 

The LAMMPS dump file format should be at minimum the following:

ID TYPE x y z vx vy vz

Routines

The use of numpy.correlate and numpy.fft are implemented for efficiency. However, one should be cautious of memory usage for large number of atoms or long times.

Work that has cited versions of this code:

[1] Deringer, V.L., Bernstein, N., Csányi, G. et al. Origins of structural and electronic transitions in disordered silicon. Nature 589, 59–64 (2021). https://doi.org/10.1038/s41586-020-03072-z

[2] Bregado, J. L., Tavares, F. W., Secchi, A. R., Segtovich, I. S. V., Thermophysical Properties of Amorphous-Paracrystalline Celluloses by Molecular Dynamics. Macromol. Theory Simul. 2020, 29, 2000007. https://doi.org/10.1002/mats.202000007

Technical info

Command line

usage: Example, dump2VDOS.py --dump_file argon.dump --timestep 10.0e-15 --correlation_length 150

Process LAMMPS dump files to calculate VDOS.

options:
  -h, --help            show this help message and exit
  --dump_file DUMP_FILE
                        Path to the LAMMPS dump file.
  --dump_pattern DUMP_PATTERN
                        Pattern for multiple LAMMPS dump files.
  --num_columns NUM_COLUMNS
                        Number of columns in ITEM: ATOMS. Note that vx, vy, and vz must be columns 6-8 (5-7 py)
  --timestep TIMESTEP   Timestep in seconds (e.g., 1 fs = 1e-15 s ) between dump snapshots. Note it is the timestep times dump output freq.
  --mass_map_file MASS_MAP_FILE
                        Path to the file mapping atom IDs to masses. Useful for mass weighted VDOS.
  --num_atoms NUM_ATOMS
                        Number of atoms. If not provided, it is read from the dump file.
  --num_snapshots NUM_SNAPSHOTS
                        Number of snapshots. If not provided, it is inferred from the dump file.
  --correlation_length CORRELATION_LENGTH
                        Correlation length. This is the number of snapshots to use.
  --window_function {gaussian,hanning,hamming,blackman,bartlett}
                        Windowing function to use for VDOS calculation.
  --std_factor STD_FACTOR
                        Standard deviation factor for Gaussian windowing.
  --pad_factor PAD_FACTOR
                        Padding factor for FFT calculation in VDOS.
  --vacf_image_file VACF_IMAGE_FILE
                        VACF result visualized
  --vdos_image_file VDOS_IMAGE_FILE
                        VDOS result visualized
  --vacf_data_file VACF_DATA_FILE
                        VACF result data
  --vdos_data_file VDOS_DATA_FILE
                        VDOS result data

NOTES: Program outputs raw files VACF.dat and VDOS.dat as well as figures VDOS.png and VACF.png

Notes

Code is not regularly updated or maintained.

Files

example.zip

Files (233.9 MB)

Name Size Download all
md5:e52765cbe3788a0e2e84c65edab70700
14.6 kB Download
md5:18a858da9b351cbd1d7a893d25687690
233.9 MB Preview Download

Additional details

Related works