distort-ts

distortts_explanation

Takes a gaussian output file and constructs 2 gaussian input files by distorting the last geometry of the provided file along the first imaginary frequency and using as template the .com file with the same name as the provided output file. This approach is sometimes termed (unofficialy) as "poorman's irc", but in no case it substitutes a proper IRC calculation.

usage: pyssianutils distort-ts [-h] [--factor FACTOR] [-l | -r]
                               [-m MARKER | --no-marker]
                               [-o OUTDIR | --inplace] [-ow]
                               [--suffix SUFFIX SUFFIX]
                               files [files ...]

Positional Arguments

files

Gaussian Output Files

Named Arguments

--factor

factor used to scale the displacement of the imaginary frequency. In general a small distortion is desired but at the same time, a really small distortion risks having both (forward and reverse) geometries converging to the same minima

Default: 0.13

-l, --listfile

When enabled instead of considering the files provided as the gaussian output files considers the file provided as a list of gaussian output files

Default: False

-r, --folder

Takes the folder and its subfolder hierarchy and creates a new folder with the same subfolder structure. Finds all the .log, attempts to find their matching .com files and creates the new inputs in their equivalent locations in the new folder tree structure.

Default: False

-m, --marker

Text added to the filename to differentiate the original file from the newly created one. For example, myfile.com may become myfile_new.com

Default: 'new'

--no-marker

The file stems are kept

Default: False

-o, --outdir

Where to create the new files, defaults to the current directory

--inplace

Creates the new files in the same locations as the files provided by the user

Default: False

-ow, --overwrite

When creating the new files if a file with the same name exists overwrites its contents. (The default behaviour is to raise an error to notify the user before overwriting).

Default: False

--suffix

Input and output suffix used for gaussian files

Default: ('.com', '.log')

Usage

This util has two possible applications. On one hand, we may have a minima that has a small imaginary frequency. A relatively standard approach to try to get rid of said imaginary frequency is to follow the vibration in one or both directions and re-optimize the resulting geometries. On another hand, transition state searches are typically complicated and running an IRC on every single candidate transition state might be too expensive, in comparison with two optimizations per transition state. This approach, can help in discarding transition states structures that are not the target of the study by a cheaper computational price. Also, it provides a slightly better guarantee about running the IRC calculation on the non-discarded TSs.

For a given optimization to a transition state, e.g example_ts.log, (requiring both, opt and freq keywords) and the matching input example_ts.com we can generate the geometries from distorting the ts by:

$ pyssianutils distort-ts example_ts.log --no-marker
Processing File example_ts.log

This will generate two files, example_ts_f.com and example_ts_r.com . If we also want to generate a version with a larger distortion we can

$ pyssianutils distort-ts example_ts.log --factor 0.25 --marker v2
Processing File example_ts.log

Which in turn generates the files example_ts_f_v2.com and example_ts_r_v2.com. Note that if we want to modify the "r" and "f" with a different text that we prefer we need to change our user defaults, for example:

$ pyssianutils defaults forward_mark FORWARD --section input.distortts
    setting [input.distortts][forward_mark] = FORWARD
storing new defaults
$ pyssianutils defaults reverse_mark REVERSE --section input.distortts
    setting [input.distortts][reverse_mark] = REVERSE
storing new defaults

with these new defaults, running

$ pyssianutils distort-ts example_ts.log --factor 0.25 --marker v2
Processing File example_ts.log

will instead produce the files example_ts_FORWARD_v2.com and example_ts_REVERSE_v2.com.

All of these input files will look like example_ts.com, with two major differences: the geometries will be the distorted ones from the ts, and any suboptions of the opt present in the original file, will be removed (typically opt=(calcfc,noeigentest,ts) will transform into opt)