Cryptic import_xcfunc warning

$rem
   METHOD       TPSS
   MEM_TOTAL    20000
   JOBTYPE      opt
   BASIS        def2-svp
   SCF_ALGORITHM = ROBUST
   XC_GRID      3	SG-3
   DFT_D        D4
   SOLVENT_METHOD   smd
   CDFT         true
   CDFT_POP     fbh
   NO_REORIENT  true
   POINT_GROUP_SYMMETRY false
   INTEGRAL_SYMMETRY    false
   PRINT_ORBITALS  TRUE
   MOLDEN_FORMAT   TRUE
   IQMOL_FCHK      TRUE
$end

$smx
solvent THF
$end

$cdft
   -1.0
   1 1 39
$end

Hello, all,

I have been trying to get started with some CDFT calculations which QChem seems uniquely well suited for. Whenever running test jobs with this $rem block, I get the following line, e.g. in the DFT gradient section of the output and elsewhere:

import_xcfunc: Unrecognized exchange functional code (1)

Does this mean anything? Is it a problem?

Due to the use of CDFT, I cannot properly diagnose this without a complete input file (including $molecule section). It’s also helpful if you can determine what is the precise nature of the conflict - is it CDFT? Solvent model? SCF algorithm?

1 Like

Sure, I can provide that. Looking back through the test files it started to appear on introduction of the SMD solvent and dispersion model. I can try to isolate it to one of those two - they were reintroduced because the CDFT SCF convergence exploded after the first CDFT geometry reoptimization step (geometry was originally optimized with solvent and Grimme D4).

$molecule
   1 2
--
   1 1
Co      16.240914697      3.142177914      5.993845234
N       11.504368218      2.076154490      5.185685930
C       11.780019504      3.207427440      6.071711821
C       14.753240023      1.823781405      5.438947488
H       14.416307142      1.001856148      6.052798880
C       15.855915995      1.781121805      4.533637173
H       16.475446059      0.917752621      4.333991602
C       10.727884414      3.801610253      6.772742443
H        9.725098018      3.398281451      6.681834613
C       14.242075050      3.161349649      5.459217298
C       15.032028342      3.929246539      4.522430510
H       14.895700114      4.982395240      4.317808956
C       11.500049997      0.788005375      5.940919053
H       11.440945780     -0.035787159      5.225538540
H       10.635653075      0.754486126      6.613286047
H       12.413898328      0.703531032      6.527252079
C       13.088530128      3.714730698      6.199784728
C       10.213497884      2.208857181      4.450074213
H       10.194612585      1.438139941      3.675422659
H       10.161753702      3.195126937      3.987505778
H        9.355366699      2.061182485      5.111742183
C       13.278198098      4.852887446      7.000283241
H       14.278462160      5.264940140      7.079033461
C       10.944515626      4.913372702      7.581747079
H       10.112677078      5.358674242      8.119492283
C       15.995366878      3.072512139      3.931577034
H       16.748085458      3.360431457      3.210501204
C       12.226896274      5.450290891      7.685698410
H       12.410209415      6.326321159      8.300939509
C       17.101969832      2.419034819      7.733874284
H       16.870873111      1.461273765      8.180168223
C       18.087595879      2.659587165      6.718347633
H       18.735887886      1.913833835      6.277526805
C       16.431135138      3.647225145      7.982272933
H       15.601108636      3.793012370      8.660243815
C       18.065020469      4.052356579      6.385458755
H       18.683217080      4.539388077      5.643549963
C       17.021498057      4.657323120      7.142661779
H       16.717668684      5.694420030      7.091558778
--
   0 2
C       12.702492193      3.779716508      2.280032111
C       13.376371173      2.441313546      2.326129267
C       14.301379427      2.000916673      1.310728787
C       14.673462068      2.830764998      0.224696970
C       14.855064988      0.696434631      1.375842894
O       13.029853881      1.574541119      3.234286231
H       12.387781108      1.929485167      4.134456423
H       11.803979634      3.716265555      1.647602843
H       13.346398030      4.553023613      1.857074073
H       12.385628066      4.095344693      3.276159118
C       15.570259997      2.380439255     -0.735401820
C       15.752355004      0.258990917      0.413120842
C       16.121129451      1.096058124     -0.648426819
H       14.569273689      0.046284723      2.195511206
H       16.169851979     -0.742245233      0.482658930
H       15.843463383      3.032894756     -1.560481316
H       16.823161061      0.749564433     -1.401424826
H       14.258863359      3.829743867      0.136202665
$end

