Navigation:
Analysing the basin-hopping results using Cluster
Important
This is a continuation of the Basin-Hopping tutorial using Orient. Please read that tutorial first, before getting to this one.
The //Cluster// program that is part of the //CamCASP// suite of codes can be used to perform an analysis of the results of the Basin-Hopping simulations. Here is a sample code:
Title Re-orient and analyse clusters Global Units Bohr Degrees kJ/mol End Orient Geom-File RDX_run1.geom Geom-File RDX_run2.geom APPEND OFFSET 100 Reorient RDX2 ! R-scalings 0.80 0.85 0.90 0.95 1.00 1.05 1.10 1.20 1.40 Sort Write Format Orient All Analyse Sort Similarity Moments & Energy Energy-Sigma 0.5 kJ/mol Moment-Sigma 40.0 AMU Similarity-cutoff 0.5 Details End End Finish
In this example, the outputs of two Basin-Hopping simulations is analysed. Cluster uses the files containing the minima. These will be the files names with the command:
minima <filename>
in the Basin-Hopping commands in the Orient command file. Here these are //RDX_run1.geom// and //RDX_run2.geom//. The APPEND command tells Cluster to append the contents of the second file after those of the first. The OFFSET 100 command tells it to change the numbers of the minima in the second file by 100. This ensures that we have unique numbers to all minima. Of course, if your files contain more than 100 minima each then a larger offset will be needed.
Run this using
$ cluster < reorient-analyse.clt > reorient-analyse-1.out
It will run in a few seconds or so. The output will be fairly large, but the important parts are at the bottom and should be something like
Configuration statistics ! Config List name : CfgList-1 ! Configs read from file : RDX_run1.geom UNITS BOHR DEGREE KJ/MOL AMU BOHR^2 ! ---------------------------------------------------------------------------------------------------------------- ! INDEX ENERGY I_XX I_YY I_ZZ NUM-MOLS NUM-SIMILAR SYMMETRY ! ---------------------------------------------------------------------------------------------------------------- 9 -38.673719 4816.657600 26521.382000 29029.103000 2 2 C1 13 -32.596392 5097.135300 25781.361000 28326.087000 2 4 C1 8 -31.943536 7273.543700 15751.536000 16833.182000 2 2 C1 12 -31.369167 6174.222300 21108.671000 24421.995000 2 2 C1 1 -31.160460 6116.310500 20960.708000 24786.811000 2 2 C1 6 -30.967247 5696.724600 24537.264000 27691.237000 2 2 C1 4 -30.870978 5711.535600 24567.950000 27727.494000 2 2 C1 5 -28.023902 6687.209600 16258.763000 18142.056000 2 2 C1 20 -25.506775 7418.221300 17500.675000 18939.431000 2 2 C1 15 -25.460627 8009.331400 14364.374000 15967.696000 2 2 C1 3 -25.366652 8256.744300 15029.776000 15387.661000 2 2 C1 18 -25.236796 5352.739300 25368.417000 27793.813000 2 4 C1 17 -25.146462 7353.113400 17708.961000 19113.039000 2 2 C1 21 -24.510071 6882.945500 20990.439000 22027.654000 2 2 C1 14 -24.469602 6896.643800 20927.123000 21948.175000 2 2 C1 7 -23.014142 6294.826700 22029.994000 25021.199000 2 4 C1 2 -22.727332 6003.548700 24192.692000 28466.521000 2 4 C1 16 -22.052672 7586.187000 20946.833000 21977.863000 2 2 C1 End Finish Exiting program cluster_operations
This listing is a summary of the minima that Cluster considers as unique. The fields include:
- INDEX : the unique index of the minimum
- ENERGY: energy in units specified
- I_XX, I_YY, I_ZZ: moments of inertia in principle axes.
- NUM-MOLS: Number of molecules in the cluster. Here only 2 in each as we searched for only dimers.
- NUM-SIMILAR: Number of minima that Cluster considers to be similar. We expect to find 3-5 similar structures for each of the low-energy minima.
- SYMMETRY: At present the code does not find the point-group symmetry, so it prints out 'C1' for all.
The clustering is done using the commands in the ANALYSE block:
Analyse Sort Similarity Moments & Energy Energy-Sigma 0.5 kJ/mol Moment-Sigma 40.0 AMU Similarity-cutoff 0.5 Details End
Here the structure similarity is based on the moments of inertia and the energies. Each quantity is given a tolerance set by a standard deviation. This defines a similarity probability as a normal distribution with the specified width. Structures are deemed to be similar to a probability. The cutoff level is set by Similarity-cutoff. Here it is $0.5$ so structures with a similarity probability $p \ge 0.5$ are deemed to be similar.
The clustering will depend on the standard deviations chosen. This needs to be tuned to the problem of interest. It is quite likely that the Energy-Sigma is too large in the example above, and quite likely that the Moment-Sigma is too small. You need to experiment to decide.
Configuration scan for a selected dimer
Computing the energy at a single dimer configuration is usually not very informative. Instead, more information may be gained by performing a suitable scan of geometries near the particular dimer (in configuration space). But configuration space for a pair of two rigid molecules is 6 dimensional, so we need to restrict the calculation to a scan along a particular direction, which is often chosen to be a radial direction.
The //Cluster// code can be used to generate radial scans for pairs of interacting molecules using the configuration previously read/analysed in the Orient block as described above. The commands are:
reorient-analyse-write-configs.clt
Orient Geom-File RDX_run1.geom Reorient RDX2 Sort Analyse Sort Similarity Moments & Energy Energy-Sigma 0.5 kJ/mol Moment-Sigma 40.0 AMU Similarity-cutoff 0.5 Details End ! R-scalings 0.80 0.85 0.90 0.95 1.00 1.05 1.10 1.20 1.40 Write Format GEOM Config 9 ! End
In this example, after the sorting and analysis has been done, one of the configurations, in this case, configuration 9, has been selected. Keeping the relative orientation of the dimer in this configuration fixed, the centre-of-mass separation between the two molecules is scaled using the R-scalings values to generate a set of configurations. When //Cluster// is run on the command file we get, at the end of the output:
! CGF = 9 ! Config List name : CfgList-1 ! Configs read from file : RDX_run1.geom ! UNITS BOHR DEGREE KJ/MOL 1 -12.62296408 -3.31124455 5.26638266 180.61242241 0.50458282 0.02386497 0.86303339 2 -13.41189934 -3.51819734 5.59553158 180.61242241 0.50458282 0.02386497 0.86303339 3 -14.20083459 -3.72515012 5.92468050 180.61242241 0.50458282 0.02386497 0.86303339 4 -14.98976985 -3.93210291 6.25382941 180.61242241 0.50458282 0.02386497 0.86303339 5 -15.77870510 -4.13905569 6.58297833 180.61242241 0.50458282 0.02386497 0.86303339 6 -16.56764036 -4.34600848 6.91212725 180.61242241 0.50458282 0.02386497 0.86303339 7 -17.35657561 -4.55296126 7.24127616 180.61242241 0.50458282 0.02386497 0.86303339 8 -18.93444612 -4.96686683 7.89957400 180.61242241 0.50458282 0.02386497 0.86303339 9 -22.09018714 -5.79467797 9.21616966 180.61242241 0.50458282 0.02386497 0.86303339 !
The (in this case) 9 configuration shown above are all based on configuration 9. Notice how only the radial separation vector $(R_x,R_y,R_z)$ changes. The angle and rotation axis are fixed. This set of configurations can be used in //Orient// and //Cluster// to compute energies as described on pages:
If you wish to convert these angle-axis coordinates into an XYZ file then see this tutorial: