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.
|