$rem
   METHOD       TPSS
   MEM_TOTAL    20000
   JOBTYPE      opt
   BASIS        def2-svp
   SCF_ALGORITHM = ROBUST
   XC_GRID      2	SG-2
   DFT_D        D4
   SOLVENT_METHOD   smd
   CDFT         true
   CDFT_POP     fbh
   CDFT_THRESH  7
   NO_REORIENT  true
   POINT_GROUP_SYMMETRY false
   INTEGRAL_SYMMETRY    false
   PRINT_ORBITALS  TRUE
   MOLDEN_FORMAT   TRUE
   IQMOL_FCHK      TRUE
$end

$smx
solvent THF
$end

$cdft
   -1.0
   1 1 39
$end

Can you also tell me what version of Q-Chem you are running, and provide some context for where the error message occurs? I can reproduce that warning in my output with the latest trunk, but it’s not fatal. Still would be helpful if you could isolate which feature is causing this.

If CDFTCI is set to TRUE in $rem, the warning now prints twice per instance and the job halts at the first CI-CDFT iterations with an OpenMP error (both with and without BrianQC).


 import_xcfunc: Unrecognized exchange functional code (1)
 import_xcfunc: Unrecognized exchange functional code (1)
 Adding empirical dispersion correction 
 ----------------------------------------------------------------
 Doing -D4(BJ) with TPSS parameters:
 -D4 energy including 3-body term = -0.1163288951 hartrees
Starting CDFT-CI SCF calculation on state 1 ...

 Starting to evaluate GChg-Nuclear interaction energy
 IModIntJob 1 in Job11 does not run OpenMP
  EGChgNuc:       0.000000000000 hartree

As for the CDFT part on its own: the initial Hirshfield charge partitionings look fine, as expected for the assignment of the fragments.

              CDFT Hirshfeld Populations
----------------------------------------
        Fragment  Net Charge            
       1          1.018345
       2         -0.014594
----------------------------------------
 SCF time:  CPU 1987.06 s  wall 502.96 s

Thanks for following up so quickly. I am running Windows QChem 6.3.1 with BrianQC.

The issue appears with D4 only and no SMD solvation.

It first appears immediately after the input block.

--------------------------------------------------------------
 import_xcfunc: Unrecognized exchange functional code (1)
 Adding empirical dispersion correction 
 ----------------------------------------------------------------
 Doing -D4(BJ) with TPSS parameters:
 -D4 energy including 3-body term = -0.1163288951 hartrees
 ----------------------------------------------------------------

Then it appears in the first geometry optimization block


     Done Checking Topology
 import_xcfunc: Unrecognized exchange functional code (1)
 Adding empirical dispersion correction 
 ----------------------------------------------------------------
 Doing -D4(BJ) with TPSS parameters:
 -D4 energy including 3-body term = -0.1163288951 hartrees
 ----------------------------------------------------------------
             Standard Nuclear Orientation (Angstroms)

then, finally, it appears again in the gradients.

Calculating analytic gradient of the SCF energy
 import_xcfunc: Unrecognized exchange functional code (1)
 Gradient of CDS energy

Unfortunately I do not have the ability to test with BrianQC. However, I can confirm the following with Q-Chem v. 6.3.1:

(1) Running your input file, I get the same message at the same points in the code, only mine are not fatal. Re-reading your message, I guess they are not fatal for you either?

(2) This is unrelated to the solvent model and appears when CDFT is used with D4 dispersion.

I will submit a bug ticket. However, a workaround seems to be that I do not see this message when I switch to D3 dispersion. Those two models are very similar (D4 improves on D3 only very slightly), so that is what I would try for now. Or just push through the warnings and see whether results make sense.

Thanks for looking into this further and filing the report.

The input file with the FBH constraint leads to total convergence failure, SCF explodes after the first geometry iteration. Switching to the Becke constraint eventually led to convergence and the geometry, orbitals and spin densities look qualitatively reasonable with D4. I will check once with D3 just to rule out something worse.

For the FBH that is a problem, can you try BECKE_SHIFT = UNSHIFTED? The choice BECKE_SHIFT = BRAGG_SLATER, which was the default in some versions, has a bug in the gradient but I thought we disabled it in response.

I didn’t specify BECKE_SHIFT explicitly - I thought it would default to UNSHIFTED if BECKE_POP was not set to TRUE. Fortunately the optimized geometries with D3 and D4 were essentially identical. The absolute energies differed by ~3.8 kcal which I don’t think means anything.

Is the FBH unstable for geometry optimizations?

I have a vague recollection of a bug in the gradient for BRAGG_SLATER. I don’t know that FBH is inherently unstable, and the UNSHIFTED radii work just fine it’s just that they tend to put more charge on H atoms than your chemical intuition would have (because it splits the Becke cells at the bond midpoint). Those populations can be somewhat sensitive to the grid, you could try XC_GRID = 000099000590 for EML(99,590).