ESgamess: molecule and Gamess job handling class (symmetry and transformations demo)

01/12/23, 23/01/24 (debugged)

Demo for using ESgamess class for more advances Gamess jobs, including symmetry and frame transformations.

For an intro demo, see the basic demo page.

Imports

[1]:
# Import class
from epsman.elecStructure.gamess import ESgamess

Create molecule

See the basic demo page for alternative methods, here just set from SMILES.

[2]:
# Molecule from PubChem
# testDL = ESgamess(searchName = 'CO2')

# Molecule from Smiles
testDL = ESgamess(smiles='O=C=O', precision = 4)
Set name = None
Set smiles = O=C=O
Set molFile = None
Set xyz = None
Set molOverride = None
Set job = None
Set sym = C1
Set atomList = None
Set precision = 4
Set atomsDict = {}
Set refDict = {}
Set atomsHist = {}
*** Updating coords (Pandas version).
../_images/demos_ESgamess_class_demo_symmetry_011223-tidy_4_1.png
Ind Species Atomic Num. x y z
0 0 O 8 -1.2375 0.0 0.0
1 1 C 6 0.0000 0.0 0.0
2 2 O 8 1.2375 0.0 0.0

pyGamess wrapper

Setup Gamess job

[3]:
# Init the pyGamess job.
# This minimally needs a gamess_path set, which defaults to '/opt/gamess'
testDL.initGamess() # Using defaults
*** Init pyGamess job.
Default Gamess input card set (use self.params to modify options dictionary, self.setGamess() to test):

 $contrl scftyp=rhf runtyp=energy $end
 $basis gbasis=sto ngauss=3 $end
 $system mwords=30 $end
 $DATA
None
C1
O      8.0     -1.2375000000    0.0000000000    0.0000000000
C      6.0      0.0000000000    0.0000000000    0.0000000000
O      8.0      1.2375000000    0.0000000000    0.0000000000
 $END

*** Found Gamess executable: /opt/gamess/gamess.00.x
[4]:
# Run quick energy job to test all working OK
testDL.runGamess()
INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x fdpotu -ddi 1 1 jake -scr /tmp/tmpn3cbn17h > /tmp/tmpn3cbn17h/fdpotu.out
*** ddikick exit status OK:  ddikick.x: exited gracefully.
*** Gamess run completed OK.
E = -185.05856527930001
[5]:
testDL.printTable()
Ind Species Atomic Num. x y z
0 0 O 8 -1.2375 0.0 0.0
1 1 C 6 0.0000 0.0 0.0
2 2 O 8 1.2375 0.0 0.0

Symmetry & frame transformations

Reference frame orientation

To use symmetry in the Gamess calculations, the system must be oriented such that the Z-axis is the highest symmetry axis. In tests both PubChem and RDkit seem to use the X-axis as the symmetry axis, so the frame needs to be rotated in general.

From the Gamess manual:

    The 'master frame' is just a standard orientation for
the molecule.  By default, the 'master frame' assumes that
    1.   z is the principal rotation axis (if any),
    2.   x is a perpendicular two-fold axis (if any),
    3.  xz is the sigma-v plane (if any), and
    4.  xy is the sigma-h plane (if any).
Use the lowest number rule that applies to your molecule.

        Some examples of these rules:
Ammonia (C3v): the unique H lies in the XZ plane (R1,R3).
Ethane (D3d): the unique H lies in the YZ plane (R1,R2).
Methane (Td): the H lies in the XYZ direction (R2).  Since
         there is more than one 3-fold, R1 does not apply.
HP=O (Cs): the mirror plane is the XY plane (R4).

In general, it is a poor idea to try to reorient the
molecule.  Certain sections of the program, such as the
orbital symmetry assignment, do not know how to deal with
cases where the 'master frame' has been changed.

Linear molecules (C4v or D4h) must lie along the z axis,
so do not try to reorient linear molecules.

This is set with self.rotateFrame(), which can set arbitrary rotations, but defaults to X > Z axis transformation. This uses the RDkit canoicalise and transformation functions, with rotation matrices, as per Github user iwatobipen’s example notebook. (Thanks to iwatobipen and the RDkit list.)

[6]:
# Rotate the frame - default should align to Z-axis
testDL.rotateFrame()
*** Updating coords (Pandas version).
*** Set frame rotations, new coord table:
Ind Species Atomic Num. x y z
0 0 O 8 0.0 0.0 1.2375
1 1 C 6 0.0 0.0 0.0000
2 2 O 8 0.0 0.0 -1.2375

Set symmetry (point group)

Symmetry groups supported (from the Gamess manual):

GROUP is the Schoenflies symbol of the symmetry group,
you may choose from
    C1, Cs, Ci, Cn, S2n, Cnh, Cnv, Dn, Dnh, Dnd,
    T, Th, Td, O, Oh.

NAXIS is the order of the highest rotation axis, and
must be given when the name of the group contains an N.
For example, "Cnv 2" is C2v.  "S2n 3" means S6.  Use of
NAXIS up to 8 is supported in each axial groups.

For linear molecules, choose either Cnv or Dnh, and enter
NAXIS as 4.  Enter atoms as Dnh with NAXIS=2.  If the
electronic state of either is degenerate, check the note
about the effect of symmetry in the electronic state
in the SCF section of REFS.DOC.
[7]:
# Set Gamess input with symmetry
testDL.setGamess(note='CO2 sym testing', sym='DNH 8')
Set sym = DNH 8

*** Gamess input card:
 $contrl scftyp=rhf runtyp=energy $end
 $basis gbasis=sto ngauss=3 $end
 $system mwords=30 $end
 $DATA
CO2 sym testing
DNH 8

O      8.0      0.0000000000    0.0000000000    1.2375000000
C      6.0      0.0000000000    0.0000000000    0.0000000000
O      8.0      0.0000000000    0.0000000000   -1.2375000000
 $END

Finally, symmetrized jobs require only the symmetry unique atoms to be given on the input card. This is currently accomplished here rather crudely, via a list of atom indices (rows) to the input builder. Note that an incorrect setting here will potentially result in a Gamess run with a wildly incorrect molecular geometry, potentially including additional atoms, depending on the symmetry group applied.

For example…

[8]:
testDL.setGamess(note='CO2 sym testing', sym='DNH 8', atomList = [0,1])
Set sym = DNH 8
Set atomList = [0, 1]

