Page 1 of 1

Vacuum level / band alignment for isolated polar molecules from LOCPOT

Posted: Fri Jun 26, 2026 10:30 am
by rafael_amaral

Dear VASP users and developers,

I would like to ask for advice on determining the vacuum level for isolated molecule calculations in VASP, especially for polar molecules.

Our goal is to perform vacuum-level band alignment between several isolated molecules and a substrate. In practice, we want to compare molecular frontier levels, such as HOMO/LUMO, with substrate band edges. For the substrate/slab, the usual procedure is clear: compute the planar-averaged electrostatic potential from `LOCPOT`, identify the vacuum plateau, and align the band edges to that vacuum level.

However, we are less certain about the correct protocol for isolated molecules. Some of the molecules are polar, for example H₂O. We tested an isolated molecule in a relatively large box (approximately 20 × 21 × 22 ų).
We also tested calculations both without and with dipole correction:

LDIPOL = .TRUE.
IDIPOL = 4
DIPOL = 0.5 0.5 0.5

The molecule is placed near the center of the box. Setting LVHAR = True, we output `LOCPOT` and then computed the planar-averaged electrostatic potential along one direction using vaspkit or in-house script (we also triedvtotav) / planar averaging.

The issue is that even with LDIPOL = .TRUE. and IDIPOL = 4, we do not obtain a clear flat vacuum plateau in the planar-averaged potential. Instead, the planar average still shows a slope/curvature in the vacuum region. This happens both without and with the dipole correction, although the shape changes.

I understand that for an isolated polar molecule the electrostatic potential is directional, and the far-field potential should behave approximately like a dipole field. Therefore, compressing the full 3D potential into a 1D planar average may not produce a unique plateau, and the result may depend on whether the average is taken along x, y, or z.

My questions are:

1. For isolated polar molecules, is it expected that the planar-averaged potential does not show a clear vacuum plateau, even when using `LDIPOL = .TRUE.` and `IDIPOL = 4`? If so, how can we obtain such plateau?

2. Is there a recommended VASP protocol for obtaining a vacuum reference for molecular orbital energies of isolated molecules? Some guidelines, in particular, for band aligment?

I will upload representative input/output files and plots of the planar-averaged potential for reference.

Thank you very much for any advice or clarification.


Re: Vacuum level / band alignment for isolated polar molecules from LOCPOT

Posted: Fri Jun 26, 2026 3:22 pm
by michael_wolloch

Dear Rafael Amaral,

Thanks for reaching out and providing so much information and all the files. Unfortunately, the Forum is a bit busy this week, and I did not have time to spend on your post before the weekend. I will get back to you as soon as possible next week, and thank you for your patience until then.

Cheers, Michael


Re: Vacuum level / band alignment for isolated polar molecules from LOCPOT

Posted: Mon Jun 29, 2026 1:02 pm
by michael_wolloch

Dear Rafael Amaral,

I think you should have success with adding the Coulomb kernel truncation.

I am not an expert in band alignment, but using the following INCAR, I managed to get somewhat flat regions in the LOCPOT.

Code: Select all

# algorithm
ALGO  =  Normal

# accuracy
PREC   =  Normal
LREAL  =  False
ENCUT  =  520.0
LASPH  =  True

# ionic relaxation
EDIFFG  =  -0.005

# occupation
ISMEAR  =  0
SIGMA   =  0.1

# IO control

# analyzer
LORBIT  =  10

# parallel

ISYM = 0
KPAR = 1
NCORE = 4
ISPIN = 1

# band-alignment dipole-correction single point
NSW = 0
IBRION = -1
ISIF = 2
ISTART = 0
ICHARG = 0
LWAVE = False
LCHARG = False
LVHAR = True
LDIPOL = True
IDIPOL = 4
DIPOL = 0.50000000 0.50000000 0.48944585
NELM = 250
EDIFF = 1e-06
AMIN = 0.01

# kernel truncation
KERNEL_TRUNCATION {
     LTRUNCATE       = T
     IDIMENSIONALITY = 0
     IPAD            = 2
     FACTOR          = 1
}

I would also suggest looking at the WRT_POTENTIAL tag for more control over the local potential and more convenient hdf5 output.

Let me know if you need further advice, or if the kernel truncation does the trick,
Michael