4.2. Example: (H2O)6


The sample input and output files can be found in testfiles/rigidmol/1-h2o6.

The system here is \(\left(\mathrm{H}_2\mathrm{O}\right)_{6}\). Its parameter file is misc/charmm36/tip4p.xyz.

Step 1: Prepare an input file named h2o6.inp with the following content:

1h2o6.cluster # cluster file name
220           # population size
320           # maximal generations
43            # scout limit
54.0          # amplitude
6h2o6         # save optimized configuration
730           # number of LMs to be saved

The texts after # are comments and can be arbitrary. I will explain the input line by line:

  1. The name of the file that contains cluster components and geometry. It will be explained in the next step.

  2. The population size \(SN\). See Theoretical Background for details.

  3. The maximum cycle number \(g_{\mathrm{max}}\). See Theoretical Background for details.

  4. The scout limit \(g_{\mathrm{limit}}\). See Theoretical Background for details.

  5. The estimated size of the cluster in Angstrom. See Theoretical Background for details.

  6. The folder name to save local minima.

  7. The number of local minima to be saved.

Step 2: Copy misc/charmm36/tip4p.xyz to the current path. Then prepare the cluster file named h2o6.cluster with the following content:

2tip4p.xyz 6
3* 4.0000
  1. The kind of molecules in the cluster. For \(\left(\mathrm{H}_2\mathrm{O}\right)_{6}\), this is 1; For \(\mathrm{Na}^{+}\left(\mathrm{H}_2\mathrm{O}\right)_{3}\left(\mathrm{CH}_3\mathrm{OH}\right)_2\), this is 3.

  2. The parameter file name (with path, if necessary), and the number of this molecules in the cluster. If there are more than one kind of molecules in the cluster, then each molecule should be given by a line like this.

  3. Here, * 4.0000 means generating a random initial guess with \(L\) = 4.0000.


In cluster files, the parameter files can be given with relative or absolute path. For example, if the water parameter file is at /home/you/abcluster/misc/tip4p.xyz and you do not want to copy it, you can simply give the absolute path of this file in h2o6.cluster like /home/you/abcluster/misc/tip4p.xyz 6.

Note that, rigidmol will also generate *.cluster files, but it does not end with something like * 4.00 but with some real numbers, for example:

A cluster file generated by rigidmol
2tip4p.xyz 6
3Water hexamer
4 3.5  7.0  -0.2  1.3  2.9  0.6
5 4.0  0.9   3.1  4.3  3.2  3.8
6-1.8  4.4   1.0  0.8  0.2  0.6
7 4.2  3.4   3.9  1.9  0.2  3.2
8 3.6  4.7   2.9  3.6  1.7  1.7
9 5.1  5.2  -0.6  1.6  2.8  3.5

These numbers are rigid coordinates of each molecule in the cluster. You do not need to care about them.

Step 3: Run the global optimization:

$ rigidmol h2o6.inp > h2o6.out

After a few seconds, you will find several new files:

  • h2o6.out The main output file.

  • h2o6-OPT.cluster The global minimum in ABCluster format. It can only be read by rigidmol. Also, it can be used as the initial guess of a new optimization.

  • h2o6-OPT.xyz The global minimum in XYZ format. It can be read by, for example, VMD, CYLView, or VESTA.

  • h2o6-OPT.gjf The global minimum in Gaussian input format. It can be read by, for example, GaussView.

  • h2o6-LM A folder containing all local minima, each one having two files in XYZ, Gaussian input, and ABCluster format, respectively. They are sorted in energy-increasing order, e.g. 0.xyz is lower in energy than 13.xyz.

  • abcluster*.cluster/xyz/gjf/cluster The file containing the currently found global minimum during the running of rigidmol. You can check the current stable structure before rigidmol terminates. If it crashes, one can use this abcluster*.cluster to start a new optimization.

You will find the global minimum in h2o6-OPT.xyz and local minima in h2o6-LM. Below, the global minimum h2o6-LM/0.xyz (cage isomer) and an important local minimum h2o6-LM/2.xyz (prism isomer).

alternate text alternate text