[gmx-users] 6-31G** for Gromacs

Mark Abraham Mark.Abraham at anu.edu.au
Thu Nov 19 20:08:11 CET 2009

ilona.baldus at bioquant.uni-heidelberg.de wrote:
> Hi Gerrit,
> I would like to use 6-31G** for my QMMM-calculation. Since sulfur is 
> part of my QM system, I consider that a sensible thing to do. 
> Unfortunately, it is not implemented in Gromacs, so I tried to add that 
> bit myself.
> Here's the point where I got stuck:
>  src/mdlib/qm_gaussian.c translates the basis set is converted via 
> "ivec" to some number format for gaussian (line 75-84). How did you get 
> the numbers in {} and what do they mean?

Follow the usage of the data in that file - search for basisset, and 
then the data structure to which the integers get mapped. It seems clear 
to me they're being used to create a Gaussian route. The correct values 
for other basis sets will be determined by Gaussian, so try its 

> The other part where I am insecure is include/types/enums.h, line 199-203:
> enum {
>   eQMbasisSTO3G, eQMbasisSTO3G2, eQMbasis321G,
>   eQMbasis321Gp, eQMbasis321dGp, eQMbasis621G,
>   eQMbasis631G, eQMbasis631Gp, eQMbasis631dGp,
>   eQMbasis6311G, eQMbasisNR
> };
> Obviously, names are just listed here, so I think of just adding 
> "eQMbasis631Gdp" for 6-31G** which is equal to 6-31G(d,p). Would that 
> conflict with eQMbasis631dGp which stands for 6-31+G* ?

Sort of. You can see from the usage of eQMbasisNR here and everywhere 
else (grep is your friend) that the lengths of various data structures 
must match. This is a recurring GROMACS-ism. If you extend all such by 
inserting an entry corresponding to 6-31G** I suspect it will just work.


More information about the gromacs.org_gmx-users mailing list