Skip to content

Input and Keywords

Judit Zádor edited this page May 21, 2024 · 137 revisions

Input and Keywords

Input

The main input is a json file (e.g. called input.json) in the directory where the calculations will be run. The json dictionary lists the options and parameters of the KinBot run. When a default parameter value is defined, the keywords are optional. All keywords are case-sensitive. The username parameter needs to be specifically set for each user's .json file.

json files can be validated e.g. with this online tool: https://jsonlint.com/.

This is an example input:

{
"title":"pentyl_pes",
"queuing" : "slurm",
"queue_name" : "normal",
"charge" : 0,
"mult" : 2,
"method" : "b3lyp",
"basis" : "6-31+g*",
"qc" : "gauss",
"conformer_search" : 0,
"reaction_search" : 1,
"rotor_scan" : 0,
"high_level" : 0,
"pes" : 1,
"barrier_threshold" : 50.0,
"ppn" : 4,
"username" : "user",
"single_point_command" : "molpro -d /scratch/ --mpp -n 4",
"single_point_ppn" : 4,
"smiles" : "[CH2]CCCC"
}

Restart

While KinBot is fully restartable, some parameters cannot be changed upon restart without compromising the calculations. These are marked with an asterisk (*).

General Parameters

parameter default description
title N/A Title of the KinBot run. Required.
verbose 0 Print verbose information to the log file

Reactant Information

parameter default description
smiles * N/A SMILES of the starting well. Required if no structure is given.
structure * N/A Required if no smiles is given
charge * 0 Charge of the PES.
mult * N/A Multiplicity of the PES. 1 is singlet, 2 is doublet, etc.
bimol * 0 Whether or not the starting point is a bimolecular reaction. (under development)

Request actions taken by KinBot

parameter default description
reaction_search 1 1: search for reactions, 0: do not.
families ["all"] List of the reaction types to use in the reaction search. If ‘all’ is put in the list, all of the families are used. Otherwise it is possible to choose any number from the list underneath this section. Additionally, it is possible to supply 'combinatorial' which searches for reactions in a combinatorial fashion. This leads to a very large number of reaction searches.
bimol_families ["all"] List of the reaction types to use in the reaction search if the initial species is a bimolecular reaction. If ‘all’ is put in the list, all of the families are used. Otherwise it is possible to choose any number from the list underneath this section. Additionally, it is possible to supply 'combinatorial' which searches for reactions in a combinatorial fashion. This leads to a very large number of reaction searches..
skip_families ["none"] List of reaction families to skip during a kinbot run.
skip_chemids ["none"] List of chemids to skip KinBot runs of during PES calculations. If 'none' is put in the list then all of the chemids generated during a PES calculation for KinBot runs will be submitted. Skipped chemids should be entered as strings, e.g., ["842282702691721350181", "842282832261801180571"].
keep_chemids ["none"] List of chemids to keep and run KinBot for during PES calculations. If 'none' is put in the list then all of the chemids generated during a PES calculation for KinBot runs will be submitted. The selected chemids should be entered as strings, e.g., ["842282702691721350181", "842282832261801180571"]. This mode of calculations is meaningful and useful when an L1 PES is completed, but it is desired to run further calculations on a subset of these wells only.
variational 0 Whether to perform variational calculations for the homolytic scissions.
barrierless_saddle {} Only break specific bonds in the homolytic search. This is a dictionary written as {chemid1: [[atom1, atom2], [atom3, atom4], ...], [chemid2: [..]]}
barrierless_saddle_start * 2.0 Starting distance for barrierless_saddle search.
barrierless_saddle_step * 0.2 Step size for barrierless_saddle search.
homolytic_bonds {} For species sp include homolytic scission between atoms a and b (zero-indexed), the syntax is {"chemid of sp": a, b}. Several species and several bonds per species can be included.
specific_reaction 0 Search for specific reaction in which user defined bonds are broken or formed based on the 'break_bonds' and 'form_bonds' parameters below. Feature is in testing/development.
break_bonds [] Bond between atoms listed will be broken. (ex: [2,5] breaks the bond between atoms 2 and 5.) Atom numbering begins at index 0.
form_bonds [] Bond between atoms listed will be formed. (ex: [3,4] forms the bond between atoms 3 and 4.) Atom numbering begins at index 0.
barrier_threshold 100.0 Maximum electronic energy (i.e., no ZPE is included) in kcal mol-1 above which barriers are neglected and the search for products is terminated.
hom_sci_threshold_add 5.0 Additional energy over barrier_threshold specific to barrierless reactions.
scan_step 30 Number of scan points for reaction families where no geometry template is given but rather the TS is searched for via scanning the energy as a function of the bond length of two atoms.
pes * 0 0: search only for the reactions of the starting well, 1: explore the full multiwell PES.
simultaneous_kinbot 5 Maximum number of simultaneous kinbot runs during a full pes search.
high_level 0 1: run high-level (L2) optimizations and frequency calculations, 0: the low-level (L1) results are used.
calc_aie 0 1: run calculations of ionic counterparts to compute Adiabatic Ionization energies, 0: Do not run them.

Parameters relevant to conformational search.

parameter default description
conformer_search 0 1: perform conformational search, 0: do not.
conf_grid * 3 The angular grid for dihedrals in the conformational search, angle = 360 / grid.
semi_emp_conformer_search 0 Whether to carry out a semiempirical optimization prior to L1.
rotor_scan 0 1: perform 1D hindered rotor scans, 0: do not.
nrotation * 12 Number of energy evaluations along a 1D hindered rotor scan.
free_rotor_thrs 0.1 Threshold to consider a rotor free. This is the maximum barrier in kcal/mol.
plot_hir_profiles 0 Make figures of the HIR profiles
me 0 1: automatically run the master equation calculations, 0: do not.
rotation_restart 3 Number of hindered internal rotor calculation restarts in case a lower energy point is found along a scan.
max_dihed * 5 Maximum number of diherals for which exhaustive conformation search is done.
random_conf * 500 Number of random conformers in case no exhaustive search is done.
flat_ring_dih_angle * 5.0 If the dihedral angle between four atoms in a ring are smaller than this value (in degrees), then that section of the ring is considered flat, and is not considered in the ring conformer search algorithm.
multi_conf_tst 0 Set up a multi-conformer TST calculation, useful for low-temperature, e.g., atmospheric chemistry.
multi_conf_tst_temp 300 Temperature (in K) for which the conformers are considered if multi_conf_tst is active.
multi_conf_tst_boltz 0.05 Fractional abundance as in exp(-E/RT), where T is multi_conf_tst_temp, above which a conformer is discarded.
print_conf 0 If set to 1, KinBot prints the list of unique conformers into the log file. Can take longer on restarts in case of many conformers. If multi_conf_tst is 1, it is always printed. Note that in that case only the ones determined by multi_conf_tst_temp and multi_conf_tst_boltz are considered.
min_bond_break 2 In the combinatorial reaction search, this parameter specifies the minimum number of bonds to be broken per reaction.
max_bond_break 3 In the combinatorial reaction search, this parameter specifies the maximum number of bonds to be broken per reaction.
comb_molec 1 In the combinatorial reaction search, allow for molecular pathways.
comb_rad 1 In the combinatorial reaction search, allow for radical pathways.
comb_lone 1 In the combinatorial reaction search, allow for reactions involving lone electron pairs.
comb_pi 1 In the combinatorial reaction search, allow for reactions involving pi-electrons.
break_valence 1 In the combinatorial reaction search, allow for atom valences to be altered.
one_reaction_comb 0 Search for a specific reaction using the combinatorial algorithm.
one_reaction_fam 0 Search for a specific reactions using the reaction family algorithm.
ringrange [3, 9] For cyclic transition states search for cycle sizes within this range.
barrierless_saddle {} Prescribe which bonds to be broken for which species to search for the barrierless_saddle channel in the following form: {chemid1: [[atom1, atom2], [atom3, atom4], ...], [chemid2: [..]]}. In this case for species 1 defined by the chemid two barrierless channels are searched for, the breaking of the atom1 -- atom2 and atom3 -- atom4 bonds. For species 2 further requests can be provided. Note that the family can only be requested once the chemids and the atom numbers are known, such as on a restart.
barrierless_saddle_start 2.0 The starting distance for the scan in the barrierless_saddle family in Angstrom.
imagfreq_threshold 50. The largest imaginary frequency (need a positive number) that is still accepted as valid for minima. In the master equation the frequency is flipped, and a warning is given in the log file.

Parameters relevant to variable reaction coordinate transition state theory (VRC-TST) calculations.

parameter default description
vrc_tst_scan_parameters {"start": 2.0} Starting distance (Angstrom) for the VRC-TST 1D correction. If the distance is smaller than the bond length to scan, start becomes the initial-bond-length.
{"step": 0.1} Step (Angstrom) between the distances of the VRC-TST 1D correction.
{"stop": 20.0} Last distance (Angstrom) between of the VRC-TST 1D correction.
{"distances": None} List of distances (Angstrom) to use for the VRC-TST 1D correction. Overrides step and stop.
{"molpro_key": "VTS_energy"} Variable name from which the Molpro energy is recovered.
{"molpro_tpl": "{kb_path}/tpl/molpro_calc.tpl"} Path of molpro template to be used for VRC-TST 1D correction. A basic internal template will be used if not provided.
vrc_tst_scan_methods {"L1": "ub3lyp"} Method to be used for the L1 level of the VRC-TST 1D correction. Should be the cheapest to provide L2 initial guess.
{"L2": "ub3lyp"} Method to be used for the L2 level of the VRC-TST 1D correction. Should converge to accurate geometries to provide for subsequent L3 initial guess.
{"L3": ["uwb97xd","ccsd(t)"]} Methods to be used for L3 level of the VRC-TST 1D correction. The first element should be the VRC-TST sampling level, while the second element should be the highest affordable level of theory. L3 calculations are currently carried-out with Molpro only. The molpro_tpl will be used to prepare the input. Possible values for L3 currently are b3lyp, ub3lyp, wb97xd, uwb97xd, ccsd(t) (automatically uses f12 approximation), caspt2(x,y) with x being the number of unpaired electrons and y the number of active orbitals.
vrc_tst_scan_basis {"L1": "6-31G"} Basis set to be used for the L1 level of the VRC-TST 1D correction. Should be the cheapest to provide L2 initial guess.
{"L2": "6-311++G(d,p)"} Basis set to be used for the L2 level of the VRC-TST 1D correction. Should converge to accurate geometries to provide for subsequent L3 initial guess.
{"L3": ["cc-pVDZ","aug-cc-pVTZ"]} Basis sets to be used for L3 level of the VRC-TST 1D correction. The first element should be the VRC-TST sampling level, while the second element should be the highest affordable basis set. L3 calculations are currently carried-out with Molpro only. The molpro_tpl will be used to prepare the input.
rotdPy_inputs None Creates the RotdPy inputs for barrierless reactions. The argument must be a dictionary. Key: Chemid of the KinBot well. Value: List containing two strings. The first string is the name of a reaction instance (or TS name), while the second is the name of the bimolecular product (as found in the KinBot summary file).
pp_oriented [1.5, 6] Bracket of distances (Angstrom) for which to use the internal pp_oriented procedure. Geometric placement of pivot points is automatic and depends on the valence of the reactive atoms.
pp_length {"H": [0.1], "O": [0.1], "N": [0.1], "C":[0.1]} Distances (in Bohr) between the pivot point and the atom used to define the reaction coordinate during the pp_oriented procedure.
pp_on_atom [5.0, 12.0] Bracket of distances (Angstrom) for which to use the internal pp_on_atom procedure. Should overlap with pp_oriented distances.
pp_on_COM 10.0 Minimum distance (in Angstrom) from which to place a single pivot point on the center of mass of each fragment. Should overlap with pp_on_atom distances.