*** Gamess input card:
 $contrl scftyp=rhf runtyp=energy $end
 $basis gbasis=sto ngauss=3 $end
 $system mwords=30 $end
 $DATA
CO2 sym testing
DNH 8

O      8.0      0.0000000000    0.0000000000    1.2375000000
C      6.0      0.0000000000    0.0000000000    0.0000000000
 $END

Where self.params['extra']['atomList'] gives the sub-selection on which atoms are listed on the input card for symmetrized jobs (TODO: make this better/automated!).

[9]:
testDL.params['extra']
[9]:
{'job': 'CO2 sym testing', 'sym': 'DNH 8', 'atomList': [0, 1]}

Run single-point symmetrized calculation

Once the point group and atom list are set, self.runGamess will result in a symmetrized calculation run…

[10]:
# Run symmetrized calc
testDL.runGamess(fileOut = '/tmp/testCO2.out')
INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x eijdcf -ddi 1 1 jake -scr /tmp/tmpn3cbn17h > /tmp/tmpn3cbn17h/eijdcf.out
*** ddikick exit status OK:  ddikick.x: exited gracefully.
*** Gamess run completed OK.
E = -185.05856527700001
*** Gamess output file moved to /tmp/testCO2.out
[11]:
# View full output card for details
testDL.printGamess()
*** Contents from file /tmp/testCO2.out.

 Distributed Data Interface kickoff program.
 Initiating 1 compute processes on 1 nodes to run the following command:
 /opt/gamess/gamess.00.x eijdcf

          ******************************************************
          *         GAMESS VERSION = 30 SEP 2018 (R3)         *
          *             FROM IOWA STATE UNIVERSITY             *
          * M.W.SCHMIDT, K.K.BALDRIDGE, J.A.BOATZ, S.T.ELBERT, *
          *   M.S.GORDON, J.H.JENSEN, S.KOSEKI, N.MATSUNAGA,   *
          *          K.A.NGUYEN, S.J.SU, T.L.WINDUS,           *
          *       TOGETHER WITH M.DUPUIS, J.A.MONTGOMERY       *
          *         J.COMPUT.CHEM.  14, 1347-1363(1993)        *
          **************** 64 BIT LINUX VERSION ****************

  SINCE 1993, STUDENTS AND POSTDOCS WORKING AT IOWA STATE UNIVERSITY
  AND ALSO IN THEIR VARIOUS JOBS AFTER LEAVING ISU HAVE MADE IMPORTANT
  CONTRIBUTIONS TO THE CODE:
     IVANA ADAMOVIC, CHRISTINE AIKENS, YURI ALEXEEV, POOJA ARORA,
     ANDREY ASADCHEV, ROB BELL, PRADIPTA BANDYOPADHYAY, JONATHAN BENTZ,
     BRETT BODE, KURT BRORSEN, CALEB CARLIN, GALINA CHABAN, WEI CHEN,
     CHEOL HO CHOI, PAUL DAY, ALBERT DEFUSCO, NUWAN DESILVA, TIM DUDLEY,
     DMITRI FEDOROV, ALEX FINDLATER, GRAHAM FLETCHER, MARK FREITAG,
     KURT GLAESEMANN, ANASTASIA GUNINA,
     DAN KEMP, GRANT MERRILL, NORIYUKI MINEZAWA, JONATHAN MULLIN,
     TAKESHI NAGATA, SEAN NEDD, HEATHER NETZLOFF, BOSILJKA NJEGIC, RYAN OLSON,
     MIKE PAK, BUU PHAM,
     SPENCER PRUITT, LUKE ROSKOP, JIM SHOEMAKER, LYUDMILA SLIPCHENKO,
     TONY SMITH, SAROM SOK LEANG, JIE SONG, TETSUYA TAKETSUGU, SIMON WEBB,
     PENG XU, SOOHAENG YOO, FEDERICO ZAHARIEV

  ADDITIONAL CODE HAS BEEN PROVIDED BY COLLABORATORS IN OTHER GROUPS:
     IOWA STATE UNIVERSITY:
          JOE IVANIC, AARON WEST, LAIMUTIS BYTAUTAS, KLAUS RUEDENBERG
     UNIVERSITY OF TOKYO: KIMIHIKO HIRAO, TAKAHITO NAKAJIMA,
          TAKAO TSUNEDA, MUNEAKI KAMIYA, SUSUMU YANAGISAWA,
          KIYOSHI YAGI, MAHITO CHIBA, SEIKEN TOKURA, NAOAKI KAWAKAMI
     UNIVERSITY OF AARHUS: FRANK JENSEN
     UNIVERSITY OF IOWA: VISVALDAS KAIRYS, HUI LI
     NATIONAL INST. OF STANDARDS AND TECHNOLOGY: WALT STEVENS, DAVID GARMER
     UNIVERSITY OF PISA: BENEDETTA MENNUCCI, JACOPO TOMASI
     UNIVERSITY OF MEMPHIS: HENRY KURTZ, PRAKASHAN KORAMBATH
     UNIVERSITY OF ALBERTA: TOBY ZENG, MARIUSZ KLOBUKOWSKI
     UNIVERSITY OF NEW ENGLAND: MARK SPACKMAN
     MIE UNIVERSITY: HIROAKI UMEDA
     NAT. INST. OF ADVANCED INDUSTRIAL SCIENCE AND TECHNOLOGY: KAZUO KITAURA
     MICHIGAN STATE UNIVERSITY:
          KAROL KOWALSKI, MARTA WLOCH, JEFFREY GOUR, JESSE LUTZ,
          WEI LI, JUN SHEN, J. EMILIANO DEUSTUA, PIOTR PIECUCH
     UNIVERSITY OF MINNESOTA:
          YINAN SHU
     UNIVERSITY OF SILESIA: MONIKA MUSIAL, STANISLAW KUCHARSKI
     FACULTES UNIVERSITAIRES NOTRE-DAME DE LA PAIX:
          OLIVIER QUINET, BENOIT CHAMPAGNE
     UNIVERSITY OF CALIFORNIA - SANTA BARBARA: BERNARD KIRTMAN
     INSTITUTE FOR MOLECULAR SCIENCE:
          KAZUYA ISHIMURA, MICHIO KATOUDA, AND SHIGERU NAGASE
     UNIVERSITY OF NOTRE DAME: ANNA POMOGAEVA, DAN CHIPMAN
     KYUSHU UNIVERSITY:
          HARUYUKI NAKANO,
          FENG LONG GU, JACEK KORCHOWIEC, MARCIN MAKOWSKI, AND YURIKO AOKI,
          HIROTOSHI MORI AND EISAKU MIYOSHI
     PENNSYLVANIA STATE UNIVERSITY:
          TZVETELIN IORDANOV, CHET SWALINA, JONATHAN SKONE,
          SHARON HAMMES-SCHIFFER
     WASEDA UNIVERSITY:
          MASATO KOBAYASHI, TOMOKO AKAMA, TSUGUKI TOUMA,
          TAKESHI YOSHIKAWA, YASUHIRO IKABATA, JUNJI SEINO,
          YUYA NAKAJIMA, HIROMI NAKAI
     NANJING UNIVERSITY: SHUHUA LI
     UNIVERSITY OF NEBRASKA:
          PEIFENG SU, DEJUN SI, NANDUN THELLAMUREGE, YALI WANG, HUI LI
     UNIVERSITY OF ZURICH: ROBERTO PEVERATI, KIM BALDRIDGE
     N. COPERNICUS UNIVERSITY AND JACKSON STATE UNIVERSITY:
          MARIA BARYSZ
     UNIVERSITY OF COPENHAGEN: Jimmy Kromann, CASPER STEINMANN
     TOKYO INSTITUTE OF TECHNOLOGY: HIROYA NAKATA
     NAGOYA UNIVERSITY: YOSHIO NISHIMOTO, STEPHAN IRLE
     MOSCOW STATE UNIVERSITY: VLADIMIR MIRONOV

 EXECUTION OF GAMESS BEGUN Tue Jan 23 18:11:32 2024

            ECHO OF THE FIRST FEW INPUT CARDS -
 INPUT CARD> $contrl scftyp=rhf runtyp=energy $end
 INPUT CARD> $basis gbasis=sto ngauss=3 $end
 INPUT CARD> $system mwords=30 $end
 INPUT CARD> $DATA
 INPUT CARD>CO2 sym testing
 INPUT CARD>DNH 8
 INPUT CARD>
 INPUT CARD>O      8.0      0.0000000000    0.0000000000    1.2375000000
 INPUT CARD>C      6.0      0.0000000000    0.0000000000    0.0000000000
 INPUT CARD> $END
   30000000 WORDS OF MEMORY AVAILABLE

     BASIS OPTIONS
     -------------
     GBASIS=STO          IGAUSS=       3      POLAR=NONE
     NDFUNC=       0     NFFUNC=       0     DIFFSP=       F
     NPFUNC=       0      DIFFS=       F     BASNAM=


     RUN TITLE
     ---------
 CO2 sym testing

 THE POINT GROUP OF THE MOLECULE IS DNH
 THE ORDER OF THE PRINCIPAL AXIS IS     8

 ATOM      ATOMIC                      COORDINATES (BOHR)
           CHARGE         X                   Y                   Z
 O           8.0     0.0000000000        0.0000000000       -2.3385359098
 O           8.0     0.0000000000        0.0000000000        2.3385359098
 C           6.0     0.0000000000        0.0000000000        0.0000000000

          INTERNUCLEAR DISTANCES (ANGS.)
          ------------------------------

                1 O          2 O          3 C

   1 O       0.0000000    2.4750000 *  1.2375000 *
   2 O       2.4750000 *  0.0000000    1.2375000 *
   3 C       1.2375000 *  1.2375000 *  0.0000000

  * ... LESS THAN  3.000


     ATOMIC BASIS SET
     ----------------
 THE CONTRACTED PRIMITIVE FUNCTIONS HAVE BEEN UNNORMALIZED
 THE CONTRACTED BASIS FUNCTIONS ARE NOW NORMALIZED TO UNITY

  SHELL TYPE  PRIMITIVE        EXPONENT          CONTRACTION COEFFICIENT(S)

 O

      3   S       1           130.7093214    0.154328967295
      3   S       2            23.8088661    0.535328142282
      3   S       3             6.4436083    0.444634542185

      4   L       4             5.0331513   -0.099967229187    0.155916274999
      4   L       5             1.1695961    0.399512826089    0.607683718598
      4   L       6             0.3803890    0.700115468880    0.391957393099

 C

      5   S       7            71.6168373    0.154328967295
      5   S       8            13.0450963    0.535328142282
      5   S       9             3.5305122    0.444634542185

      6   L      10             2.9412494   -0.099967229187    0.155916274999
      6   L      11             0.6834831    0.399512826089    0.607683718598
      6   L      12             0.2222899    0.700115468880    0.391957393099

 TOTAL NUMBER OF BASIS SET SHELLS             =    6
 NUMBER OF CARTESIAN GAUSSIAN BASIS FUNCTIONS =   15
 NUMBER OF ELECTRONS                          =   22
 CHARGE OF MOLECULE                           =    0
 SPIN MULTIPLICITY                            =    1
 NUMBER OF OCCUPIED ORBITALS (ALPHA)          =   11
 NUMBER OF OCCUPIED ORBITALS (BETA )          =   11
 TOTAL NUMBER OF ATOMS                        =    3
 THE NUCLEAR REPULSION ENERGY IS       54.7351013355

 THIS MOLECULE IS RECOGNIZED AS BEING LINEAR,
 ORBITAL LZ DEGENERACY TOLERANCE ETOLLZ= 1.00E-06

     $CONTRL OPTIONS
     ---------------
 SCFTYP=RHF          RUNTYP=ENERGY       EXETYP=RUN
 MPLEVL=       0     CITYP =NONE         CCTYP =NONE         VBTYP =NONE
 DFTTYP=NONE         TDDFT =NONE
 MULT  =       1     ICHARG=       0     NZVAR =       0     COORD =UNIQUE
 PP    =NONE         RELWFN=NONE         LOCAL =NONE         NUMGRD=       F
 ISPHER=      -1     NOSYM =       0     MAXIT =      30     UNITS =ANGS
 PLTORB=       F     MOLPLT=       F     AIMPAC=       F     FRIEND=
 NPRINT=       7     IREST =       0     GEOM  =INPUT
 NORMF =       0     NORMP =       0     ITOL  =      20     ICUT  =       9
 INTTYP=BEST         GRDTYP=BEST         QMTTOL= 1.0E-06

     $SYSTEM OPTIONS
     ---------------
  REPLICATED MEMORY=    30000000 WORDS (ON EVERY NODE).
 DISTRIBUTED MEMDDI=           0 MILLION WORDS IN AGGREGATE,
 MEMDDI DISTRIBUTED OVER   1 PROCESSORS IS           0 WORDS/PROCESSOR.
 TOTAL MEMORY REQUESTED ON EACH PROCESSOR=    30000000 WORDS.
 TIMLIM=      525600.00 MINUTES, OR     365.0 DAYS.
 PARALL= F  BALTYP=  DLB     KDIAG=    0  COREFL= F
 MXSEQ2=     300 MXSEQ3=     150  mem10=         0

          ----------------
          PROPERTIES INPUT
          ----------------

     MOMENTS            FIELD           POTENTIAL          DENSITY
 IEMOM =       1   IEFLD =       0   IEPOT =       0   IEDEN =       0
 WHERE =COMASS     WHERE =NUCLEI     WHERE =NUCLEI     WHERE =NUCLEI
 OUTPUT=BOTH       OUTPUT=BOTH       OUTPUT=BOTH       OUTPUT=BOTH
 IEMINT=       0   IEFINT=       0                     IEDINT=       0
                                                       MORB  =       0
          EXTRAPOLATION IN EFFECT
          DIIS IN EFFECT
 ORBITAL PRINTING OPTION: NPREO=     1    15     2     1

     -------------------------------
     INTEGRAL TRANSFORMATION OPTIONS
     -------------------------------
     NWORD  =            0
     CUTOFF = 1.0E-09     MPTRAN =       0
     DIRTRF =       F     AOINTS =DUP

          ----------------------
          INTEGRAL INPUT OPTIONS
          ----------------------
 NOPK  =       1 NORDER=       0 SCHWRZ=       F

     ------------------------------------------
     THE POINT GROUP IS DNH, NAXIS= 8, ORDER=32
     ------------------------------------------

     DIMENSIONS OF THE SYMMETRY SUBSPACES ARE
 A1G =    5     A1U =    0     B1G =    0     B1U =    0     A2G =    0
 A2U =    4     B2G =    0     B2U =    0     E1G =    1     E1U =    2
 E2U =    0     E2G =    0     E3G =    0     E3U =    0

 ..... DONE SETTING UP THE RUN .....
 STEP CPU TIME =     0.00 TOTAL CPU TIME =          0.0 (      0.0 MIN)
 TOTAL WALL CLOCK TIME=          0.0 SECONDS, CPU UTILIZATION IS     0.00%

          ********************
          1 ELECTRON INTEGRALS
          ********************
 ...... END OF ONE-ELECTRON INTEGRALS ......
 STEP CPU TIME =     0.00 TOTAL CPU TIME =          0.0 (      0.0 MIN)
 TOTAL WALL CLOCK TIME=          0.0 SECONDS, CPU UTILIZATION IS     0.00%

          -------------
          GUESS OPTIONS
          -------------
          GUESS =HUCKEL            NORB  =       0          NORDER=       0
          MIX   =       F          PRTMO =       F          PUNMO =       F
          TOLZ  = 1.0E-08          TOLE  = 1.0E-05
          SYMDEN=       F          PURIFY=       F

 INITIAL GUESS ORBITALS GENERATED BY HUCKEL   ROUTINE.
 HUCKEL GUESS REQUIRES      4764 WORDS.

 SYMMETRIES FOR INITIAL GUESS ORBITALS FOLLOW.   BOTH SET(S).
    11 ORBITALS ARE OCCUPIED (    3 CORE ORBITALS).
     4=A1G      5=A2U      6=E1U      7=E1U      8=A1G      9=A2U     10=E1G
    11=E1G     12=E1U     13=E1U     14=A1G     15=A2U
 ...... END OF INITIAL ORBITAL SELECTION ......
 STEP CPU TIME =     0.00 TOTAL CPU TIME =          0.0 (      0.0 MIN)
 TOTAL WALL CLOCK TIME=          0.0 SECONDS, CPU UTILIZATION IS     0.00%

                    ----------------------
                    AO INTEGRAL TECHNOLOGY
                    ----------------------
     S,P,L SHELL ROTATED AXIS INTEGRALS, REPROGRAMMED BY
        KAZUYA ISHIMURA (IMS) AND JOSE SIERRA (SYNSTAR).
     S,P,D,L SHELL ROTATED AXIS INTEGRALS PROGRAMMED BY
        KAZUYA ISHIMURA (INSTITUTE FOR MOLECULAR SCIENCE).
     S,P,D,F,G SHELL TO TOTAL QUARTET ANGULAR MOMENTUM SUM 5,
        ERIC PROGRAM BY GRAHAM FLETCHER (ELORET AND NASA ADVANCED
        SUPERCOMPUTING DIVISION, AMES RESEARCH CENTER).
     S,P,D,F,G,L SHELL GENERAL RYS QUADRATURE PROGRAMMED BY
        MICHEL DUPUIS (PACIFIC NORTHWEST NATIONAL LABORATORY).

          --------------------
          2 ELECTRON INTEGRALS
          --------------------

 THE -PK- OPTION IS OFF, THE INTEGRALS ARE NOT IN SUPERMATRIX FORM.
 STORING   15000 INTEGRALS/RECORD ON DISK, USING 12 BYTES/INTEGRAL.
 TWO ELECTRON INTEGRAL EVALUATION REQUIRES   89377 WORDS OF MEMORY.
 II,JST,KST,LST =  1  1  1  1 NREC =         1 INTLOC =    1
 II,JST,KST,LST =  2  1  1  1 NREC =         1 INTLOC =    1
 II,JST,KST,LST =  3  1  1  1 NREC =         1 INTLOC =    1
 II,JST,KST,LST =  4  1  1  1 NREC =         1 INTLOC =    3
 II,JST,KST,LST =  5  1  1  1 NREC =         1 INTLOC =  284
 II,JST,KST,LST =  6  1  1  1 NREC =         1 INTLOC =  415
 TOTAL NUMBER OF NONZERO TWO-ELECTRON INTEGRALS =                1293
          1 INTEGRAL RECORDS WERE STORED ON DISK FILE  8.
  ...... END OF TWO-ELECTRON INTEGRALS .....
 STEP CPU TIME =     0.01 TOTAL CPU TIME =          0.0 (      0.0 MIN)
 TOTAL WALL CLOCK TIME=          0.0 SECONDS, CPU UTILIZATION IS    50.00%

          --------------------------
                 RHF SCF CALCULATION
          --------------------------

     NUCLEAR ENERGY =        54.7351013355
     MAXIT =   30     NPUNCH=    2
     EXTRAP=T  DAMP=F  SHIFT=F  RSTRCT=F  DIIS=T  DEM=F  SOSCF=F
     DENSITY MATRIX CONV=  1.00E-05
     MEMORY REQUIRED FOR RHF ITERS=     32450 WORDS.

 ITER EX DEM     TOTAL ENERGY        E CHANGE  DENSITY CHANGE    DIIS ERROR
   1  0  0     -184.7725028435  -184.7725028435   0.517477062   0.807497030
          * * *   INITIATING DIIS PROCEDURE   * * *
   2  1  0     -185.0312007503    -0.2586979068   0.131494822   0.115106962
   3  2  0     -185.0528054004    -0.0216046501   0.079488582   0.073136962
   4  3  0     -185.0574747346    -0.0046693342   0.030216154   0.022996377
   5  4  0     -185.0585051627    -0.0010304280   0.014574288   0.005917499
   6  5  0     -185.0585648484    -0.0000596857   0.000955415   0.000775604
   7  6  0     -185.0585652757    -0.0000004273   0.000050826   0.000037583
   8  7  0     -185.0585652770    -0.0000000013   0.000002912   0.000003075
   9  8  0     -185.0585652770    -0.0000000000   0.000000249   0.000000267

          -----------------
          DENSITY CONVERGED
          -----------------
     TIME TO FORM FOCK OPERATORS=       0.0 SECONDS (       0.0 SEC/ITER)
     TIME TO SOLVE SCF EQUATIONS=       0.0 SECONDS (       0.0 SEC/ITER)

 FINAL RHF ENERGY IS     -185.0585652770 AFTER   9 ITERATIONS

 LZ VALUE ANALYSIS FOR THE MOS
 ----------------------------------------
 MO     1 (    1) HAS LZ(WEIGHT)= 0.00(100.0%)
 MO     2 (    2) HAS LZ(WEIGHT)= 0.00(100.0%)
 MO     3 (    3) HAS LZ(WEIGHT)= 0.00(100.0%)
 MO     4 (    4) HAS LZ(WEIGHT)= 0.00(100.0%)
 MO     5 (    5) HAS LZ(WEIGHT)= 0.00(100.0%)
 MO     6 (    6) HAS LZ(WEIGHT)= 0.00(100.0%)
 MO     7 (    7) HAS LZ(WEIGHT)=-1.00( 50.0%)  1.00( 50.0%)
 MO     8 (    7) HAS LZ(WEIGHT)=-1.00( 50.0%)  1.00( 50.0%)
 MO     9 (    8) HAS LZ(WEIGHT)= 0.00(100.0%)
 MO    10 (    9) HAS LZ(WEIGHT)=-1.00( 50.0%)  1.00( 50.0%)
 MO    11 (    9) HAS LZ(WEIGHT)=-1.00( 50.0%)  1.00( 50.0%)
 MO    12 (   10) HAS LZ(WEIGHT)=-1.00( 50.0%)  1.00( 50.0%)
 MO    13 (   10) HAS LZ(WEIGHT)=-1.00( 50.0%)  1.00( 50.0%)
 MO    14 (   11) HAS LZ(WEIGHT)= 0.00(100.0%)
 MO    15 (   12) HAS LZ(WEIGHT)= 0.00(100.0%)

          ------------
          EIGENVECTORS
          ------------

                      1          2          3          4          5
                  -20.3471   -20.3468   -11.2495    -1.3956    -1.3354
                     A2U        A1G        A1G        A1G        A2U
    1  O  1  S    0.703019   0.703154   0.000059  -0.150026  -0.162960
    2  O  1  S    0.019106   0.017301  -0.004448   0.530965   0.564074
    3  O  1  X   -0.000000   0.000000   0.000000  -0.000000  -0.000000
    4  O  1  Y   -0.000000   0.000000   0.000000  -0.000000  -0.000000
    5  O  1  Z    0.004548   0.003383  -0.001017   0.126588   0.100899
    6  O  2  S   -0.703019   0.703154   0.000059  -0.150026   0.162960
    7  O  2  S   -0.019106   0.017301  -0.004448   0.530965  -0.564074
    8  O  2  X   -0.000000   0.000000   0.000000  -0.000000  -0.000000
    9  O  2  Y   -0.000000   0.000000   0.000000  -0.000000  -0.000000
   10  O  2  Z    0.004548  -0.003383   0.001017  -0.126588   0.100899
   11  C  3  S   -0.000000   0.000625   0.993406  -0.153424  -0.000000
   12  C  3  S   -0.000000  -0.008525   0.027131   0.358284  -0.000000
   13  C  3  X   -0.000000   0.000000   0.000000  -0.000000  -0.000000
   14  C  3  Y   -0.000000   0.000000   0.000000  -0.000000  -0.000000
   15  C  3  Z    0.010105   0.000000   0.000000  -0.000000  -0.287020

                      6          7          8          9         10
                   -0.6822    -0.5885    -0.5885    -0.5679    -0.3776
                     A1G        E1U        E1U        A2U        E1G
    1  O  1  S    0.108265   0.000000   0.000000   0.080062  -0.000000
    2  O  1  S   -0.516003   0.000000   0.000000  -0.433314  -0.000000
    3  O  1  X    0.000000   0.489129   0.000000   0.000000  -0.000000
    4  O  1  Y    0.000000   0.000000   0.489129   0.000000   0.708177
    5  O  1  Z    0.384953   0.000000   0.000000   0.490261  -0.000000
    6  O  2  S    0.108265   0.000000   0.000000  -0.080062  -0.000000
    7  O  2  S   -0.516003   0.000000   0.000000   0.433314  -0.000000
    8  O  2  X    0.000000   0.489129   0.000000   0.000000  -0.000000
    9  O  2  Y    0.000000   0.000000   0.489129   0.000000  -0.708177
   10  O  2  Z   -0.384953   0.000000   0.000000   0.490261  -0.000000
   11  C  3  S   -0.171446   0.000000   0.000000   0.000000  -0.000000
   12  C  3  S    0.599730   0.000000   0.000000   0.000000  -0.000000
   13  C  3  X    0.000000   0.551624   0.000000   0.000000  -0.000000
   14  C  3  Y    0.000000   0.000000   0.551624   0.000000  -0.000000
   15  C  3  Z    0.000000   0.000000   0.000000  -0.468743  -0.000000

                     11         12         13         14         15
                   -0.3776     0.2796     0.2796     0.4889     1.1804
                     E1G        E1U        E1U        A1G        A2U
    1  O  1  S    0.000000   0.000000   0.000000   0.071465  -0.091599
    2  O  1  S    0.000000   0.000000   0.000000  -0.453084   0.721160
    3  O  1  X    0.708177  -0.549924   0.000000  -0.000000   0.000000
    4  O  1  Y    0.000000   0.000000  -0.549924  -0.000000   0.000000
    5  O  1  Z    0.000000   0.000000   0.000000  -0.696967   0.722648
    6  O  2  S    0.000000   0.000000   0.000000   0.071465   0.091599
    7  O  2  S    0.000000   0.000000   0.000000  -0.453084  -0.721160
    8  O  2  X   -0.708177  -0.549924   0.000000  -0.000000   0.000000
    9  O  2  Y    0.000000   0.000000  -0.549924  -0.000000   0.000000
   10  O  2  Z    0.000000   0.000000   0.000000   0.696967   0.722648
   11  C  3  S    0.000000   0.000000   0.000000  -0.196289   0.000000
   12  C  3  S    0.000000   0.000000   0.000000   1.181804   0.000000
   13  C  3  X    0.000000   0.884483   0.000000  -0.000000   0.000000
   14  C  3  Y    0.000000   0.000000   0.884483  -0.000000   0.000000
   15  C  3  Z    0.000000   0.000000   0.000000  -0.000000   1.456045
 ...... END OF RHF CALCULATION ......
 STEP CPU TIME =     0.01 TOTAL CPU TIME =          0.0 (      0.0 MIN)
 TOTAL WALL CLOCK TIME=          0.0 SECONDS, CPU UTILIZATION IS   100.00%

     ----------------------------------------------------------------
     PROPERTY VALUES FOR THE RHF   SELF-CONSISTENT FIELD WAVEFUNCTION
     ----------------------------------------------------------------

          -----------------
          ENERGY COMPONENTS
          -----------------

         WAVEFUNCTION NORMALIZATION =       1.0000000000

                ONE ELECTRON ENERGY =    -363.8739809363
                TWO ELECTRON ENERGY =     124.0803143238
           NUCLEAR REPULSION ENERGY =      54.7351013355
                                      ------------------
                       TOTAL ENERGY =    -185.0585652770

 ELECTRON-ELECTRON POTENTIAL ENERGY =     124.0803143238
  NUCLEUS-ELECTRON POTENTIAL ENERGY =    -546.9256846942
   NUCLEUS-NUCLEUS POTENTIAL ENERGY =      54.7351013355
                                      ------------------
             TOTAL POTENTIAL ENERGY =    -368.1102690349
               TOTAL KINETIC ENERGY =     183.0517037579
                 VIRIAL RATIO (V/T) =       2.0109633589

  ...... PI ENERGY ANALYSIS ......

 ENERGY ANALYSIS:
            FOCK ENERGY=   -115.7133527291
          BARE H ENERGY=   -363.8739809363
     ELECTRONIC ENERGY =   -239.7936668327
         KINETIC ENERGY=    183.0517037579
          N-N REPULSION=     54.7351013355
           TOTAL ENERGY=   -185.0585654971
        SIGMA PART(1+2)=   -196.1374004056
               (K,V1,2)=    165.8811218167   -446.3069876091     84.2884653868
           PI PART(1+2)=    -43.6562664271
               (K,V1,2)=     17.1705819412   -100.6186970852     39.7918487169
  SIGMA SKELETON, ERROR=   -141.4022990700      0.0000000000
             MIXED PART= 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
 ...... END OF PI ENERGY ANALYSIS ......

          ---------------------------------------
          MULLIKEN AND LOWDIN POPULATION ANALYSES
          ---------------------------------------

     ATOMIC MULLIKEN POPULATION IN EACH MOLECULAR ORBITAL

                      1          2          3          4          5

                  2.000000   2.000000   2.000000   2.000000   2.000000

    1             1.000921   1.000466  -0.000469   0.725223   0.765578
    2             1.000921   1.000466  -0.000469   0.725223   0.765578
    3            -0.001842  -0.000933   2.000937   0.549555   0.468844

                      6          7          8          9         10

                  2.000000   2.000000   2.000000   2.000000   2.000000

    1             0.730724   0.587825   0.587825   0.807032   1.000000
    2             0.730724   0.587825   0.587825   0.807032   1.000000
    3             0.538553   0.824349   0.824349   0.385935   0.000000

                     11

                  2.000000

    1             1.000000
    2             1.000000
    3             0.000000

               ----- POPULATIONS IN EACH AO -----
                             MULLIKEN      LOWDIN
              1  O  1  S      1.99819     1.99734
              2  O  1  S      1.88000     1.77776
              3  O  1  X      1.58783     1.58436
              4  O  1  Y      1.58783     1.58436
              5  O  1  Z      1.15129     1.21553
              6  O  2  S      1.99819     1.99734
              7  O  2  S      1.88000     1.77776
              8  O  2  X      1.58783     1.58436
              9  O  2  Y      1.58783     1.58436
             10  O  2  Z      1.15129     1.21553
             11  C  3  S      1.99544     1.98817
             12  C  3  S      1.09267     1.09428
             13  C  3  X      0.82435     0.83128
             14  C  3  Y      0.82435     0.83128
             15  C  3  Z      0.85294     0.93628

          ----- MULLIKEN ATOMIC OVERLAP POPULATIONS -----
          (OFF-DIAGONAL ELEMENTS NEED TO BE MULTIPLIED BY 2)

             1           2           3

    1    7.7899842
    2   -0.0053029   7.7899842
    3    0.4204447   0.4204447   4.7488588

          TOTAL MULLIKEN AND LOWDIN ATOMIC POPULATIONS
       ATOM         MULL.POP.    CHARGE          LOW.POP.     CHARGE
    1 O             8.205126   -0.205126         8.159355   -0.159355
    2 O             8.205126   -0.205126         8.159355   -0.159355
    3 C             5.589748    0.410252         5.681291    0.318709

          -------------------------------
          BOND ORDER AND VALENCE ANALYSIS     BOND ORDER THRESHOLD=0.050
          -------------------------------

                   BOND                       BOND                       BOND
  ATOM PAIR DIST  ORDER      ATOM PAIR DIST  ORDER      ATOM PAIR DIST  ORDER
    1   2  2.475  0.367        1   3  1.238  1.954        2   3  1.238  1.954

                       TOTAL       BONDED        FREE
      ATOM            VALENCE     VALENCE     VALENCE
    1 O                 2.322       2.322       0.000
    2 O                 2.322       2.322       0.000
    3 C                 3.909       3.909       0.000

          ---------------------
          ELECTROSTATIC MOMENTS
          ---------------------

 POINT   1           X           Y           Z (BOHR)    CHARGE
                 0.000000    0.000000    0.000000       -0.00 (A.U.)
         DX          DY          DZ         /D/  (DEBYE)
     0.000000    0.000000    0.000000    0.000000
 ...... END OF PROPERTY EVALUATION ......
 STEP CPU TIME =     0.00 TOTAL CPU TIME =          0.0 (      0.0 MIN)
 TOTAL WALL CLOCK TIME=          0.0 SECONDS, CPU UTILIZATION IS    66.67%
               580000  WORDS OF DYNAMIC MEMORY USED
 EXECUTION OF GAMESS TERMINATED NORMALLY Tue Jan 23 18:11:32 2024
 DDI: 263640 bytes (0.3 MB / 0 MWords) used by master data server.

 ----------------------------------------
 CPU timing information for all processes
 ========================================
 0: 0.15 + 0.12 = 0.27
 ----------------------------------------
 ddikick.x: exited gracefully.

