Spherical BSs and COSMO


Just Got Here
Dear NWChem developers and users,

It is said in the manual for the latest version, that COSMO code don't work with spherical basis sets:

"Known problems include that the code does not work with spherical basis functions."

However calculations with spherical basis sets (e.g. aug-cc-pVDZ) and COSMO solvation perform seemingly well (they converge, after all). The incompatibility of COSMO with spherical BSs would be significant disadvantage since nearly all flexible basis sets in the library are spherical.

Is it acceptable to use COSMO with spherical basis sets?

With best regards,
Mpol

Gets Around
According to the code revision history it looks like this problem may have been addressed a looong time ago.

r11094 | bert | 2003-01-29 17:16:57 -0800 (Wed, 29 Jan 2003) | 2 lines
Changed paths:
   A /trunk/src/ddscf/cosmo.fh
   M /trunk/src/ddscf/rohf.F
   M /trunk/src/ddscf/rohf_diis.F
   M /trunk/src/ddscf/rohf_fock.F
   M /trunk/src/ddscf/rohf_nr_sol.F
   M /trunk/src/ddscf/rohf_scat.F
   M /trunk/src/ddscf/rohf_wrap.F
   M /trunk/src/ddscf/scf.F
   M /trunk/src/ddscf/scf_get_info.F

Clean up of COSMO stuff. Innterface was cleaned up and made to work properly. Interface looks the same as in nwdft.


The actual change, reverting a spherical-basis-set-with-COSMO rejection check introduced in 2001:

-      if ( rtdb_get(rtdb,'slv:cosmo',mt_log,1,ocosmo)) then
-         if(ocosmo.and.bas_is_spherical(basis)) call errquit(
-     .        ' cosmo does not handle spherical basis yet',0)
-         if(.not.geom_ncent_ecp(geom, necp)) call errquit(
-     .        'scf: failed call to geom_ncent_ecp',0)
-         if(ocosmo.and.necp.gt.0) call errquit(
-     .        ' cosmo does not support ECPs yet',0)
-      endif


And more recently:

r22797 | d3y133 | 2012-08-29 13:56:33 -0700 (Wed, 29 Aug 2012) | 15 lines
Changed paths:
   M /trunk/src/NWints/api/intd_1epot_cosmo.F
   M /trunk/src/NWints/auxil/int_spcart.F
   M /trunk/src/gradients/grad1.F
   M /trunk/src/nwdft/scf_dft/dft_scf.F

HvD: Fixed the COSMO analytical gradients for spherical harmonic basis sets.
The problem was that the integrals were added onto a buffer. For this reason
the buffer needed to be zeroed. As the buffer was going to contain integrals 
in spherical harmonics the size of the buffer was interpreted accordingly. 
The integral code however would first evaluate the integrals in terms of 
Cartesian basis functions and then transform them to the smaller set of 
spherical harmonic functions. So in actual fact the size of the buffer to be
zeroed needed to be calculated as if the basis set consists of Cartesian
basis functions rather than spherical harmonics.

A side issue discovered along the way was that with open-shell calculations the
beta spin channel Fock matrix was generated in the wrong place. As a result 
the COSMO gas phase and solution phase passes would both create the beta Fock
matrix, leaving a junk Fock matrix lying around after every SCF calculation.


There is a QA test case that uses COSMO with a spherical basis set: QA/tests/cosmo_h2cco2na/cosmo_h2cco2na.nw

It looks to me like the documentation is outdated. Or maybe there are subtle problems that have left the developers reluctant to remove the "no spherical basis sets with COSMO" advice in the manual. Only an actual developer could comment on that.

Just Got Here
Indeed, the test case you mentioned is a UKS calculation with spherical BS (that two options are necessary for me). So I hope that NWChem allows to model open-shell systems with COSMO solvation. And I will make some tests, of course...

Thank you!


Forum >> NWChem's corner >> Running NWChem