In VASP, one can use I_CONSTRAINED_M to constrain local magnetic moments to a certain direction in SOC calculations. However, this comes at the cost of adding an energy penalty to the total energy. According to the manual, $$E_{total} = E_0 + E_p,$$ where $E_0$ is the usual DFT energy, and $E_p$ represents the penalty.

In the OUTCAR file, VASP displays the final energy of the energy. For example:

  free  energy   TOTEN  =     -1028.40851797 eV

  energy  without entropy=    -1028.40851657  energy(sigma->0) =    -1028.40851727

Separately, in the OSZICAR file, we get:

DAV: 122    -0.102840853816E+04   -0.67812E-07   -0.35816E-08  2076   0.658E-04
   1 F= -.10284085E+04 E0= -.10284085E+04  d E =-.138799E-05  mag=    13.9005    -0.9568     0.9552

 E_p =  0.39341E-04  lambda =  0.900E+01
 ion             lambda*MW_perp
  1   0.12835E-02   0.15811E-04   0.16821E-01

where E_p is the energy penalty $E_p$.

My question is simple: Does $E_{OUTCAR}$, the energy in OUTCAR (e.g., energy(sigma->0)) include $E_p$? My understanding is that the energy of the system I should use should be: $ E = E_{OUTCAR} - $E_p (as the penalty is added to the total energy). However, to me, it is not clear from the manual whether $E_{OUTCAR}$ is $=E_{total}$ or $={E_0}$.

To try and determine the answer myself, I calculated all possibilities for various $\lambda$ (which affects $E_p$): $E = E_{OUTCAR}, E = E_{OUTCAR} - $E_p, and $E = E_{OUTCAR} + $E_p. My reasoning is that the true energy would be the same for all lambda after properly treating E_p. But the differences between all three cases for all lambda are very small, making this test inconclusive.

So, could someone clarify how exactly VASP incorporates the penalty energy into the calculation output? I still think that $E = E_{OUTCAR} - $E_p makes the most sense, as the manual suggests the output energy already incorporates $E_p$. But I did not see it mentioned explicitly.

If anyone could verify this for me, I would be very appreciative!


1 Answer 1


A colleague shared with me that the energy VASP outputs does seem to include E_p, since different LAMBDA gave her different energies. This suggests that VASP does not subtract E_p from the output energy, meaning that what we have is likely to be: $E_{OUTCAR}=E_0+E_p$. The energy representing the system will thus be: $E_{OUTCAR}-$E_p.

  • $\begingroup$ +1 and thanks for coming back and answering the question so that future users can benefit from it! I wouldn't recommend the green checkmark on your own question because it discourages others from providing better answers, and unlike when you add that checkmark to other people's questions, the green checkmark does not move self-answers to the top, and does not give you the +2 bonus reputation. Also there seems to be an inconsistency with E_p vs $E_p$. Finally, I think $E_{\textrm{OUTCAR}}$ looks better than $E_{OUTCAR}$. $\endgroup$ Nov 9, 2023 at 2:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .