Starting from (more or less) randomly chosen initial configuration, the MATLAB function mol_Optimize finds minima of the potential energy hypersurface of a molecular system by means of multivariate optimization (typically unconstrained). Most often local minima are found. Hence it is recommended to run many minimizations to increase the chance of finding the global minimum energy structure.
As an alternative, in particular for very high-dimensional problems, we recommend to use the simulated annealing technique, which is built in as a variant in our mol_MonteCarlo code
The MATLAB function mol_Optimize.m can be found here
Initial conformations are generated by one of the following functions
ini_spheroid.m: Randomly putting all molecules on the surface of a spheroid of given radius
ini_cuboid.m: Randomly putting all molecules inside a cuboid of given size
ini_icosahedral.m: Putting all molecules to center and 12 vertices of an icosahedron of given size
ini_fcc.m: Set up a face-centered cubic (fcc) lattice with given lattice constant (scalar) and given numbers of unit cells
ini_hcp.m: Set up a hexagonal close packed (hcp) lattice with given lattice constants (vector) and given numbers of unit cells
Note that conformations are discarded where molecules come too close to one another.
The resulting optimized geometries are written to an xyz-file named minima...xyz. Upon repeated runs of mol_Optimize.m additional data are appended to the end of that file. These results can be visualized (e.g. using JMOL or VMD software) and/or the geometries can be sorted according to energy by our MATLAB function mol_SortMimima.m
Note that function mol_Initialize has to be run previously in order to initialize all variables in use. Of particular interest are the following structures:
Minimization of potential energy (unconstrained multivariable function)
Wiki: Developers.Files.xyz
Wiki: Developers.Variables.initial
Wiki: Developers.Variables.inter
Wiki: Developers.Variables.intra
Wiki: Developers.Variables.molecule
Wiki: Developers.Variables.optimize
Wiki: Developers.Variables.simulation
Wiki: Users.Main
Wiki: Users.Programs.mol_Initialize
Wiki: Users.Programs.mol_MonteCarlo
Wiki: Users.Programs.mol_SortMinima