Reaction types

  • intra_H_migration

      This is an RMG class.
    
      H-R~~~~~~~R* <==> R*~~~~~~~R-H
    
      Find all unique cases for ring sizes between 3 and 9. Works in both directions.
      H is moved to
      * radical site
      * multiple bond
      * lone pair
    
  • intra_H_migration_suprafacial

      This is a special case of H migration reactions over a double bond 
      (keto-enol type) that proceeds through a suprafacial instead of the
      common antrafacial TS.
    
  • intra_R_migration

      This is an class that covers several RMG classes.
      
      R cannot be an H, this is already taken care of in the intra_H_migration
      
      currently it moves atoms to radical sites only
    
  • cpd_H_migration

      This is an RMG class.
    
      H-C1-C=C-C=C-1 <==> C1=C-C=C-C(-H)-1
    
  • intra_OH_migration

      This is an RMG class.
    
      R*~~~~~~~O-OH <==> HOR~~~~~~~O*
    
      Find all unique cases for ring sizes between 3 and 9. 
    
  • Intra_RH_Add_Endocyclic_F

      This is an RMG class.
    
                                H
                                | 
      H-R~~~~~~~R=R ==> R~~~~~~~R-R
                        |         |
                         ---------
    
      Find all unique cases for ring sizes between 3 and 9. This is for the forward direction.
    
  • Intra_RH_Add_Endocyclic_R

      This is an RMG class.
    
              H
              | 
      R~~~~~~~R-R ==> H-R~~~~~~~R=R
      |         |
       ---------
    
      Find all unique cases for ring sizes between 3 and 9. This is for the reverse direction.
    
  • Cyclic_Ether_Formation

      This is an RMG class.
    
      R*~~~~~~~O-OR ==> R~~~~~~~O + OR
                        |_______|
    
      Find all unique cases for ring sizes between 3 and 9. The OR groups are not counted in the cycle size but have to be there.
      Only the forward direction is included.
    
  • Intra_R_Add_Endocyclic_F

     This is an RMG class.
    
      *R~~~~~~~~R=R ==> R~~~~~~~~R*-R
                        |___________|
    
  • Intra_R_Add_ExoTetCyclic_F

      This is an RMG class.
    
      *R~~~~~~~~R-R ==> R~~~~~~~~R + R*
                        |________|
    
  • Intra_R_Add_Exocyclic_F

      This is an RMG class.
    
      *R~~~~~~~~R=R ==> R~~~~~~~~R-R*
                        |________|
    
  • Intra_RH_Add_Exocyclic_F

      This is an RMG class.
    
      *R~~~~~~~~R=R ==> R~~~~~~~~R*-R
                        |___________|
    
  • Intra_RH_Add_Exocyclic_R

      This is an RMG class.
    
                                  H
                                  | 
      H-R~~~~~~~R=R <== R~~~~~~~R-R
                        |_______|
    
      Find all unique cases for ring sizes between 3 and 9. This is for the reverse direction.
    
  • Retro_Ene

      This is not an RMG class.
    
      R-R-R-R=R ==> R=R + R=R-R
    
  • Korcek_step2

      Generalized Korcek step 
      
      The 4 membered ring equals a 2,2 cycloaddition and is not considered here (no H shift involved)
      
      The 5 membered ring proceeds through a 6 membered transition state (including a 1,2 H migration):
    
          --O--O--
         |        |
      HO-C---C----C-R  ==> RCOOH + R3CC(R)O
         |  / \   |
         R R   R  R
    
      6-membered ring: TODO
    
      Only the forward direction is included.
    
  • r22_cycloaddition

      This is an RMG class.
    
      R      R         R---R
      ||  +  ||  <==   |   |
      R      R         R---R
    
      N.B.: only the reverse direction is available. Also, the 3 related RMG classes are treated as one.
    
  • r12_cycloaddition

      This is an RMG class.
    
                     R--R
      R=R + R: <==   \  /
                      R 
    
      N.B.: only the reverse direction is available. 
    
  • r12_insertion_R

      This is an RMG class.
    
                        X
                        |
      X-P + R-R <==   R-P-R
    
  • r13_insertion_CO2

      This is an RMG class.
    
                        O
                        ||
      O=C=O + R-R <== R-C-O-R
    
  • r13_insertion_ROR

      This is an RMG class.
    
      R1-O-R2 + R=R <== R1-R-R-O-R2
    
  • Diels_alder_addition

      This is an RMG class.
    
        R                  R
      //                 /   \
      R       R         R     R
      |  +    ||  <==   ||    |
      R       R         R     R
       \\                \   /
         R                 R
    
      N.B.: only the reverse direction is available. 
    
  • Intra_Diels_alder_R

      This is an RMG class.
      TODO it seems like this is the forward reaction, but the naming is confusing.
    
                           C
                          / \\
                         C   C
      C=C-C=C~~~C=C <==  |   |
                         C   C
                          \ //
                            C
    
  • ketoenol

      This is an RMG class.
    
      R=R-O-R <==> R-R-R=O
    
  • HO2_Elimination_from_PeroxyRadical

      This is an RMG class.
    
      H-R-R-O-O* ==> R=R + HO2
    
      N.B.: only the forward direction is available.
    
  • R_Addition_COm3_R

      This is an RMG class.
    
      C#O + R* <== R-C*=O
    
      N.B.: only the reverse direction is available. 
    
  • R_Addition_MultipleBond

      This is an RMG class.
    
      R=R + R* <== R*-R-R
    
      N.B.: only the reverse direction is available. 
    
  • 12_shift_S_F

      This is an RMG class.
    
  • 12_shift_S_R

      This is an RMG class.
    
      C-S-R* <== *S-R-C
    
      TODO: why not forward??
    
  • r13_insertion_RSR

      This is an RMG class.
    
      R-S-R + R1=R2 <== R-R1-R2-S-R
    
  • R_Addition_CSm_R

      This is an RMG class.
    
      C#S + R* <== R-C*=S
    
      N.B.: only the reverse direction is available. 
    
  • r14_birad_scission

      This is an RMG class.
    
      It is now renamed to 1,4_Linear_birad_scission on the RMG website,
    
      *R-R-R-R* ==> R=R + R=R
    
      Problematic reaction because of the biradical character.
    
  • r14_cyclic_birad_scission_R

      This is an RMG class.
    
      R1-R*~~~~~~R*-R2   <==  R1=R~~~~~~R=R2
      |______________|
      (this one bond)
    
      TODO forward?
    
  • birad_recombination_F

      This is an RMG class.
    
      *R~~~~~~~~R* ==> R~~~~~~~~R
                       |________|
    
  • birad_recombination_R

      This is an RMG class.
    
      *R~~~~~~~~R* <== R~~~~~~~~R
                       |________|
    
  • Intra_disproportionation_F

      This is an RMG class.
    
      *R~~~~~R*-R-H ==> H-R~~~~~R=R
    
  • Intra_disproportionation_R

      This is an RMG class.
    
      *R~~~~~R*-R-H <== H-R~~~~~R=R
    
  • bimol_disproportionation_R

      This is not an RMG class.
        X                  X
        |                  |
      R=R  *R*-R-H <== H-R-R-R=R
        |   |              | | 
        Y   Z              Y Z
    
      Like Intra_disproportionation_R, but the proximity of the two radicals leads to a bond breaking, and the formation of a double radical. 
    
  • beta_delta

      This is not an RMG class.
    
      A*-B-C-D-E ==> A=B + C=D + E* 
    
      It is the parallel breaking of not just the beta but also of the gamma bond, resulting in two unsaturated bonds and a radical.
    
  • h2_elim

      This is not an RMG class.
    
    
      H   H
      |   |
      X - X ==> X=X  + H2 
    
  • barrierless_saddle

      This is not an RMG class.
    
      R - R ==> R + R
    
      Attempts to find a saddle point for a nominally barrierless reaction.
    

