Assume in a software like Avogadro, I put molecules A and B in a specific distance and I know they will involve in a charge transfer reaction ( as Marcus Theory outer sphere transfer ). Then I run a calculation package as Gaussian or GAMESS.

Now I want to see if any charge has moved from A to B. One approach is to measure their charges and see if they are partially charged.

The problem is that I don't know how to find that molecular partial charge in a selected part of the system in such softwares (like I select a part of the system on the screen and see its charge )

One approach I found is in Avogadro: View>properties > atom properties and find the charge of each single atom and then add the selected atoms together , but it is very very time consuming in larger systems. I am pretty sure there must be a more effective method.

  • $\begingroup$ I do not know if that is possible. I would make a script for the output file if there are too many atoms. Also, be careful about the meaning of the results. $\endgroup$ Mar 15, 2015 at 11:16

2 Answers 2


Your question boils down to "where are the electrons" in a quantum chemical system?

The problem, is if there's any level of interaction between the two fragments, you don't know. The charge will be delocalized across the entire A+B complex.

Put it another way.. Let's say you have a bunch of atoms and you run a calculation and the overall charge on the molecule is +1. Where's the extra positive charge?

Well, you might make some guesses, but it's probably delocalized across multiple atoms. The same thing happens with intermolecular interactions, but to a lesser degree.

There are two approaches:

  • Constrained DFT: This is a method where you force the charge on a particular fragment to be the way you want. You can then compare this semi-localized charge with the distributed (unconstrained) calculation and compare.
  • Fragment MO: You can diagonalize the wavefunction onto multiple fragments that you define.

I don't use GAMESS much, but a quick search implies that FMO is supported in GAMESS.


The way to do obtain the charge of a fragment in a molecule is quiet similar to How to calculate molecular volume from the wavefunction?.

The way to obtain the wave function from GAMESS is with the AIMPAC keyword. Look at page 2-18 of the GAMESS manual

As just repost the answer given over there and just editing the correct words to this post:

The way to determine the charge of a fragment in a molecule is by doing a quantum calculation to obtain the wave function and, then, integrate it.

You can obtain the charge of your desire fragment in the molecule by following these steps:

  1. Do a quantum calculation with the desire method and a very good wave function.
  2. In the input file, you have to specify to the software of your preference to print out the wave function file (in gaussian, you can do it with output=wfn, more directions: Directions to print wave function from gaussian).
  3. After the quantum calculation is done, you have to integrate the wave function with a specialized software (see at external links of QTAIM software).
  4. After integrating the wave function, you will get the integrated values of several properties, one of them is the atomic charge of each atom. (See page 16 of The Quantum Theory of Atoms in Molecules).
  5. Finally, sum up all the atomic charges of the fragment you want to know.
  • $\begingroup$ It was a great suggestion. The only problem is that I am in Colorado and we have not Gaussian on our supercomputers. I have to use GAMESS and don't know how to set wavefunction request in the input file. Do you have experience on it ? $\endgroup$
    – Aug
    Apr 16, 2015 at 18:51
  • $\begingroup$ I exactly how to print thw wfn file from gamess, nope... I don't know how properly you can do it. Beside, I can complement you with the manual of gamess, a discussion where some got the wfn from gamess and, if you ind the way to obtain wfn files from gamess, a script to convert to the properly wfn structure to be used with the software previously mentioned $\endgroup$ Apr 16, 2015 at 19:19
  • $\begingroup$ :D I found the way to do it from GAMESS :D 1. In the manual I shared you, look at page 2-18 2. The keyword is AIMPAC and look the other page (wfn from gamess) to see how to obtain the properly wfn file ... I'm going to update my answer $\endgroup$ Apr 16, 2015 at 19:23
  • $\begingroup$ Thanks . I think this is a perfect answer and brings up my other question: How to extract the wavefuction from GAMESS. As I think that is a separate question, I made another thread on it here:chemistry.stackexchange.com/questions/28855/… $\endgroup$
    – Aug
    Apr 16, 2015 at 21:37
  • $\begingroup$ you may want to have a look at it as you almost have the answer for that question also: chemistry.stackexchange.com/questions/28855/… $\endgroup$
    – Aug
    Apr 16, 2015 at 21:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.