1/ PREPARING TO USE MP_tools
Copy the Examples
subdirectory to a convenient place in your working space.
Using any of its specific subdirectories as a template, create your own project directory,
go there and create inside the ./data
subdirectory, something like
mkdir my_project
cd ./my_project
mkdir data
Move the ACCII input (MD dump files and/or trajectory files) of your project into data
mv /volumes/whatever_somewhere/hist_200.txt ./data
or, to avoid manipulating huge data volumes, just make a link and place it into ./data
link /volumes/whats_ever/hist_200.txt ./data/hist_200.txt
A good idea is to give intuitive names to all what follows,
eg. BZO200s
for a BZO (BaZrO3) short sequence at 200K
mv ./data/hist_200.txt ./data/BZO200s.txt
use the upper and lower case according to your system conventions and to your convenience; on many systems all the MP_tools
input specifications will prove case-insensitive.
In your project directory create a <your_project>.par
, possibly by editing/duplicating one of the parameter files from the Examples
. For convenience, but not obligatorily, use the same filename as above, i.e. BZO200s.par
. This file will contain info about your substance and option settings for the MP_tools
. The binary snapshot files will automatically use the name of the .par
file followed by numbers (if timeseries) in the form of _nxxxx
, eg. BZO200s_n0001.dat
; for numbers above 9999 the real length is used, i.e. BZO200s_n100001.dat
.
Inside the .PAR
file the namelist
names like &mp_bin
, &mp_pdf
etc. as well as the names of the variables are in fact FORTRAN
identifiers - do not touch them! Each namelist
has to be terminated by a slash (/
)on the last line. When editing the contents mind to use spaces rather than tabs. Empty lines as well as any text beyond the first exclammation mark on a line is a comment, ignored in input. You cannot add anything to the namelists
unless modifying the code itself, on the other hand non-relevant items may be omitted in the .PAR
file.
2/ USING MP_tools
Each tool offers a more-or-less intuitive command line dialog (cf. terminal logs in the Examples
pages).
A/ Convert the input ASCII file data produced by DL_POLY
, LAMMPS
, DISCUS
etc. into binary form (as a first, obligatory step)
MP_DBIN
(forDL_POLY
data) orMP_LBIN
(forLAMMPS
,GENERAL
data) tools generate the binary direct access files to be used in subsequent work; each of the files will start by a header record containing info from the trajectory-file header and from the.PAR
file (atom names, masses, lattice parameters etc.), the binary files will be stored in./data
again; if pertinent, the programs determine real temperature from the kinetic energies of individual velocity components (separately for cores and shells in case of the shell model simulations) and refine corrections to the lattice parameters originally deduced from the supercell dimensions; a detailed output is produced for the first snapshot in the series automatically and can be extended to all of them by setting a switch in the.PAR
file
For series of snapshots the binary file names consist of a ‘master’ (a character chain
specified in the MP_*BIN
dialogue) followed by ‘_n’ and a minimum four-digit number, eg. BZO200_n0001.dat
; the other tools will ask later for this information in their input dialogues.
B/ Inspect the contents of the binary data files
MP_INSP
prints the contents of the header record of a binary data file and displays information on individual atoms identified by their supercell (CELL
) or input sequence (BULK
) indices.
C/ Visualise scattering functions and extract other related properties
-
MP_PDF
accumulates and plots pair distribution functions (PDF) in direct space by Monte-Carlo sampling; useOpenMP
parallelisation if computation speed is of importance; for high accuracy and 100% reproducibility the single process option should be checked -
MP_DOS
calculates and plots the vibrational density of states; atom weights can be chosen between uniform (1.) and neutron (bcoh, read from the.PAR
file) with the possibility to mask out any of the atom types -
MP_SQOM
produces total, elastic and inelastic diffuse scattering intensity maps over planes in reciprocal space as well asE(Q)
(dispersion-like) cuts with the possibility to save tables of intensities in ASCII format (.TXT
) and the graphical output in the.PS
or.PNG
format; the use of non-uniform fast Fourier transform (NUFFT) to pass from the direct to the reciprocal (momentum) space brings in the FFT-like computing time gain of≈ NlogN
against theN^2
scale for normal FT, which can reach many orders of magnitude for large systems; in addition, the use ofOpenMP
parallelisation can be activated and is recommended in general (no reproducibility issues to be expected)
3/ EXAMPLES
The examples in the Examples
directory cover the two available ASCII data input methods, CELL
and BULK
, and take as examples data generated by DL_POLY
, LAMMPS
and FERRODO
(phasefield simulation package).
To keep the distribution size reasonable, the data sets extend only over a single or a few snapshots, permitting to test the basic functions of MP_tools
: conversion to binary format, inspection of the binary data, plots of total scattering intensities and generation of a PDF. The energy-resolved functionalities calling for sequences of hundreds to thousands snapshots (10-100 Gb) need to be tried in ‘real life’ circumstances (in case of doubt contact the author)
The text files like lammps_cu_48.txt
containing terminal session logs, included in each case, give an idea of what could be a brief tutorial session and give also the possibility to cross-check the details of data file structure. The included .PAR
files can be used as templates for own projects.