Geometry optimization (symmetrized)

Running an optimization should now just also work, but there are some potential gotchas in this case.

  1. the output atom ordering may change in the symmetrized case, so further use of the results may require changes to self.params['extra']['atomList'].

  2. It is also of note that Gamess requirements are not enforced automatically here, so some massaging of the input settings may be required - for example the ordering of the atoms on the input card.

[12]:
# Test geom opt with symmetrization, no changes from previous input
testDL.runGamess(runType='optimize',fileOut = '/tmp/test_CO2_geomOpt.out')
INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x svzrwn -ddi 1 1 jake -scr /tmp/tmpn3cbn17h > /tmp/tmpn3cbn17h/svzrwn.out
*** Warning: found errors in Gamess output, type: Warnings
*** Check self.mol.GetProp('Warnings') for details.
*** Warning: found errors in Gamess output, type: ddikick
*** Check self.mol.GetProp('ddikick') for details.
*** Gamess run completed with warnings.
E = -185.05856527700001

*** Gamess optimization run - reseting self.mol with updated coords.
Note that atom ordering may change depending on Gamess output.
Found 1 geometry iterations in Gamess output.
Updating with new coords, output set to self.mol
Ind Species Atomic Num. x y z
0 0 O 8 0.0 0.0 -1.2375
1 1 O 8 0.0 0.0 1.2375
2 2 C 6 0.0 0.0 0.0000
*** WARNINGS FOUND IN GAMESS OUTPUT, values for E and molecular coords may reflect input molecule if run did not complete.
Set geom opt coord outputs to self.geomOpt.
*** Gamess output file moved to /tmp/test_CO2_geomOpt.out