Keywords Controlling the Quantum Chemical Calculations

Note the three levels:

  • L1: level for exploration
  • L2 = high-level: level for good geometries and frequencies
  • L3 = single-point : level for accurate electronic energies

Pro tip: If you want to add additional keywords to your calculations, you can type them as part of the basis set. E.g., adding dispersion correction at the L2 level looks like "high_level_basis": "6-311++G** EmpiricalDispersion=GD2" in the json input file.

parameter default description use with...
qc "gauss" The quantum chemistry package to use: available ones are 'gauss' for Gaussian, "nwchem" for NWChem and "qchem" for Q-Chem, but currently only Gaussian is supported.
methodclass "dft" Class of methods used, other available values are "mp2" or "scf". NWChem
qc_command "g16" Command to run the quantum chemistry code. all
method "b3lyp" Low-level (L1) method for reaction and conformational searches. all
basis "6-31G" Low-level (L1) basis set for reaction and conformational searches. all
barrierless_saddle_method "b3lyp" Low-level (L1) method for the barrierless_saddle family reaction and conformational searches. all
barrierless_saddle_basis "6-31G" Low-level (L1) basis set for the barrierless_saddle family reaction and conformational searches. all
calcall_ts 0 1: Use CalcAll in the final optimization of saddle points at the L1 level. It is quite crucial in certain cases to use this setting. 0: do not
high_level_method "M062X" High-level (L2) method for energy and frequency calculations. all
high_level_basis "6-311++G(d,p)" High-level (L2) basis set for energy and frequency calculations. all
barrierless_saddle_method_high "b3lyp" High-level (L2) basis set for energy and frequency calculations for the barrierless_saddle family. all
barrierless_saddle_basis_high "6-31G" High-level (L2) basis set for energy and frequency calculations for the barrierless_saddle family. all
integral '' Integral grid, only used for the high-level (L2) calculations. Gaussian
opt '' Convergence threshold in L2 calculations, as in Opt=VeryTight. Gaussian
irc_maxsteps 30 Maximum number of steps in IRC calculations. all
irc_stepsize 20 Step size in IRC calculations in units of 0.01 Bohr. all
L3_calc 0 Turn on or off the generation of L3 input files and the reading of the L3 output files.
single_point_qc molpro Code to use for single-point (L3) energies.
single_point_template '' If not specified, the default template is used. The user can specify a path to a modified file. An example is shown below this table. 'all'
barrierless_saddle_single_point_template '' Molpro template for the barrierless_saddle family's L3 calculation. The user needs to provide this template, typically a CASPT2 calculation. 'all'
barrierless_saddle_norbital 0 Number of active orbitals for the L3 barrierless_saddle calculation.
barrierless_saddle_nelectron 0 Number of electrons in the active orbitals for the L3 barrierless_saddle calculation.
barrierless_saddle_nstate 0 Number of states for the L3 barrierless_saddle calculation.
single_point_command '' Command line string to run Molpro. User should always define this parameter if running single point calculations. If -n option for Molpro is used, the value (i.e. -n 4) should match the single_point_ppn value defined below. Molpro
single_point_key '' String to parse when searching for the energy in output. User should always define. Molpro
barrierless_saddle_single_point_key '' String to parse when searching for the energy in output for the L3 barrierless_saddle calculation. User should always define. Molpro

