LJaggregation.zip (created by M. Cameron, Y. Forman, and S. Sousa Castellanos)

*The package **LJaggregation.zip contains the folders named LJNdata, N=5,...,14, Connect_data, and MatlabCodes, and the file readme.pdf . The folders LJNdata, N=5,…,14 and Connect_data contain all necessary data to define the continuous-time Markov chain representing the aggregation and dynamics of 6-14 Lennard-Jones particles (atoms). The codes in MatlabCodes were developed to create this dataset. *

The folders LJNdata (N = 6,…,14) contain the data used for building the aggregation/deformation LJ6-14 network described and analyzed in

Y. Forman and M. Cameron, “Modeling aggregation processes of Lennard-Jones particles via stochastic networks”, arXiv1612.09599

These folders contain the following files: LJNmin_data.txt, LJNmin_xyz.txt, LJNts_data.txt, LJNts_xyz.txt

--------------------

Format of LJNmin_data.txt:

V log(abs(det(Hess))) PGO

where V is the potential energy of the minimum,

Hess is the Hessian matrix at the minimum,

PGO is the point group order.

---------------------------------

Format of LJNts_data.txt:

V log(abs(det(Hess))) omega PGO min1 min2

where V is the potential energy of the Morse index one saddle,

Hess is the Hessian matrix at the saddle,

omega is the absolute value of the only negative eigenvalue of the Hessian at the saddle,

PGO is the point group order,

min 1 and min2 are the minima separated by the saddle.

----------------------------------

Format of LJNmin_xyz.txt and LJNts_xyz.txt:

x11 x12 … x1N

y11 y12 … y1N

z11 z12 … z1N

…

xM1 xM2 … xMN

yM1 yM2 … yMN

zM1 zM2 … zMN

where xij, yij, zij are are the cuz coordinates of atom j of minimum or saddle i.

*************************************************************

The folder Connect_data contains files AtomRemovalNtoN-1.txt and ConnectNandN+1.txt

Format of ConnectNandN+1.txt

min of LJN min of LJN+1 transition probability

Only nonzero transition probabilities are displayed.

Format of AtomRemovalNtoN-1.txt

min of LJN atom of LJN min of LJN-1 E

where E is the energy of interaction of atom i with the rest of the atoms in the cluster.

**************************************************************

The programs in the folder MatlabCodes were used to create the data in LJNdata and Connect_data.

(1) find_minima.m is the first program to run.

It offers to options for finding local energy minima: from random configurations and using basin hopping.

(2) find_saddles.m needs some collection of local minima to be precomputed, e.g. by find_minima.m

If finds saddles by the technique proposed by S. Sousa Castellanos that combines the gentlest ascend method and the dimer method

implemented in find_saddle_minmode_dimer.m.

(3) point_group_order.m computes the point group order

by the technique based on the group stabilizer theorem proposed by Y. Forman.

pgo = point_group_order(xyz) is called by any program in the package that has a capacity of finding a new minimum or a new saddle.

Input: xyz, the 3-by-N matrix of coordinates of the configuration of atoms.

Output: pgo, the point group.

(4) glue_networks.m (by Y. Forman) computes the transition probabilities from minima

of LJN to minima of LJN+1 as a result of a new atom arrival.

(5) remove_one_atom.m finds the minima of LJN-1 resulting from a one atom removal from minima of LJN.

(6) sort_data.m sorts the energy minima in the ascending order and

modifies the other data files referring to minima by their indices accordingly.

(7) visualconf.m draws energy minima as polyhedra.

Indicate Na = N = the number of atoms and icons = the index of minima inside the program.

(8) drawLJconf.m draws atoms configurations using balls.

Input: xyz, the 3-by-N matrix of coordinates of the configuration of atoms, and

fig, the figure number in which you want the configuration to be displayed.

(9) BFGS_trust_region.m finds local minima using Trust Region BFGS method with maximal trust region radius Rmax = 0.1. (Rmax can be changed inside the program).

Input:

xyz, the 3-by-N matrix of coordinates of the configuration of atoms.

tol (the tolerance), stop if the norm of the gradient is less than tol. I use tol = 1e-9.

iter_max, the maximal number of iterations allowed. I use iter_max = 500.

Output:

xyz, the 3-by-N matrix of coordinates of the configuration of atoms,

f, the value of energy.

freq = log(abs(det(Hess))).

flag, a logic variable. flag = 1 if the method found an isolated local minimum, flag = 0 otherwise.

(10) Newton_trust_region.m finds local minima using Trust Region Newton method with maximal trust region radius Rmax = 0.1. (Rmax can be changed inside the program).

Input:

xyz, the 3-by-N matrix of coordinates of the configuration of atoms.

tol (the tolerance), stop if the norm of the gradient is less than tol. I use tol = 1e-9.

iter_max, the maximal number of iterations allowed. I use iter_max = 500.

Output:

xyz, the 3-by-N matrix of coordinates of the configuration of atoms,

f, the value of energy.

freq = log(abs(det(Hess))).

flag, a logic variable. flag = 1 if the method found an isolated local minimum, flag = 0 otherwise.

(11) make_random_configuration.m creates a random atomic configuration

such that any atom touches at least one other atom,

and there is a path from any atom to any other atom passing from one atom to another only it they touch each other.

Input: Na = the number of atoms.

(12) remove_rotations_translations.m applies and orthogonal transformation to the input configuration cuz so that

atom 1 is moved to the origin, atom 2 is placed on the x-axis, and atom 3 is put to the xy-plane.

Input:

xyz, the 3-by-N matrix of coordinates of the configuration of atoms,

Output:

x, the (3N - 6)-by-1 column vector where the zeros corresponding to

x1, y1, z1, y2, z2, and z3 are removed.

(13) transition_rate.m computes the transition rate via the saddle with index tsindex of LJNa at temperature tem.

the saddle tsindex separates minima mi1 = ts(tsindex,5) and mi2 = ts(tsindex,6).