Post processing

The post processing tools are located in the <RUMD-HOME>/Tools/ directory and each one of them has a help text. To see the help text use the option -h or --help depending on the tool. The actual output files generated by the program are in a directory called TrajectoryFiles. When you start a new simulation in the same directory, this will be moved to TrajectoryFiles.rumd_bak as a precaution against accidental overwriting of data. The analysis programs should be run in the original directory where the simulation was run (they know they should look in TrajectoryFiles for the data).

rumd_stats produces mean values, variances and standard deviations for specific quantities. The rumd_stats stdout for the simulation just performed is shown in table 1.

Table 1: rumd_stats output.
quantity mean value variance standard deviation
ke 1.49802 0.0015541 0.0394221
pe -5.27922 0.0029679 0.0544784
p 8.64558 0.0529826 0.23018
T 0.999677 0.000692101 0.0263078
Ps -0.00404791 0.348731 0.590535
Etot -3.7812 0.00439295 0.0662794
W 7.64591 0.052637 0.229428
     


Here ke is the kinetic energy, pe is the potential energy, p is the pressure, T is the kinetic temperature, Ps is the Nose Hoover thermostat, Etot is the total kinetic energy and W is the virial. The program writes the mean and variance in the files energies_mean.dat and energies_var.dat in one row as the first column of stdout.

The radial distribution function is computed by typing rumd_rdf -n 1000 -m 1.0 where the first argument is the number of bins in radial distribution function and the second argument, the minimum time between successive configurations to use, is to avoid wasting time doing calculations that are very similar (we assume here that the configurations are uncorrelated after one time unit). Use rumd_rdf -h for a full list of arguments. The output is rdf.dat and for binary systems the columns are:
$r \quad g_{00}(r) \quad g_{01}(r)\quad g_{10}(r)\quad
g_{11}(r)$. (Single component only has two columns). Plot rdf.dat to obtain figure 1.

Figure 1: Radial distribution function.
\includegraphics[scale=0.3]{level1/LJrdf.eps}

The static structure factor can be obtained when the radial distribution function is computed. It is done by typing rumd_sq 2 20 1 where the first argument is the start $q$ value, the second argument is the final $q$ value and the third argument is the density. The stdout is the $q$ value for the maximum of the first peak and it is written in a file called qmax.dat. The static structure factor is written in Sq.dat and is structured like rdf.dat. Plot Sq.dat to obtain figure 2.

Figure 2: The static structure factor
\includegraphics[width=0.6\textwidth]{level1/LJSq}
The mean square displacement and the self part of the incoherent intermediate scattering function $F_q(t)$ are calculated with the command rumd_msd. This generates a msd.dat file with time as the first column and the mean square displacement as a function of time as the second column (for binary systems there will be two columns), and a file Fs.dat with a similar structure. Before it can be run however, you must create a file called qvalues.dat which contains one wavenumber for each time of particle. Typically these correspond to the location of the first peak in the structure factor, so one could copy the file qmax.dat crated by rumd_sq. rumd_msd also calculates gaussian parameter alpha2.dat. See figure 3 and 4 for mean square displacement and self part of incoherent scattering function.
Figure 3: Mean square displacement.
\includegraphics[width=0.6\textwidth]{level1/LJmsd}
Figure 4: Self part of the intermediate scattering function evaluated at the $q$ value of the maximum of the first peak in the structure factor.
\includegraphics[width=0.6\textwidth]{level1/LJFs}
The post processing analysis tools are summarized in table 2.

Table 2: Post processing tools, their input, output and the arguments.
Tool Input Output Arguments
<#1580#>   std.out: table 1  
  none energies_mean.dat
    energies_var.dat
<#1590#>   std.out: Simulation info 1. num. bins
  none rdf.dat
    sdf.dat
<#1600#>   std.out: qmax(s) 1. qstart
  rdf.dat Sq.dat
    qmax.dat
<#1610#>   std.out: Simulation info  
    msd.dat
  qvalues.dat Fs.dat
    FsSq.dat
    alpha2.dat
     


It is evident from table 2 that rumd_rdf has to be performed before rumd_sq and rumd_sq before rumd_msd. If you only are interested in the mean square displacement and know which q-values to use it is not necessary to run rumd_rdf and rumd_sq first. Then you just have to create a file called qvalues.dat with the appropriate q-values before running rumd_msd.

Heine Larsen 2017-07-21