KinBot's internal Molpro template:

***,{name}
memory,1600,M
geomtyp=xyz
geometry={{
{natom}
{name}
{geom}
}}
{{uhf;wf,{nelectron},1,{spin},{charge}}}

basis=cc-pvdz-f12
rhf
CCSD(T)-F12

myena(1) = energy(1)
myenb(1) = energy(2)

basis=cc-pvtz-f12
rhf
CCSD(T)-F12

myenergy(2) = energy(1)
myenb(2) = energy(2)
---

Computational Environment

parameter default description
queuing pbs 'pbs' or 'slurm' or 'fireworks' or 'local'
scratch '' Scratch directory of the calculations
username '' User name, required.
queue_name 'medium' Queue name where the calculations are submitted to.
queue_template '' The user can supply a queue submission script. The parameter is the name of the file. For details see below this table. When queuing is set to 'fireworks' a Fireworks Queue Adapter .yaml file is expected.
slurm_feature '' The SLURM feature defined after the -C, see here.
ppn 1 Number of cores per quantum chemistry calculation, e.g., in Gaussian the number after %nprocshared.
single_point_ppn 4 Number of cores to run the single-point calculations on.
zf 4 Number of characters in file numbers.
delete_intermediate_files 0 Delete chk, py and pbs or sbatch files. Can be useful is disk space is limited. However, care must be taken. If for instance the barrier_threshold is increased, the deleted chk files will prevent the IRC calculations to proceed. Use this keyword wisely.
queue_job_limit -1 If set to a positive number, no more than queue_job_limit jobs from user username are submitted to the queue. This counts jobs from other KinBot jobs or any other application from the user and it is checked every 30 seconds. In fireworks mode this is the number of jobs submitted to the queue at the beginning of the simulation.
lpad_file my_launchpad.yaml Only when using Fireworks. File with the necessary configuration to access the MongoDB server to manage FireWorks tasks. See examples below.
fworker_file my_fworker.yaml Only when using Fireworks. File with the necessary configuration to set up a worker carrying out the FireWorks tasks. See examples below.

