Problems with CDFT and Becke populations (NWChem 6.6)


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.

Clicked A Few Times
I also have this problem with becke populations on my NWCHEM 6.6 that was compiled and installed a few days ago.
0:0:CDFT: multipliers go over limit:: -1
(rank:0 hostname:ca096 pid:22555):ARMCI DASSERT fail. ../../ga-5-4/armci/src/common/armci.c:ARMCI_Error():208 cond:0
 CDFT: multipliers go over limit                   0

Clicked A Few Times
Brose,

I've been trying to troubleshoot this for a few weeks now, and one thing that I've noticed is that you have to explicitly tell NWChem to partition the electron density using the Becke scheme. The CDFT code reads the partition weights directly from the grid files, and if you use the default grid settings (erf1), the "Becke populations" won't actually be Becke populations. Try this in your DFT section:
dft
  grid fine becke
end

In my experience, this fixes the multiplier limit issue in about 1/3 of the cases I tried, though it's by no means a complete fix - just a possible step in the right direction.

Clicked A Few Times
Becke populations
Buchwj ,

You may use the Cartesian option or an alternative exchange-correlation potential to get your system with Becke populations converged. In both cases NWChem runs fine and without failure report.

Regards
Manfred

Just Got Here
Hi,

I too am having the same issue with CDFT in NWChem 6.6 with the cdft patch applied.

I am looking at an anion/cation pair and wanted to include diffuse functions, which broke the optimization
code using Lowdin populations (error "CDFT failed to optimize multipliers"). I've since tried using Becke populations, with the same geometry and parameters that I used to get a converged optimization with
Lowdin Population and I get the error

CDFT: multipliers go over limit

I have tried different basis sets and functionals and still always get the above error. I don't believe the constraint to be an 'unphysical' situation, as was suggested in an older post.

Please advise.

Thanks,
Michael.


Forum >> NWChem's corner >> Running NWChem