Difference in reported dipole moment between `IDIPOL=1` and `IDIPOL=4` at zero electric field (VASP 6.2.0)

Queries about input and output files, running specific calculations, etc.


Moderators: Moderator, Global Moderator

Post Reply
Message
Author
rajaraman
Newbie
Newbie
Posts: 8
Joined: Tue Jun 15, 2021 7:41 am

Difference in reported dipole moment between `IDIPOL=1` and `IDIPOL=4` at zero electric field (VASP 6.2.0)

#1 Post by rajaraman » Thu Jun 25, 2026 10:09 am

Dear VASP developers,

I am performing non-collinear DFT calculations on an isolated molecular system (23 × 23 × 23 Å cubic cell) using VASP 6.2.0. The molecule is placed in a large vacuum region, and the geometry, POTCAR, INCAR (except for `IDIPOL`), KPOINTS, and all other settings are identical between the calculations.

At **zero electric field** (`EFIELD` not specified), I obtain:

**Case 1**

```
LDIPOL = .TRUE.
IDIPOL = 4
```

Output:

```
dipole moment = (0.044124, -0.046093, -0.000363) eÅ
```

**Case 2**

```
LDIPOL = .TRUE.
IDIPOL = 1
```

Output:

```
dipole moment = (0.127493, 0.000000, 0.000000) eÅ
```

Everything else is identical, including:

* same geometry
* same magnetic configuration
* same cell
* same convergence settings
* same number of electrons
* no external electric field

My expectation was that, at zero field, changing `IDIPOL` should only modify the dipole correction procedure and should not significantly alter the computed molecular dipole moment. In particular, I expected the x-component to remain nearly unchanged and the y and z components to still be reported.

Could you please clarify:

1. Does `IDIPOL=1` intentionally report only the dipole component along the correction direction?
2. Is the `dipolmoment` printed in OUTCAR fundamentally different for `IDIPOL=1` and `IDIPOL=4`?
3. If one wants to compare the full molecular dipole vector before and after applying an electric field along x, which setup is recommended?

Thank you very much for your help.


michael_wolloch
Global Moderator
Global Moderator
Posts: 246
Joined: Tue Oct 17, 2023 10:17 am

Re: Difference in reported dipole moment between `IDIPOL=1` and `IDIPOL=4` at zero electric field (VASP 6.2.0)

#2 Post by michael_wolloch » Thu Jun 25, 2026 11:55 am

Dear Rajaraman,

IDIPOL=4 is the correct value for isolated molecules, so you should use that if you want to compare dipole moments with and without an electric field. However, fundamentally, I would also expect that the dipole moments in the x direction should be the same for both of your calculations, since the computation for all directions is the same.

Please upload zipped folders with your input and output files, as per the posting guidelines, so I can analyze properly what is going on in your system.

Cheers, Michael


rajaraman
Newbie
Newbie
Posts: 8
Joined: Tue Jun 15, 2021 7:41 am

Re: Difference in reported dipole moment between `IDIPOL=1` and `IDIPOL=4` at zero electric field (VASP 6.2.0)

#3 Post by rajaraman » Fri Jun 26, 2026 9:28 am

Hi,

I have attached three zipped folders corresponding to three different calculations:

1. **Zero electric field with `IDIPOL = 4`** (dipole correction applied in all three directions).
2. **Zero electric field with `IDIPOL = 1`** (dipole correction applied only along the x-direction).
3. **Finite electric field (`EFIELD = 0.01 V/Å`) applied along the x-direction with `IDIPOL = 1`.**

I have two questions regarding these calculations:

**1. Zero-field reference dipole**

My expectation was that the **px** value obtained from the first and second calculations should be identical, since both are zero-field calculations and only the dipole correction scheme differs (`IDIPOL = 4` versus `IDIPOL = 1`). I then intended to use the second and third calculations to determine the effect of the applied x-directed electric field on **px**. However, I find that the zero-field **px** values from the first two calculations are different. Is this expected behaviour, or am I misunderstanding how `IDIPOL` affects the computed dipole moment?

