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          
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 type of particle. Typically these correspond to the location of the first peak in the structure factor, so one could copy the file qmax.dat created 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      
rumd_stats   std.out: table 1        
none energies_mean.dat none      
  energies_var.dat        
rumd_rdf   std.out: Simulation info 1. num. bins      
none rdf.dat 2. time diff.      
  sdf.dat        
rumd_sq   std.out: qmax(s) 1. qstart      
rdf.dat Sq.dat 2. qfinal      
  qmax.dat 3. density      
rumd_msd   std.out: Simulation info        
  msd.dat        
qvalues.dat Fs.dat none      
  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.