I am trying to study surface reconstructions of metal oxides using Quantum ESPRESSO. For this, I am creating slabs using python tools: ASE, Pymatgen, and catgen. However, I am unable to terminate the bottom (or the top) of the slabs using hydrogens using these tools. Can someone guide how this can be done using these codes or suggest some alternate free tools to passivate the dangling bonds on the surfaces with hydrogen atoms?
"I don't know any tools to automate this, but as an opening guess I would create a slab with one extra atomic layer on the surface. Then I would remove all oxygen in the extra layer, and replace the cations with hydrogen - i.e. put hydrogen in the positions the cations would usually occupy. Finally, I would shorten the O-H bonds by calculating the average of the initial hydrogen positions and their nearest oxygen, and placing the hydrogen there instead. It's quite crude, but fairly easy to do (and script)."
"I'd also recommend fixing all the atoms except the hydrogen for the first geometry optimisation - otherwise, the optimisation will distort the otherwise-good slab geometry. "
"Yes, @NikeDattani. The solution given by PhilHasnip worked."