In this case note that warnings are generated, indicating problems with the Gamess run - possibly due to the input geometry, or other optimization settings.

Note, also, the line “Found 1 geometry iterations in Gamess output”, indicating that no geometry optimization iterations were completed (i.e. only the input geometry is present), and updated geometry table. The geometry has now been updated from the Gamess output file, which may have a different ordering to the inputs for the symmetrized case, as noted above, even if the run failed.

Troubleshooting Gamess optimization runs

[13]:
# As noted in the error messages above, the specific Gamess error messages can be investigated
print(testDL.mol.GetProp('Warnings'))
print(testDL.mol.GetProp('ddikick'))
 WARNING: EIGENVECTOR ROUTINE -EINVIT- DID NOT CONVERGE FOR VECTOR     4
 WARNING: EIGENVECTOR ROUTINE -EINVIT- DID NOT CONVERGE FOR VECTOR     7
 ddikick.x: application process 0 quit unexpectedly.
 ddikick.x: Sending kill signal to DDI processes.
 ddikick.x: Execution terminated due to error(s).
[14]:
# These are also set as a full dict of outputs
testDL.mol.errorDict
[14]:
{'Warnings': {'re': re.compile(r'.*WARNING: .*', re.UNICODE),
  'matches': ' WARNING: EIGENVECTOR ROUTINE -EINVIT- DID NOT CONVERGE FOR VECTOR     4\n WARNING: EIGENVECTOR ROUTINE -EINVIT- DID NOT CONVERGE FOR VECTOR     7',
  'warnFlag': 1},
 'ddikick': {'re': re.compile(r'.*ddikick.x: .*', re.UNICODE),
  'matches': ' ddikick.x: application process 0 quit unexpectedly.\n ddikick.x: Sending kill signal to DDI processes.\n ddikick.x: Execution terminated due to error(s).',
  'warnFlag': 1}}
