I want to set the charge of H in the system to 1 and keep it unchanged. The following is my input file, but after the calculation is completed, the charge does not calculate according to the value I set. Why is this?
$molecule
0 1
O -1.50508 -0.00384 -0.11373
H -1.92470 0.02127 0.75258
H -0.61943 0.00251 0.04621
O 1.40004 0.00219 0.10883
H 1.75723 -0.77213 -0.34603
H 1.76402 0.75175 -0.38078
$end
$cdft
2
1 1 2
-1 3 3
$end
Here is Ground-State Mulliken Net Atomic Charges in out:
1 O -0.712013
2 H -2.176114
3 H 2.193725
4 O 0.050535
5 H 0.321586
6 H 0.322282
The CDFT constraints are enforced based on the Becke charge population scheme. Here you are looking at the Mulliken charges where the constraint will not be exactly enforced. If you check the Becke charges, then the charge population on atoms 1-2 minus that on 3 should be -2 (corresponding to 2 excess electrons).
One additional comment: We would not recommend doing MP2 force calculations using CDFT. In fact, we are going to disable all the post-HF calculations in the same job with CDFT because that kind of calculation has never been properly tested and may end up giving problems that haven’t been identified. CDFT means constrained Density Functional Theory and currently it is only supposed to be used for DFT.
This is the distribution of Becke charge population in the out file, and it is not calculated according to what I set. Why is this?
CDFT Becke Populations
Atom Excess Electrons Population (a.u.)
1 O 0.883677 8.883677
2 H 0.428309 1.428309
3 H -0.688014 0.311986
4 O -0.182932 7.817068
5 H -0.220388 0.779612
6 H -0.220301 0.779699
If I understand your $cdft section correctly, you are trying to put a full positive charge on atom 3 (hydrogen). This seems unphysical and it is not guaranteed that cDFT is able to converge to such a state. The manual suggests that your $cdft section is equivalent to
$cdft
1
1 1 2
-1
1 3 3
$end
and that calculation fails to converge. At the end, the Lagrange multiplier for the 2nd constraint is extremely large, suggesting the algorithm is having difficulty finding such a state.
That is to say, my calculated result deviates so much from the setting, is it caused by my structural problems? You can see that I want to specify that atom 3 is hydrogen with a full charge, but the result is even negative.
The constraints are specified in terms of excess electrons, and the constraints that you have chosen are asking for -1 excess electrons on atom 3 (as I indicated above in my alternative $cdft section). The solution that Q-Chem determined has -0.7 excess electrons. My guess is that your requested constraints are simply so unphysical that the algorithm is unable to get all the way there.
I suggest that you try some different (less unrealistic) cDFT examples, perhaps the ones that are in the manual, before you jump right into a complicated example.
asks for q(1+2) - q(3) = -2. This may not be equivalent to
$cdft
1
1 1 2
-1
1 3 3
$end
where the absolute charge population of atoms 1-2 and atom 3 are set respectively.
If you look at the “Excess Electrons” calculated based on Becke population, the constraint was almost perfectly satisfied despite being quite unphysical as John pointed out, since
0.883677 + 0.428309 - (-0.688014) = 2.0
Therefore, the statement “it is not calculated according to what I set” is simply not true
I am currently confused about the Settings of cdft fragments. So if I want H to have a positive charge and OH to have a negative charge, how do I set that up?