Ionised Adatoms for Slabs

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


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
mwuensch
Newbie
Newbie
Posts: 16
Joined: Mon Jul 17, 2023 4:42 pm

Ionised Adatoms for Slabs

#1 Post by mwuensch » Wed Feb 12, 2025 8:13 pm

Hi!
I'm currently looking to try and add some ionised species to an otherwise normal semiconductor slab. More specifically I want to see how the formation energy changes when I add a N+ (or even up to N+++) ion to the surface instead of just a neutral N atom. I've seen some posts mention modifying ZVAL in a POTCAR, but I wasn't sure if this is physically meaningful. If I copy the N PBE POTCAR, rename it to N_plus, and manually change ZVAL to remove an electron, would this actually work, or would VASP still treat the ion as neutral?
If this approach does not work, do predefined PAW potentials for ionised species exist (I have been unable to find any on a preliminary search, and do not know whether creating my own is reasonable), or are there other methods to introduce ionised species in VASP?
I get the sense that just setting NELECT will not give me the information I'm looking for (formation energy of a surface reconstruction using charged rather than neutral ions), due to the charge being distributed too widely.

I couldn't find an answer already on the forum, so I'd appreciate any insights!

Cheers
Max


manuel_engel1
Global Moderator
Global Moderator
Posts: 207
Joined: Mon May 08, 2023 4:08 pm

Re: Ionised Adatoms for Slabs

#2 Post by manuel_engel1 » Thu Feb 13, 2025 8:51 am

Hi Max,

Thanks for reaching out. You are correct that setting NELECT alone may not give you the result you want. Setting ZVAL in the POTCAR file is the way to go if you want charged nulcei. Just keep in mind that by changing ZVAL you also implicitly change NELECT (which is the sum of all ZVAL in the POTCAR).

Manuel Engel
VASP developer


manuel_engel1
Global Moderator
Global Moderator
Posts: 207
Joined: Mon May 08, 2023 4:08 pm

Re: Ionised Adatoms for Slabs

#3 Post by manuel_engel1 » Thu Feb 13, 2025 11:18 am

That being said, you may still want to try setting NELECT. In principle, VASP is able to find the correct ground-state solution of your system, including charged atoms/molecules if electrons are added or removed.

Manuel Engel
VASP developer


mwuensch
Newbie
Newbie
Posts: 16
Joined: Mon Jul 17, 2023 4:42 pm

Re: Ionised Adatoms for Slabs

#4 Post by mwuensch » Tue Feb 18, 2025 6:03 pm

Hey Manuel,
so it looks like the calculation ran well when changing ZVAL to 4 (I also once left the occupancy of the 2p orbital alone and once changed it to 2, does not seem to make a difference)!
However, out of curiosity and for comparison's sake I wanted to run the calculation again with NELECT set to compensate the missing charge. This caused VASP to complain about using LDIPOL, as it now seems to think my supercell has changed its parameters. Would be curious to know what your insights into this are!

Cheers
Max

(As a reference: The first .out and .error file is for the run that completed, and the OUTCAR_NELECT_727 is the result of the first working calculation. The second .out and .error files are for the run with NELECT set to 728, as is the OUTCAR file and every other output in the folder. Input files are exactly the same between the two calculations except for the addition of NELECT = 728 in the INCAR)

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

manuel_engel1
Global Moderator
Global Moderator
Posts: 207
Joined: Mon May 08, 2023 4:08 pm

Re: Ionised Adatoms for Slabs

#5 Post by manuel_engel1 » Wed Feb 19, 2025 12:26 pm

Hi Max,

It's good to hear that you are making progress with your calculation.

The default for NELECT is to always make the entire cell neutral. Therefore, when changing ZVAL in the POTCAR, NELECT will automatically be set by VASP to compensate for the change in nuclear charge. In other words, VASP automatically adds as many electrons to the system as it necessary to have an overall neutral cell.

By changing NELECT, you explicitly change the number of electrons in the system, which allows you to have a net charge in the cell. However, in this case, LDIPOL=True is only supported for cubic cells. That is why you see the error message. To continue your calculation, you have to either consider a cubic supercell or switch off multi-pole corrections (LDIPOL=False). Here is the relevant excerpt from the wiki:

Warning: For charged systems, the potential correction is currently only implemented for cubic supercells. VASP will stop if the supercell is not cubic and LDIPOL is used.

Manuel Engel
VASP developer


Post Reply