MLFF segmentation error due to overlapping atomic species in POSCAR and POTCAR

Problems running VASP: crashes, internal errors, "wrong" results.

Moderators: Global Moderator, Moderator

Post Reply
Message
Author
nobuhiko_nishiya
Newbie
Newbie
Posts: 1
Joined: Thu Feb 27, 2020 8:52 am

MLFF segmentation error due to overlapping atomic species in POSCAR and POTCAR

#1 Post by nobuhiko_nishiya » Wed May 25, 2022 8:45 am

In VASP.6.3.0 and VASP.6.3.1, the MLFF calculation for organic molecules on a semiconductor surface does not work.

forrtl: severe (174): SIGSEGV, segmentation fault occurred

I have tried compiling and changing the scripts of the runs based on the forum posts, but none of them worked.
I tried a few ideas and found that the cause was the way POSCAR and POTCAR are written.

Normally, when listing additional atoms, the sixth line of POSCAR is listed as follows, and POTCAR is also listed in the order of atoms in POSCAR. (Example of water molecules on SnO2)

Sn O H O
64 128 2 1

This description method works fine for normal DFT calculations, but when used in MLFF, it causes an error.
If you modify it as follows, it works fine in MLFF.

Sn O H
64 129 2

I Attach the normal and error versions of the VASP file.
error.zip
normal.zip
I appreciate any help identifying the source of this problem.

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

ferenc_karsai
Global Moderator
Global Moderator
Posts: 422
Joined: Mon Nov 04, 2019 12:44 pm

Re: MLFF segmentation error due to overlapping atomic species in POSCAR and POTCAR

#2 Post by ferenc_karsai » Wed May 25, 2022 1:47 pm

Thank you very much for pointing that problem out.

Indeed the machine learning doesn't allow that. It is possible to have multiple Oxygen atom types, but then they have to have different names like e.g. O and O1 (but having the same POTCAR information). Then from the viewpoint of the code these are two different types.
It's not a good idea to make the code allow twice the exactly same type since the machine learning code scales cubically with the number of species and also not if the code automatically merges the same atom types since then the input and output structures would be confusing for the user.

So we will have a proper termination with an error message for the user stating that multiples of element types with the same name are not allowed in ML.

Post Reply