I think you've hit a couple of problems (jackpot?)
The monomer cavity is generated when setting phantom atoms. It seems the consensus (see papers attached) is to use the dimer cavity throughout when evaluating CP corrections for BSSE.
I've streamlined your example to a water dimer (attached mol file) to highlight this problem. If you run with:
and look at the output file, under the
section, you'll see that the monomer cavity is generated when passing phantom atoms. I'm not sure how to always pass the full list of atoms to PCMSolver. There's now an issue on GitLab to ask for help on this and come up with a fix https://gitlab.com/dalton/lsdalton/issues/75
As a (tedious) workaround: you can explicitly
set the list of spheres to use to generate the cavity in the PCM input file. For the water dimer example:
Code: Select all
UNITS = ANGSTROM
SOLVERTYPE = IEFPCM
PROBERADIUS = 1.385
NONEQUILIBRIUM = True
SOLVENT = EXPLICIT
TYPE = VACUUM
TYPE = UNIFORMDIELECTRIC
EPS = 35.688
EPSDYN = 2.0463
TYPE = GEPOL
AREA = 0.3
MODE = EXPLICIT
SPHERES = [
-1.551007, -0.11452, 0., 1.824, # O1
-1.93425901, 0.762503, 0., 1.44, # H1
-0.599677, 0.040712, 0., 1.44, # H2
1.350625, 0.111469, 0., 1.824, # O2
1.68039801, -0.373741, -0.758561, 1.44, # H3
1.68039801, -0.373741, 0.758561, 1.44 # H4
- You can use Angstrom or atomic units.
- The scaling of the radii by 1.2 will not be automatically applied. You need to do that by hand.
With your specific choice of cavity you hit a numerical instability in PCMSolver. One of the solvent response matrices is no longer symmetric positive-definite. I use Cholesky to form its inverse, hence the garbage numbers you reported. I am preparing a patch you can apply to the code to use LU rather than Cholesky.