[15]:
# For a quick look, checking the end of the file is also useful
testDL.tail()
*** Contents from file /tmp/test_CO2_geomOpt.out.
Showing 20 tail lines.
          MAXIMUM GRADIENT = 0.0992719    RMS GRADIENT = 0.0467972

 NSERCH:   0  E=     -185.0585652770  GRAD. MAX=  0.0992719  R.M.S.=  0.0467972

          FORCE CONSTANT MATRIX NOT UPDATED --- TAKING FIRST STEP
 WARNING: EIGENVECTOR ROUTINE -EINVIT- DID NOT CONVERGE FOR VECTOR     4
 NORM =  9.12E-04 PERFORMANCE INDEX =  5.48E+01
 A HALT WILL OCCUR IF THE PERF.IND. EXCEEDS 100.0
 WARNING: EIGENVECTOR ROUTINE -EINVIT- DID NOT CONVERGE FOR VECTOR     7
 NORM =  1.22E-04 PERFORMANCE INDEX =  4.12E+02
 A HALT WILL OCCUR IF THE PERF.IND. EXCEEDS 100.0
 EINVIT HAS FAILED TO CONVERGE FOR VECTOR    7
 GLDIAG FAILURE IN -BKRNR-
 EXECUTION OF GAMESS TERMINATED -ABNORMALLY- AT Tue Jan 23 18:11:35 2024
               580000  WORDS OF DYNAMIC MEMORY USED
 STEP CPU TIME =     0.00 TOTAL CPU TIME =          0.0 (      0.0 MIN)
 TOTAL WALL CLOCK TIME=          0.0 SECONDS, CPU UTILIZATION IS    66.67%
 ddikick.x: application process 0 quit unexpectedly.
 ddikick.x: Sending kill signal to DDI processes.
 ddikick.x: Execution terminated due to error(s).
