How can I calculate dipole moment of a complex molecule where the partial charges are available from density functional theory? I have the coordinates of each atom from atomistic simulations of an isolated molecule in a box along with the Bader charges. Will a simple charge times distance work in this case? The charges are not equal and opposite in many cases. What should the approach be to calculate the dipole in such cases?

  • 1
    $\begingroup$ We used to do this as a student exercise, albeit using Mulliken charges - it does not work well. The DFT calculation can provide the dipole moment (and higher ones) by using the appropriate operator. $\endgroup$
    – TAR86
    Oct 9, 2017 at 13:38
  • $\begingroup$ @TAR86 Indeed. Mulliken charges can be very different. In case of stacked molecules, it's even worse. Sometimes totally opposite. DFT does provide dipole moment, but If I want contribution of just one part of a complex structure, then? Something like a local dipole. $\endgroup$ Oct 9, 2017 at 13:41
  • $\begingroup$ Atoms and electrons are not point charges, therefore this approach will likely fail in many cases. $\endgroup$ Oct 9, 2017 at 14:30
  • $\begingroup$ @user3840530 My point was not about Mulliken vs. some other charges - but pentavalentcarbon's answer partially covers that. $\endgroup$
    – TAR86
    Oct 9, 2017 at 15:17
  • $\begingroup$ @TAR86 Ok. Anyway, sometimes I get really weird result using mulliken charges right from DFT output without any additional post processing, say a positive partial charge on an expected negatively charged species while the whole structure seems fully relaxed. That's why I pointed it out. $\endgroup$ Oct 9, 2017 at 15:47

1 Answer 1


From a theoretical standpoint, that approach is correct:

$$ \mu_i = \sum_{a}^{N_{\text{atoms}}} \sum_{i\in\{x,y,z\}} r_{ia}q_{a}, $$

where the set of atomic partial charges $\{q\}$ could come from partitioning the density in AO space (Mulliken, Lowdin), partitioning the density in real space (Bader, Voronoi, Hirshfeld), partitioning the electrostatic potential (ESP; Merz-Singh-Kollmann or ChElPG), or other methods I'm certainly forgetting. Another interesting method is based on atomic polar tensors [1], called GAPT or IR charges, which are a natural byproduct of harmonic vibrational frequency calculations.

This doesn't mean the results will be of good quality. Those based on partitioning the AO density seem to be the worst overall. Anecdotally, those based on ESP calculations are better, however if your system has a lot of "buried" atoms that aren't solvent surface-accessible, results may be questionable. Real-space partitioning is an attractive method since it is independent of direct basis set effects and surface accessibility. GAPT results also seem to be good, but they require a harmonic frequency calculation, which can be expensive.

  1. Milani, A.; Castiglioni, C. Atomic charges from atomic polar tensors: A comparison of methods. Journal of Molecular Structure: THEOCHEM 2010, 995 (1-3), 158-164. DOI: 10.1016/j.theochem.2010.06.011
  • $\begingroup$ I am using the above mentioned formula for calculating the dipole. But it is also dependent on r. if you change your reference point for r, the simple multiplication will change the summation as well. How, then, we should calculate the dipole moment, let's say for a H2O molecule in a box (in the context of DFT) ? What should be the reference for the origin of distances (r) ? Can we obtain the value of ~1.8D for H2O then? $\endgroup$ Oct 9, 2017 at 14:50
  • $\begingroup$ For a neutral (sub)system, the dipole moment is origin-invariant. Otherwise, the center of nuclear charge is a reasonable choice. There is no guarantee you'll reproduce an experimental or analytic result by the partial charge approach. $\endgroup$ Oct 9, 2017 at 15:11
  • $\begingroup$ I cannot test GAPT at the moment. I think the rest answers my question within the scope of the theory. Though the real problem of getting the dipole from partial charges remains, I will mark it as accepted. Thanks for the explanation and the link. Should be useful in the future. $\endgroup$ Oct 9, 2017 at 15:28
  • $\begingroup$ If you want to try APT (there is a difference from GAPT that I don't remember), it should be available in DALTON under "Dipole-gradient based population analysis". $\endgroup$ Oct 9, 2017 at 15:32
  • 1
    $\begingroup$ @pentavalentcarbon - one quick note is that you should remember to convert to Debye. Your formula will normally give e * Å if you don't convert: cccbdb.nist.gov/debye.asp $\endgroup$ Oct 10, 2017 at 15:10

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.