For the queuing system it is often necessary to include system-specific commands in the job submission script. Importantly, when using KinBot in a conda environment, one also has to modify the script to allow the activation and deactivation on the given nodes. To have maximum flexibility, KinBot allows the user to define her or his own script, which overwrites the default. The default template in KinBot for PBS is the following:

#! /bin/bash -f
#PBS -N {name}
#PBS -l nodes=1:ppn={ppn}
#PBS -q {queue_name}
#PBS -o {errdir}/$PBS_JOBNAME.stdout
#PBS -e {errdir}/$PBS_JOBNAME.err
#PBS -m n

while it is the following for SLURM:

#! /bin/bash -f

#SBATCH -N 1
#SBATCH -c {ppn}
#SBATCH -q {queue_name}
#SBATCH -o {errdir}/{name}.stdout
#SBATCH -e {errdir}/{name}.err
{slurm_feature}

When queuing is set to 'local', no jobs are submitted and KinBot just performs a 'dry run' evaluating data from already existing files. When it is set to 'fireworks', instead, KinBot expects a file called my_qadapter.yaml to be present in the execution directory if 'queue_template' is not specifed.

The user can supply a file placed in the same directory as the input file, which will be used instead of the above defaults (see queue_template keyword). When providing custom templates, it is important to use these original templates and add the necessary lines to them, i.e., do not delete any of the original lines. If a certain line is creating some problems on the given system, it should be commented out rather than deleted. Useful to remember:

  • A line beginning with # is a comment, while a line beginning with #PBS or #SBATCH is a directive.
  • Substitutions can be used on other lines, but no additional substitutions are allowed. Everything else has to be hardwired. The substitution keys are:
    • {ppn} = 'ppn' keyword's value
    • {name} = name of the job, as generated by KinBot
    • {errdir} = the directory as determined by KinBot
    • {queue_name} = the 'queue_name' keyword's value
    • {slurm_feature} = the 'slurm_feature' keyword's value

Examples of Fireworks configuration files:

  • my_qadapter.yaml
_fw_name: CommonAdapter
_fw_q_type: SLURM
rocket_launch: srun -n 8 rlaunch rapidfire --nlaunches infinite
nodes: 4
ntasks: 32
cpus_per_task: 1
ntasks_per_node: 8
walltime: '48:00:00'
qos: regular  
job_name: KB_FW