[16]:
# Check the header lines... this looks OK, but note the atom ordering.
testDL.head(20)
*** Contents from file /tmp/test_CO2_geomOpt.out.
Showing 20 header lines, starting from line 80.
 EXECUTION OF GAMESS BEGUN Tue Jan 23 18:11:35 2024

            ECHO OF THE FIRST FEW INPUT CARDS -
 INPUT CARD> $contrl scftyp=rhf runtyp=optimize $end
 INPUT CARD> $basis gbasis=sto ngauss=3 $end
 INPUT CARD> $system mwords=30 $end
 INPUT CARD> $statpt opttol=0.0001 nstep=20 $end
 INPUT CARD> $DATA
 INPUT CARD>CO2 sym testing
 INPUT CARD>DNH 8
 INPUT CARD>
 INPUT CARD>O      8.0      0.0000000000    0.0000000000    1.2375000000
 INPUT CARD>C      6.0      0.0000000000    0.0000000000    0.0000000000
 INPUT CARD> $END
   30000000 WORDS OF MEMORY AVAILABLE

     BASIS OPTIONS
     -------------
     GBASIS=STO          IGAUSS=       3      POLAR=NONE
     NDFUNC=       0     NFFUNC=       0     DIFFSP=       F

In this case, the error is (2) - the atom ordering is not as Gamess prefers. This can be modified as required, including the ordering, again via the atomList configuration.