**2. Effect of an x-directed electric field on the transverse dipole components**

When using `IDIPOL = 1`, VASP reports only the **px** component, while **py** and **pz** are printed as zero. I assume this is because VASP computes and reports only the dipole component along the selected `IDIPOL` direction, rather than because the actual transverse dipole moments are zero.

My goal is to investigate not only the longitudinal response (**Ex → px**) but also the transverse responses (**Ex → py** and **Ex → pz**). In this case, what would be the appropriate VASP setup or workflow to obtain the changes in **py** and **pz** induced by an electric field applied along the x-direction?

I would appreciate any guidance on the recommended approach.

Thank you very much for your help.

Best regards,

Rupesh

You do not have the required permissions to view the files attached to this post.

michael_wolloch
Global Moderator
Global Moderator
Posts: 246
Joined: Tue Oct 17, 2023 10:17 am

Re: Difference in reported dipole moment between `IDIPOL=1` and `IDIPOL=4` at zero electric field (VASP 6.2.0)

#4 Post by michael_wolloch » Wed Jul 01, 2026 12:02 pm

Dear Rupesh,

I think you might have sent the wrong ouput files, or made a small mistake in your analyisis.
When I run

Code: Select all

grep dipolmoment idipol-1-zero-field/OUTCAR

I get (only the last couple of lines / SCF iterations):

Code: Select all

 dipolmoment           0.038611      0.000000      0.000000 electrons x Angstroem
 dipolmoment           0.038766      0.000000      0.000000 electrons x Angstroem
 dipolmoment           0.039027      0.000000      0.000000 electrons x Angstroem
 dipolmoment           0.038848      0.000000      0.000000 electrons x Angstroem

For

Code: Select all

grep dipolmoment idipol-4-zero-field/OUTCAR

I see:

Code: Select all

 dipolmoment           0.042468     -0.033946      0.000839 electrons x Angstroem
 dipolmoment           0.042475     -0.034044      0.000777 electrons x Angstroem
 dipolmoment           0.042043     -0.033918      0.000725 electrons x Angstroem
 dipolmoment           0.042054     -0.034030      0.000713 electrons x Angstroem

So while there is an 8% difference in the computed dipole moment in the x direction, it is not nearly as big as you reported (roughly 300%) and can be explained via a slightly different converged charge density due to the different potential in both cases (once without corrections in y and z, once with). I redid your calculations with some very slight tweaks, and got very similar differences between IDIPOL=1 and 4.

Now to answer your three questions:

1) Does IDIPOL=1 intentionally report only the dipole component along the correction direction?

Yes, for IDIPOL=1, only the x direction is evaluated and printed. This is meant for systems (slabs) that only have vacuum in the x direction, with y and z being completely lattice-periodic. In that case even the computation of a dipole moment in y and z is meaningless.

2) Is the dipolmoment printed in OUTCAR fundamentally different for IDIPOL=1 and IDIPOL=4?

No. The calculation follows exactly the same procedure for each direction. But for IDIPOL=1, 2, and 3, only one direction is evaluated, and the total potential is only corrected for that contribution.

3) If one wants to compare the full molecular dipole vector before and after applying an electric field along x, which setup is recommended?

For molecules, it is recommended to use IDIPOL=4 to correct dipole moments in all directions, but since IDIPOL is also used to select the direction of the field set with EFIELD, you have to use IDIPOL=1. As you do have a small dipole moment in y as well (z is really negligible), this will lead to a small error in your dipole moment without a field. But if you are interested in the difference between the natural and the induced dipole moment, IDIPOL=1 is the way to go, and the influence of the missing correction in the y direction will, in all likelihood, be very small due to error cancellation.

Let me know if this resolves all your issues, or if you have more questions.
Cheers, Michael


Post Reply