pre_rocket: "conda activate kinbot\nmodule load qchem"
post_rocket: null
  • my_launchpad.yaml
authsource: KinBot
host: mongodb07
logdir: null
mongoclient_kwargs: {}
name: KinBot
password: *************
port: 27017
ssl: false
ssl_ca_certs: null
ssl_certfile: null
ssl_keyfile: null
ssl_pem_passphrase: null
strm_lvl: WARNING
uri_mode: false
user_indices: []
username: KinBot_admin
wf_user_indices: []
  • my_fworker.yaml
name: CoriNode
category: ''
query: '{}'

Parameters Controlling the Master Equation Calculations

parameter default description use with...
me_code mess Name of the master equation code, mess for MESS and mesmer for MESMER.
mess_command mess Command to run MESS. MESS
TemperatureList 1000 See MESS manual. MESS
PressureList 760 See MESS manual. MESS
EnergyStepOverTemperature .2 See MESS manual MESS
ExcessEnergyOverTemperature 30 See MESS manual. MESS
ModelEnergyLimit 400 See MESS manual. MESS
CalculationMethod direct See MESS manual. MESS
ChemicalEigenvalueMax 0.2 See MESS manual. MESS
EnergyRelaxationFactor 200 See MESS manual. MESS
EnergyRelaxationPower 0.85 See MESS manual. MESS
EnergyRelaxationExponentCutoff 15 See MESS manual. MESS
epsilon 0. The epsilon parameter from the Lennard-Jones potential in units of epsilon_unit. MESS
epsilon_unit K Unit of the epsilon in the Lennard-Jones potential. Can be K, cm-1, or J/mol. MESS
sigma 0. The sigma parameter from the Lennard-Jones potential in Angstrom. MESS
collider He The symbol for the collider, He, N2, Ar, O2 or H2O. MESS
mesmer_command mesmer Command to run MESMER MESMER

Parameters Controlling the Uncertainty Analysis of Master Equation

parameter default description use with...
uq 0 Turns on (0)/ off (1) Uncertainty Analysis feature. MESS
uq_n 100 Number of MESS input files generated/number of iterations of MESS calculations MESS
uq_max_runs 5 Maximum number of MESS calculations submitted to the queue at once MESS
well_uq 0.5 Uncertainty in stable intermediate energy, +/- 0.5 kcal/mol MESS
barrier_uq 1.0 Uncertainty in saddle point (TS) energy, +/- 1.0 kcal/mol MESS
freq_uq 1.2 Uncertainty harmonic positive frequencies, factor of 1.2 corresponds to values ranging from 0.833 to 1.2 times the original frequency. Scaling is exact for 100 1/cm, and is larger for smaller and smaller for larger frequencies. Same quantity is used for the hindered rotor uncertainties. MESS
imagfreq_uq 1.1 Uncertainty in imaginary frequency, factor of 1.1 corresponds to values ranging from 0.909 to 1.1 times the original frequency. MESS
epsilon_uq 1.2 Multiplicative uncertainty factor of the epsilon Lennard-Jones parameter. MESS
sigma_uq 1.2 Multiplicative uncertainty factor of the sigma Lennard-Jones parameter. MESS
erelfact_uq 1.2 Multiplicative uncertainty factor of the energy relaxation preexponential factor. MESS
enrelpow_uq 1.2 Multiplicative uncertainty factor of the energy relaxation power. MESS
barrierless_rxn 0 Whether or not you want to include barrierless channels in your MESS input file MESS
barrierless_template '' Name of the barrierless template file, which holds the barrierless block needed for MESS. See the barrierless_mess.tpl file in the tpl directory. MESS
barrierless_prod_template '' Name of the barrierless product template file, which holds the barrierless product block needed for MESS. See the barrierless_prod_mess.tpl file in the tpl directory. MESS
barrierless_energy 0. Energy of the barrierless step of the reaction. MESS
barrierless_states_file '' Name of the barrierless states file, which holds the state information for the barrierless step. See the mc_flux.out file in the tpl directory. MESS