15 June 2018

650. N/EDA in GAMESS. 2. Defining an external basis set

This is post number two in a series. Post 1 is here: http://verahill.blogspot.com/2018/06/649-neda-in-gamess-1-recompiling-gamess.html

Defining external basis sets isn't hard, but I find that the gamess documentation isn't great, and there isn't as much online as one would hope.


1. Either way, I'll create an external basis set file with def2svp and def2tzvp at /opt/gamess/gamess_nbo/EXTFILE.txt

2. Get the basis set definition from https://bse.pnl.gov/bse/portal -- select the atoms you want, and the basis set, set format to GAMESS US, and click Get Basis Set.


3. When you paste the data into the EXTFILE.txt,
a) skip the $DATA tag, and
b) change the atom definition to their corresponding symbols (e.g. H instead of Hydrogen) and append the name of the basis set,

so the beginning looks like this:
MG DEF2SVP S 5 1 4953.8339196 -0.57778967498E-02 2 745.18044154 -0.43124761082E-01 3 169.21604972 -0.19268216987 4 47.300672019 -0.48641439116 5 14.461336973 -0.42550894077 S 3 1 24.768174789 0.87956969984E-01 2 2.4940945349 -0.55165058128 3 0.87807584533 -0.53443294833 S 1 1 0.87212782497E-01 1.0000000 S 1 1 0.33599293780E-01 1.0000000 P 5 1 98.053010494 -0.14480564601E-01 2 22.586932277 -0.95495750787E-01 3 6.8391509842 -0.30787672651 4 2.2332843818 -0.49936292886 5 0.71606599387 -0.31503476213 P 1 1 0.18914796195 1.0000000 P 1 1 0.53768755187E-01 1.0000000 D 1 1 0.1010000 1.0000000 H DEF2SVP S 3 1 13.0107010 0.19682158E-01 2 1.9622572 0.13796524 3 0.44453796 0.47831935 S 1 1 0.12194962 1.0000000 P 1 1 0.8000000 1.0000000 C DEF2SVP
and the end like this:
D 1 1 0.64500000 1.0000000 F 1 1 1.42800000 1.0000000 MG DEF2TZVP S 7 1 31438.3495550 0.60912311326E-03 2 4715.5153354 0.47066196465E-02 3 1073.1629247 0.24135820657E-01 4 303.57238768 0.93628959834E-01 5 98.626251042 0.26646742093 6 34.943808417 0.47890929917 7 12.859785199 0.33698490286 S 3 1 64.876913004 0.19180889307E-01 2 19.725520777 0.90913704392E-01 3 2.8951804339 -0.39563756125 S 2 1 1.1960454710 1.6827603373 2 0.54329451156 0.52141091954 S 1 1 0.10099104092 1.0000000 S 1 1 0.36865728085E-01 1.0000000 P 5 1 179.87189612 0.53799549018E-02 2 42.120069376 0.39318014098E-01 3 13.120503032 0.15740129476 4 4.6257503609 0.35919094128 5 1.6695211016 0.45533379310 P 1 1 0.58551012105 1.0000000 P 1 1 0.18914796195 1.0000000 P 1 1 0.53768755187E-01 1.0000000 D 1 1 3.4440000 1.0000000 D 1 1 0.2900000 1.0000000 D 1 1 0.0700000 1.0000000


4. Edit the gms-files.csh in your gamess root (e.g. /opt/gamess/gamess_nbo)
setenv EXTBAS /opt/gamess/gamess_nbo/EXTFILE.txt


5. To use, put
$BASIS EXTFIL=.TRUE. GBASIS=DEF2TZVP $END
or
$BASIS EXTFIL=.TRUE. GBASIS=DEF2SVP $END
in your gamess input file.

649. N/EDA in GAMESS. 1. Recompiling GAMESS US with NBO6

I need to do energy decomposition analysis (EDA), but only have licenses for Gaussian and NBO6 (i.e. not ADF, turbomole, QChem etc.). NEDA isn't supported by NBO6 with gaussian (afaik).

NWChem, my usual gaussian alternative, doesn't support NBO6 beyond writing a .47 file.

Enter GAMESS US. I've been trying out gamess every few years, but I've found that it's slow and unreliable (very difficult to get SCF convergence) for the systems I work with (polyanions). Some of this may obviously be down to my lack of familiarity with the code -- there are probably plenty of satisified users of GAMESS US.

Either way, NBO6 suppports NEDA with GAMESS US. Also, GAMESS US does two different types  of   EDA: the common Morokuma-Kitaura (MOROKM) one (although only with HF) and an alternative approach by Su and Li that's referred to by GAMESS as LMOEDA (or CMOEDA).

MOROKM and LMOEDA as supported out of the box by GAMESS, but to get it to do NEDA you need to re-link it against NBO. Luckily it's even easier than the instructions in the NBO gamess file (i.e. no need to edit code).

NOTE: I could only link with gfortran 4.9 (jessie). gfortran 6.3 (stretch) failed to link (messages re -fPIC; recompiling gamess with -fPIC didn't solve it).

To compile gamess, see e.g. http://verahill.blogspot.com/2013/06/4xx-gamess-us-2013-r1-on-debian-wheezy.html

Once you've done the ddi/comp and compall steps, edit lked and search for NBO. Change to

set NBO=true set NBOLIB="/opt/nbo6/bin/gmsnbo.i8.a"
assuming that this location is correct.

Then do lked as in the post above.