-
Notifications
You must be signed in to change notification settings - Fork 6
Home
- Overview
- Initial Setup
- Step 1: Copy optimized reactant geometries to respective react.xyz files
- Step 2: Generate frozen.xyz files for each reactant using the makefrozen executable
- Step 3: Edit the frozen.xyz files so that they only contain the frozen atoms for each respective reactant
- Step 4: Check the inpfileq file
- Step 5: Check the LIMITS file
- Step 6: Check the qstart file
- Step 7: Submit zstruct.qsh
- Step 8: Edit the reactdftX files in the scratch directory
- Step 9: Run the qmake_dft executable and run the DFT optimizations
- Step 10: Check ZStruct2 output files
- Step 11: Run the qmake_gsm executable and run the growing string
- Step 12: Check the stringfiles and corresponding output files
- Troubleshooting and FAQS
- References
Sample tutorial files can be found under the tutorial folder: https://github.com/ZimmermanGroup/ZStruct/tree/master/tutorial
Required input:
- Optimized reactant structures (see “Molecular growing string” > “geometry optimization” tutorial)
- Reactive atoms on each reactant
- Level of theory needed for the calculations Example input files can be found here:
The files you will find are as follows:
(## in file name refers to a number. e.g, 0001)
| File | Description |
|---|---|
| frozen##.xyz | Atoms 1-N (N=number of atoms) for reactant ##. Reactive atom numbers are deleted from the file. Atoms listed in file are considered frozen (unreactive) |
| gfstringq.exe | Executable for growing string |
| gscreate | Creates input for growing string |
| inpfileq | Contains constraints and input parameters for growing string |
| LIMITS | Lists elements and the minimum and maximum number of connections that are allowed for each respective element. The final line lists the maximum number of atoms that ZStruct2 will allow to be present in an initial##.xyz file |
| makefrozen | Generates frozen##.xyz – User needs to change the contents of the file to accurately reflect the frozen##.xyz file number (##) value as well as the number of atoms in the respective reactant |
| makeInitialText | executable to print all initial##.xyz files from the scratch directory into a single file |
| makeIsomersText | executable to print all ISOMERS##.xyz files from the scratch directory into a single file |
| qend | Contains the line $end. It gets appended to the end of qchem input files via gscreate |
| qmake_dft | Executable to generate the go_dft.qsh script in the scratch directory. Used to run DFT optimizations on reactants before zstruct2 will run |
| qmake_gsm | Executable to generate the go_gsm_dft.qsh script in the scratch directory. Used to run growing string after ZStruct2 generates the initial##.xyz & ISOMERS## input files |
| qstart | Qchem input for growing string runs |
| react##.xyz | Optimized Cartesian coordinates for a single reactant. Specify new reactants by changing the number. Reactant 1 would be react1.xyz. Reactant 2 would be react2.xyz and so on |
| scratch directory | Directory that contains output from zstruct2 and growing string runs |
| status | Executable that prints out current status of growing string run output, including information about energies, gradients, and success or failure of a TS finding calculation (see “Surface growing string” > “analyzing output” for more details) |
| zstruct.exe | Zstruct2 executable |
| zstruct.qsh | Script to submit ZStruct2 |
An example ZStruct2 calculation can be found here. The calculations were ran for a reaction between cisplatin, methane, and water.
Steps for running ZStruct2:
Setup should look as follows: reactant1.xyz
- alter the name “frozen.xyz” to the correct “frozen#.xyz” name
- alter the a=15 value to reflect the correct number of total atoms
Step 3: Edit the frozen.xyz files so that they only contain the frozen atoms for each respective reactant
- The example above has a reactant with 11 atoms.
- Atoms 1,2, and 4 are considered reactive and have been deleted from the file
- Ensure that the parameters specified are correct for your calculation
- Normally these parameters should not need to be altered
- Make sure that every atom in your reactants is listed
- Ensure that the maximum and minimum number of connections are reasonable
- Make sure that the maximum number of atoms (bottom line) is larger than the total number of atoms in your reactant structures combined. LIMITS
- In the file (shown above) the elements are listed followed by the minimum then maximum number of connections allowed for that element.
- The bottom lines contain the maximum number of atoms ZStruct2 will put into an initial#.xyz file.
- Check that the functional, basis set, and ECP settings are all correct.
- The level of theory used should match the levels of theory used for geometry optimizations.
- You can edit the file to change the name associated with the job in the queue as well as walltime etc.
- Once this is ran the input for DFT optimizations will be generated in the scratch directory
- DFT optimization input is generated for each reactant in the scratch directory.
- Edit each file to make sure that the level of theory in the input file matches that used in the qstart file
- By running qmake_dft the script to submit DFT optimizations will be generated in the scratch directory
- Edit the submit script to reflect the correct walltime, number of processors etc.
- Submit the DFT optimizations to the queue.
- Once the optimizations are complete ZStruct2 will run and generate files.
- ISOMERS# files will be generated (in the scratch directory) *These files contain the driving coordinates for each respective change in connectivity that can occur. *One ISOMERS file for each combination of connectivity changes that could occur based on connection limits in the LIMITS file.
- Initial files will be generated (in the scratch directory)
- For each ISOMERS file a corresponding initial.xyz is generated.
- These files contain the aligned reactants based on which atoms are being added together in bimolecular reactions.
- GSMDATA_sub (located in the main directory where react.xyz files are located)
- Contains a reference for which ISOMERS/initial files correspond to which reactant pairs
- 0 corresponds to react1, 1 corresponds to react 2 and so on.
- -1 means that no ISOMERS/initial file was generated for reactant or pair GSMDATA_sub
- Progress.log (located in the main directory where react.xyz files are located)
- Contains information regarding the alignments of reactants when one reactant contains a metal center.
The scripts makeIsomerText and makeInitialText can be used to generate files which put all of the ISOMERS or initial.xyz files into a single file.
The isomers file can be opened in the terminal to look at all of the ISOMERS files in succession.The initial file can be opened in Molden to look at how the initial structures align (see workstation setup to learn how to access Molden)
- By running qmake_gsm the script to submit gsm calculations will be generated in the scratch directory
- Edit the submit script to reflect the correct walltime, number of processors, etc.
- Also specify which ISOMERS/initial files you want to run strings for.
- Submit the gsm optimization to the queue
- Once the optimizations are complete qchem will generate the stringfiles and corresponding output files for each string.
- Qchem and GSM will produce stringfiles for each ISOMERS/initial file submitted to qchem
- Paragsm files for each string will be generated – these contain information from the qchem run
- Various other files corresponding to string nodes will also be generated.
- Each file will share the same number label, which matches the ISOMERS/initial file that was used to generate the string and nodes.
- ./status can be used to check the status of strings during and after a GSM calculation
- Stringfiles can then be opened and analyzed in Molden or other molecular structure visualization software.
- P. M. Zimmerman, “Automated Discovery of Chemically Reasonable Elementary Reaction Steps,” Journal of Computational Chemistry, 34(16), 1385-1392 (2013).
- P. M. Zimmerman, “Navigating Molecular Space for Reaction Mechanisms: An Efficient, Automated Procedures,” Molecular Simulation, 41, 43-54 (2015).
- Overview
- Installation
-
Initial Setup
- Step 1: Copy optimized reactant geometries to respective react.xyz files
- Step 2: Generate frozen.xyz files for each reactant using the makefrozen executable
- Step 3: Edit the frozen.xyz files so that they only contain the frozen atoms for each respective reactant
- Step 4: Check the inpfileq file
- Step 5: Check the LIMITS file
- Step 6: Check the qstart file
- Step 7: Submit zstruct.qsh
- Step 8: Edit the reactdftX files in the scratch directory
- Step 9: Run the qmake_dft executable and run the DFT optimizations
- Step 10: Check ZStruct2 output files
- Step 11: Run the qmake_gsm executable and run the growing string
- Step 12: Check the stringfiles and corresponding output files
- Troubleshooting and FAQS
- References
- External links