Maria K. Cameron

University of Maryland, Department of Mathematics

Home Research CV Publications Teaching Photos Software and Datasets

Lennard-Jones (created by M. Cameron, Y. Forman, and S. Sousa Castellanos

The package 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).


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


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.


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


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).