# [Pw_forum] dipole moment calculation

umari at democritos.it umari at democritos.it
Tue Mar 10 20:28:12 CET 2009

```Dear Zhang,

> I tried a test calculation of the dipole moment of water. The water molecule
> is put into a 20 a.u. ^3 box. The relevant setting are
>
> lelfield = .true.
> efield = 0.01
>
> In the output file, it reports
>
>     Electronic Dipole per cell (a.u.)   -1.921145549061207
>     Ionic Dipole per cell (a.u.)    116.1997104738884

> How is Electronic Dipole defined here? By looking into the source code,
> Ionic Dipole is defined as in textbook. I also notice that total energy
> difference with respect to zero-electric-field system is approximately equal
> to (Electronic Dipole + Ionic Dipole) * Efield. But Electronic Dipole hardly
> resembles the experimental dipole of water, which is about 1.85 D. Could
> anyone explain a bit about these quantities? Thank you!!
>
> Zhang

The option lelfield turns on the calculation of the electronic and
ionic dipoles under the presence of an electric field.
While the electronic dipole is calculated through the modern theory of
the polarization formalism (MTP) which is valid also for
periodic systems, the reported ionic dipole is given using the simple
textbook formula. This is correct if you want to calculate  dipole
differences (e.g. after a structural relaxation or after  the application
of an electric field) but does not give directly the dipole of an
isolated molecule. For calculating this, the ionic dipole should be
calculated consistently through a MTP-like
formalism:
e.g.

zeta_tot=0.d0
DO na=1,nat
zeta_tot=zeta_tot+(0.d0,1.d0)*tau(pdir,na)*tpi*zv(ityp(na))
END DO
pola_ion=dimag(log(exp(zeta_tot)))
pola_ion=pola_ion*dsqrt(2.d0)/tpiba*dkfact
write(stdout,*) "    Ionic Dipole per cell (a.u.)",pola_ion

Note that Ry atomic units are used and to compare with Hartree atomic units
you should divide by a factor sqrt(2)

Best regards,

Paolo Umari CNR-INFM DEMOCRITOS

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

```