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