QCMagic: Difference between revisions

From Thom Group Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
==QCMagic==
QCMagic is a set of python libraries to manipulate qchem output, orbital-coefficient etc. files. You can clone it with
<blockquote>
git clone ch-thom@git.csx.cam.ac.uk:QCHEM/qcmagic
</blockquote>

The current main branch is winterClean and needs some TLC and documentation.

==scanSurface.py==
==scanSurface.py==



Revision as of 14:13, 29 July 2016

QCMagic

QCMagic is a set of python libraries to manipulate qchem output, orbital-coefficient etc. files. You can clone it with

git clone ch-thom@git.csx.cam.ac.uk:QCHEM/qcmagic

The current main branch is winterClean and needs some TLC and documentation.

scanSurface.py

Example usage:

  $ python scanSurface.py --stretch=0,1,1,0.01 my_qchem_file.out Tag

Use this to run a scan on a molecule, running qchem at points on a surface defined by the options. The above example would stretch the bond between atom0 and atom1 by 10 units in steps of 0.01, and write the results to Tag.dat.

If multiple options are used, the scan will zigzag to cover the whole surface.

View all possible options with the command python scanSurface.py --help.

--tie

An additional option --tie is soon to be included. This allows multiple parameters to change in sync with each other. For example, we might want to investigate the effect of varying two bond lengths at the same time, but don't care what happens when one is stretched and the other unchanged. This could be very useful in the context of molecular vibrations.

For each parameter you want to tie, two integers are required

  • One referring to the option:

Key: ext_charge 0; scale 1; stretch 2; rotate 3; normal_rotate 4; orth_rotate 5; all_normal_rotate 6; rotate_axis 7

  • One specifying the particular instance of said option (zero-based).

e.g.

  $ python scanSurface.py --stretch=0,1,1,0.01 --rotate=2,3,90,0.9 --scale=2 --tie=2,0,3,0'

This will...

  • simultaneously stretch bond 0-1 by 1 unit, and rotate about bond 2-3 by 90°, in 100 steps
  • scale the whole molecule up to twice its original size. As the --scale option is not tied, scanSurface will scale separately every possible geometry allowed by the previous (tied) options

NB Ensure an equal number of steps for each tied parameter!