Rerunning geom opt with updated parameters

[17]:
# Check current geom table - note this HAS changed with the symmetrized run geom return from Gamess.
# This may be updated even if the run fails.
testDL.printTable()
Ind Species Atomic Num. x y z
0 0 O 8 0.0 0.0 -1.2375
1 1 O 8 0.0 0.0 1.2375
2 2 C 6 0.0 0.0 0.0000
[18]:
# Try updating the atom ordering, so that the Z=0 atom is set first, and create a new job with this.
testDL.setGamess(note='CO2 sym testing v2', sym='DNH 8', atomList = [2,1])

# Run geom opt with new parameters
testDL.runGamess(runType='optimize',fileOut = '/tmp/test_CO2_geomOpt_v2.out')
INFO:pygamess.gamess:Executeing py_rungms with command /opt/gamess/ddikick.x /opt/gamess/gamess.00.x leskvl -ddi 1 1 jake -scr /tmp/tmpn3cbn17h > /tmp/tmpn3cbn17h/leskvl.out
Set sym = DNH 8
Set atomList = [2, 1]

*** Gamess input card:
 $contrl scftyp=rhf runtyp=optimize $end
 $basis gbasis=sto ngauss=3 $end
 $system mwords=30 $end
 $statpt opttol=0.0001 nstep=20 $end
 $DATA
