Tuesday, August 31, 2010

Convergence of MSD of soft-sphere particles



In the figure above the x-axis is sampling time while the y-axis is the variance of the MSD of 111 plane computed at a particular timestep. The distribution of MSD of the ordered system must go to a delta function as we sample longer. The variance must go like ~ 1/N (where N=number of independent samples). The measured exponent of the power-law decay in the variance of the ordered system's MSD is ~= 1, in accord with expectation. The disordered system's MSD distribution must have an intrinsic variance which is exhibited by the plateauing of the variance.

Wednesday, August 18, 2010

FCC lattice: Cubic Indexing and mapping to Bravais Index, handling PBCs

For constructing neighbour lists, while accounting for PBCs, we have applied a scheme of using 'cubic indexes' for each atom in our FCC lattice.

NOTE: Our simulation cell is cubic, but it could be cuboidal too & this indexing would still be good.

Cubic Index: Each atom is assigned a unique 4-tuple (m,n,p,s) of integers.

The 3-tuple (m,n,p) indexes the cubic Bravais cell. Each cubic cell has 4 atoms which are distinguished by their 's' index according to the following rule: (atom_position) --- ('s' index)
v0: (0,0,0) -- s=0
v1: (1/2,1/2,0) -- s=1
v2: (0,1/2,1/2) -- s=2
v3: (1/2,0,1/2) -- s=3
(v1,v2,v3 are the FCC basis vectors)

Each time a lattice is constructed with cubic indexing,
a pickled dict: 'cubicIndexMap.pickle' is specifying a map from (m,n,p,s)-->ID is also written.

A map from the integer Bravais indices (a,b,c), which are integers specified along the primitive FCC basis vectors, can be specified to the cubic indices using only integer math.
F: (a,b,c)-->(m,n,p,s)
(To construct F we write the position of the atom first in Bravais space and then expand the basis vectors into 3D cartesian space, as specified above, noting that EITHER 2 vector components OR none can at most be half-integers - depending upon the value of s).

The map F: (a,b,c)-->(m,n,p,s) is,
m,v[1] = divmod(a+c,2)
n,v[2] = divmod(b+a,2)
p,v[3] = divmod(b+c,2)

s is assigned by checking if 'v' is v0,v1,v2 or v3.
NOTE: divmod () is a built-in python function which returns the quotient & the remainder of a division.

Applying PBCs:
When finding Bravais neighbours, one can quickly map the cubic index and then to the ID (using the pickled map). In case periodic boundaries need to be handled, we merely need to 'mod' cubic indices (m,n,p) with the number of cubic cells along a cartesian axis. NOTE: 's' should be unchanged.
See: the function getCubicIndex() in
/home/ahasan/usr/local/simulations/fcc-3d/disordered/lattice/pickFCCplane.py

Tuesday, August 17, 2010

Covariance Matrix of 111 plane of FCC, NVE solid -- Ordered

For a 32x32 parallelogram shaped region (1024 atoms) of a 111 FCC plane, I constructed the covariance matrix sampling 4000 snapshots separated by 10tau (the decorrelation time).

MATLAB eig() was used to diagonalize this 2048x2048 matrix for the eigenvectors and the eigenvalues. It took less than 5 mins.

Fig 1: is a histogram of 1/sqrt(covariance eigenvalues) for the ordered system.

Green's function for 111 plane

Using the cubic basis I computed lattice and time averaged Green's functions for atoms separated along the x-cartesian axis. For the ordered and the disordered lattice the Green tensor components looked qualitatively similar to Fig. 1. In Fig 2 & Fig 3, I show the decay exponent of the Green's function with increasing separation.

NOTE:
(i)The averaging was done over 4000 independant frames and NOT 4000 tau as indicated below.
(ii) I also computed the VARIANCE of each Green's function tensor component (NOT PLOTTED).


Fig 1: The green's function (showing all the 6 tensor components)



Fig 2: The green's function on a log scale showing its decay with increasing separation



Fig 3: For the DISORDERED lattice

Measuring decorrelation times for FCC 3D, soft spehere, NVE, T=0.005

I computed the auto-correlation of the projection of displacement fields on the longest wavelength plane wave for the 111 plane of my FCC, NVE ordered and disordered system.

NOTE: The autocorrelation was measured for the COMPLEX fourier coefficients and NOT the square amplitudes of the projection onto plane waves.


Based on the plots below, 10tau seems to be a reasonable time interval to sample statistically independent configurations.


Sorting .gz dumpfiles

Am now sorting .gz files and writing them to disk in unsorted format. All .gz files except for the first one will be deleted. I should also gzip the sorted dumpfile for additional space efficiency.

the file sorting program is sitting in:
/home/ahasan/usr/local/simulations/fcc-3d/disordered/sortDumps.py

New kinds of simulations: bonded, disordered, ordered ensemble

1) I ran a purely harmonic system with the neighbouring atoms bonded to each other. The configuration files were unfortunately deleted :(. However the setup files are on navier at: /home/ahasan/usr/local/simulations/fcc-3d/bondSimul/
-- The makeLattice.py file doesn't have cubic indexing yet :(
-- I wrote a module which computes the 3D neighbour list in O(n) time. It's sitting in this folder.

2) I ran a simulation of system where there were 10 different kinds of species with their individual interaction strengths evenly spaced. Each particle was assigned to some specie with equal probability. This simulation is sitting in:
/home/ahasan/usr/local/simulations/fcc-3d/disordered/

-- The lattice in this simulation has cubic-indexing.

3) Ran an ensemble of 5 ordered simulations starting the same initial FCC lattice and at the same temperature.This simulation is sitting in:
/home/ahasan/usr/local/simulations/fcc-3d/ordered/

-- The lattices in this simulation have cubic-indexing.