Contact Liz Doty: [email protected]
The growing string method is a reaction path and transition state finding method developed in c++.
For more information, check out the wiki page: https://github.com/ZimmermanGroup/molecularGSM/wiki
Sample tutorial files can be found under the tutorial folder: https://github.com/ZimmermanGroup/molecularGSM/tree/master/tutorial
Running GSM with the XTB package (from the Grimme lab): https://github.com/grimme-lab/xtb_docs/blob/master/source/gsm.rst
The easiest way to install GSM is with Pixi, which handles all dependencies automatically.
- Install Pixi if you haven't already
- Install GSM globally:
pixi global install \
--git https://github.com/ZimmermanGroup/molecularGSM.gitThis builds GSM with MOPAC support (default) and makes gsm available in your PATH.
To build with a different energy calculator backend, set the appropriate environment variable:
| Backend | Command |
|---|---|
| Q-Chem | GSM_ENABLE_QCHEM=1 pixi global install --git ... |
| Q-Chem SF | GSM_ENABLE_QCHEM_SF=1 pixi global install --git ... |
| ORCA | GSM_ENABLE_ORCA=1 pixi global install --git ... |
| Gaussian | GSM_ENABLE_GAUSSIAN=1 pixi global install --git ... |
| Molpro | GSM_ENABLE_MOLPRO=1 pixi global install --git ... |
| ASE | GSM_ENABLE_ASE=1 pixi global install --git ... |
| Turbomole | GSM_ENABLE_TURBOMOLE=1 pixi global install --git ... |
For example, to install with Q-Chem:
GSM_ENABLE_QCHEM=1 pixi global install \
--git https://github.com/ZimmermanGroup/molecularGSM.gitFor development or to install from a local clone:
git clone https://github.com/ZimmermanGroup/molecularGSM.git
cd molecularGSM
pixi installThis makes the gsm executable available in the pixi environment:
pixi run gsm <input_number>
pixi run test # run included testYou can also install globally from the local path:
pixi global install --path .Alternatively, this code can be built using CMake directly. To do so:
- Load/install CMake
- Load MKL (On Athena use
intel/oneapi/mkl/2021.1.1and GCC, e.g.gcc/12.1.0) - Clone this repository, use master branch
$ git clone https://github.com/ZimmermanGroup/molecularGSM.git
$ cd molecularGSM- Create a BUILD directory at the same level as GSM
$ mkdir BUILD
$ cd BUILD- Configure using CMake
$ cmake -D GSM_ENABLE_QCHEM=1 ../- other options:
- GSM_ENABLE_QCHEM_SF=1
- GSM_ENABLE_ORCA=1
- GSM_ENABLE_GAUSSIAN=1
- GSM_ENABLE_MOLPRO=1
- GSM_ENABLE_ASE=1
- If no option is specified, the code will use MOPAC as its energy calculator. Check mopac.cpp to make sure charge/multiplicity is correct, since that is hard-coded.
- After successful configuration. To compile:
$make -j8- An executable named
gsmwill be created inBUILD/GSMdirectory.
To run gsm, copy the executable to the working directory (where the input files are) or reference it using the full path.
There are five test examples: alanine dipeptide isomerization, ammonia borane reactions, diels alder reaction, ethylene rotation, and methanol formaldehyde reaction. After building the executable you can use type $ ctest to run the tests. When each test is complete, the output will be compared with the standard output in each test directory. If the difference in coordinates of a each atom is more than 0.001, the test will fail.