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?
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
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.
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
1 1 2
1 3 3
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.