CO2 sym testing v2
DNH 8

C      6.0      0.0000000000    0.0000000000    0.0000000000
O      8.0      0.0000000000    0.0000000000    1.2375000000
 $END

*** ddikick exit status OK:  ddikick.x: exited gracefully.
*** Gamess run completed OK.
E = -185.0683906077

*** Gamess optimization run - reseting self.mol with updated coords.
Note that atom ordering may change depending on Gamess output.
Found 6 geometry iterations in Gamess output.
Updating with new coords, output set to self.mol
Ind Species Atomic Num. x y z
0 0 C 6 0.0 0.0 0.0000
1 1 O 8 0.0 0.0 -1.1879
2 2 O 8 0.0 0.0 1.1879
Set geom opt coord outputs to self.geomOpt.
*** Gamess output file moved to /tmp/test_CO2_geomOpt_v2.out

Success! In this case the atom ordering needed some massaging for the Gamess input. Note:

  • Output E has changed.

  • Found 6 geometry iterations in Gamess output. in the printed info.

  • Updated coords table has different Z values.

[19]:
# The full set of geometries sampled can be investigated, and are set in self.geomOpt in the default case
testDL.geomOpt
[19]:
Ind Species Atomic Num. x y z
Geom iter Atom index
0 0 0 C 6 0.0 0.0 0.0000
1 1 O 8 0.0 0.0 -1.2375
2 2 O 8 0.0 0.0 1.2375
1 0 3 C 6 0.0 0.0 0.0000
1 4 O 8 0.0 0.0 -1.1499
2 5 O 8 0.0 0.0 1.1499
2 0 6 C 6 0.0 0.0 0.0000
1 7 O 8 0.0 0.0 -1.1942
2 8 O 8 0.0 0.0 1.1942
3 0 9 C 6 0.0 0.0 0.0000
1 10 O 8 0.0 0.0 -1.1887
2 11 O 8 0.0 0.0 1.1887
4 0 12 C 6 0.0 0.0 0.0000
1 13 O 8 0.0 0.0 -1.1879
2 14 O 8 0.0 0.0 1.1879
5 0 15 C 6 0.0 0.0 0.0000
1 16 O 8 0.0 0.0 -1.1879
2 17 O 8 0.0 0.0 1.1879

Versions

[20]:
import scooby
scooby.Report(additional=['epsman', 'cclib', 'rdkit'])
[20]:
Tue Jan 23 18:11:41 2024 EST
OS Linux CPU(s) 64 Machine x86_64
Architecture 64bit Environment Jupyter
Python 3.7.10 (default, Feb 26 2021, 18:47:35) [GCC 7.3.0]
epsman 0.0.1 cclib 1.7 rdkit 2023.03.2
numpy 1.19.2 scipy 1.6.1 IPython 7.21.0
matplotlib 3.3.4 scooby 0.5.6
Intel(R) Math Kernel Library Version 2020.0.2 Product Build 20200624 for Intel(R) 64 architecture applications
[21]:
# Check current Git commit for local ePSproc version
from pathlib import Path
import epsman as em

!git -C {Path(em.__file__).parent} branch
!git -C {Path(em.__file__).parent} log --format="%H" -n 1
  master
* restructure160221
29b4057dd2ede80974fd6e17e28c91aaebeae6a5
[22]:
# Check current remote commits
!git ls-remote --heads https://github.com/phockett/epsman
21b4357a169baf9fa7887c68bd1cf8f92c59642c        refs/heads/master
29b4057dd2ede80974fd6e17e28c91aaebeae6a5        refs/heads/restructure160221