Problems with CDFT and Becke populations (NWChem 6.6)


Click here for full thread
Clicked A Few Times
Hello,

I'm encountering an issue with using NWChem 6.6 (fully patched, built for LINUX64 with Intel MKL) to perform CDFT calculations. Specifically, whenever I try to apply a charge constraint using the Becke population scheme, the calculation crashes during the first iteration with the error message "CDFT: multipliers go over limit."

Searching online for this error brings up an old thread from the mailing list where this error message is attributed to the target diabatic state being exceptionally unphysical. However, I do not believe this to be the case here; this error has been reproducible for a variety of systems, including for systems built from the appropriate fragment guesses at large separation.
These systems converge just fine when Lowdin populations are used instead.

The minimal system for which I can reproduce this error is a He dimer with a net charge of +1. This will converge just fine when Lowdin populations are used, but fails for Becke populations. Another example is the CDFT test included in the NWChem QA suite (QA/tests/cdft_jarv1/cdft_jarv1.nw). This is another case where convergence is fine when the default Lowdin populations are used, but the "multipliers go over limit" error occurs in the first iteration if Becke populations are used.

The minimal He dimer input file:
# He2+ dimer, 8 A separation, fragments then CDFT calculation

geometry left
  symmetry c1
  He    0.0000    0.0000   -4.0000
end

geometry right
  symmetry c1
  He    0.0000    0.0000    4.0000
end

geometry full
  symmetry c1
  He    0.0000    0.0000   -4.0000
  He    0.0000    0.0000    4.0000
end

basis spherical
  He library "aug-cc-pvtz"
end

# left He, neutral
set geometry left
charge 0
dft
  xc m06-hf
  grid xfine
  odft
  mult 1
  vectors input atomic output left.vec
end
title "left He, neutral"
task dft energy

# right He, charge +1
set geometry right
charge 1
dft
  xc m06-hf
  grid xfine
  odft
  mult 2
  vectors input atomic output right.vec
end
title "right He, charge +1"
task dft energy

# dimer with constraints
set geometry full
charge 1
dft
  xc m06-hf
  grid xfine
  odft
  mult 2
  vectors input fragment left.vec right.vec output full.vec
  cdft 2 2 charge 1 pop becke
end
title "dimer with constraints"
task dft energy

This system converges fine with the Lowdin population - in fact, the multiplier optimizes to 0, indicating that the He atoms are sufficiently separated such that the system naturally localizes the charge without the need for a constraint. Therefore, it doesn't make sense for the CDFT multipliers to be over the limit.

Ordinarily I would simply proceed with the Lowdin populations and a spherical basis set. However, since I am trying to calculate off-diagonal coupling elements in a diabatic basis, Becke populations are required in order to correctly reproduce the convergence of the coupling elements in the complete basis set limit.

Any insight into why the Becke populations are failing would be much appreciated.