Hi everyone,
I am working with pymatgen adsorption workflows and I am a bit confused about the correct approach for calculating O₂ adsorption/binding energies on a slab surface.
My goal is to calculate the adsorption energy of O₂ on a surface using DFT later on (VASP calculations after generating the structures with pymatgen).
I noticed there are two different methods in AdsorbateSiteFinder:
generate_adsorption_structures()
and
adsorb_both_surfaces()
From my understanding:
-
generate_adsorption_structures()places the adsorbate only on one surface of the slab. -
adsorb_both_surfaces()places symmetric adsorbates on both the top and bottom surfaces.
My question is:
For adsorption/binding energy calculations, which approach is generally preferred and why?
Should I:
-
Use
generate_adsorption_structures()with adsorption only on one side of the slab?
or -
Use
adsorb_both_surfaces()to preserve slab symmetry and avoid dipole effects?
I am especially unsure because the adsorption energy would then effectively include two adsorbates in the cell when using adsorb_both_surfaces().
Are there standard best practices for this in surface DFT calculations?
Thanks!