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 `LJdata`

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

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

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,

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

PGO is the point group order,

min1 and min2 are the minima separated by the saddle.

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

Format of `LJNmin_xyz`

and `LJNts_xyz.txt:`

x11 and x12 ... x1N

y11 y12 ... y1N

z11 and z12 ... z1N

...

xM1 xM2 ... xMN

yM1 yM2 ... yMN

zM1 zM2 ... zMN

where xij, yij, zij 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 with 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`

It finds saddles by the technique proposed by the 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 of the transition probablities from minima of LJN to m inima 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 polydedra. 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.

`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 macimal 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 if 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 movedto the origin, atom 2 is placed on the x-acis, 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).