Probe-Particle / ppafm

Classical force field model for simulating atomic force microscopy images.
MIT License
49 stars 18 forks source link

Default values in the "atomtypes.ini" file #291

Closed prometeus3 closed 1 month ago

prometeus3 commented 1 month ago

In the "atomtypes.ini" file containing the default values for the van der Waals radii (https://github.com/Probe-Particle/ppafm/blob/main/ppafm/defaults/atomtypes.ini), I noticed that for most of the elements there is the reference " Batsanov S. S. Van der Waals Radii of Elements Inorganic Materials 2001 Vol 37 PP 871-885 Nr. 9". Nevertheless, no reference is reported for some elements (like iodine, for example). The reference above indicates a van der Waals radius for iodine of 2.22 Å, but the default file reports 2.35 Å. I wonder where this value comes from and how it can be justified. As expected, I noticed that the AFM simulations (Hartree-potential electrostatics + Lennard-Jones) at short distances can vary quite a bit by changing this value between 2.2 and 2.5 Å, for instance. Perhaps it would be good to specify the origin of the default values of all elements in the "atomtypes.ini" file? Can we trust the default values given in this file? Or can they be slightly modified to improve the match with the experiment? Thank you

NikoOinonen commented 1 month ago

@ProkopHapala @ondrejkrejci Do you know where all of these values come from?

Can we trust the default values given in this file? Or can they be slightly modified to improve the match with the experiment?

They definitely can be modified and choosing the values more carefully can make match with experiment better if fitted for a particular system. There is a utility script called fitPauli.py for fitting the LJ parameters to DFT calculations: https://github.com/Probe-Particle/ppafm/wiki/Command-line-interface#utilities.

ondrejkrejci commented 1 month ago

@prometeus3 Sorry for our late answer. The "Batsanov S. S. Van der Waals Radii of Elements Inorganic Materials 2001 Vol 37 PP 871-885 Nr. 9". was used only for sizes of metal atoms, which were not in the AMBER/OPLS 2023 force-field. You can distinguish those, by the fact, that the "bonding energy" is fixed to 0.1 eV as we did not found any good references for those. I believe, that all the other atom sizes, which have properly defined "bonding energies" are from the AMBER/OPLS 2003 force-field. I guess that those were taken directly from the AMBER software by @ProkopHapala, as I cannot find anywhere the database available. There are several problems, with those definitions - what was the "charge of the atom" (quantum physics does not define anything like a atom charges, but one can think about, whether the atoms get some electron distribution from the nearby atoms), are you looking at the same type of materials, .... As @NikoOinonen suggested - if you want to stick to the Lennard-Jones simple model, then the fitPauli.py script is a probably way to go. The extract_denisties.py script has to be used before and you need a CHGCAR (converted to xsf) or a total_density.cube from DFT calculations for to run these scripts. This approach was used for molecules here and for solid "salt-type" surfaces here. The best would be to try our latest development on Full-density based model (FDBM), which goes beyond the radially symmetrical atoms, have a look at our manuscript here. So far we are lacking documentation for the FDBM, so please do not hesitate to contact us for more help with it.

ProkopHapala commented 1 month ago

@prometeus3

Yes, I confirm what Ondrej and Niko already said.

Can we trust the default values given in this file? Or can they be slightly modified to improve the match with the experiment?

Definitely modify them if you have some good guess. The default table is really just initial guess, if you don't have anything better. Generally vdW radius can differ a lot in different chemical environements, oxidation/ionization state. For example the parameters refered in OPLS/AMBER are fited for aqueous environment, and for surfaces may be totaly wrong (especially fo ions).

As Niko and Ondrej mentioned you can either use fitPauli.py or use FDBM model which rely on true electron density therefore is independent of choice of atomic radius.

ondrejkrejci commented 1 month ago

@prometeus3 - The documentation of the forces is on this wikipage ; In the very bottom there is comparison of DFT vs PPAFM, there you can see, how well each model reacts. Unfortunately we do not have there Iodium, as it was not on our radar.

We will keep this issue open for a week or two, and unless you will need some extra help, then we will close it. Of course there it can be re-opened at any time, if needed.

prometeus3 commented 1 month ago

@NikoOinonen @ondrejkrejci @ProkopHapala Thank you for your replies and comments! I'm trying what you suggested, and I will let you know in case. Thanks again!