When it comes to studying 2D, 1D or 0D nanomaterials, saturating the dangling bonds in the surface helps remove unwanted localized surface states from the band structure 1. However, so far I have not found an ideal way to conduct this saturation process.

My current procedure includes using the Avogadro software to add H to the surface (of Si and Ge nanostructures). However this package treats any structure as a molecule, and adds H to the periodic directions as well (and I later delete the extra atoms and edit the structure manually). Are there any other free alternatives which can be used?

  • $\begingroup$ Possible duplicate here: mattermodeling.stackexchange.com/questions/4203/… $\endgroup$ Commented Oct 16, 2021 at 6:21
  • $\begingroup$ Sorry. I didn't find that earlier. Thanks $\endgroup$
    – PBH
    Commented Oct 16, 2021 at 8:20
  • $\begingroup$ @PBH Do you feel that the other question is sufficient, or should we leave this one open too? If we should leave this one open, why? $\endgroup$ Commented Oct 16, 2021 at 17:18
  • $\begingroup$ I have given an answer, I feel this is close to a duplicate but some of these tools likely do not work in 3D, 2D, 1D and 0D. The generalized approach given should work for any system. If we want to combine the two questions, I can move my answer to the possible duplicate. $\endgroup$ Commented Oct 16, 2021 at 22:27
  • 1
    $\begingroup$ @NikeDattani the answer I got is significantly better than the options available in the other question. $\endgroup$
    – PBH
    Commented Oct 17, 2021 at 1:39

1 Answer 1


Atomic simulation environment can do this with the following line of logic.

  1. Calculate the number of nearest neighbors for all atoms
  2. Select the undercoordinated atoms
  3. Calculate the direction away from the neighbors (sum vectors from neighbor->atom and normalize)
  4. Add your atom to cover the dangling bonds, such as H, in direction of calculated vector

A working example of this might be difficult without a concrete system to work with and explore, however this will probably be somewhat fiddly work where you need to tune everything for your specific system. I also suspect that is why not many tools exist to do this out of the box.

  • $\begingroup$ This helps a lot. Even though I used the software mentioned in the other question, I wasn't sure about the accuracy of what is being done there. With this logic, now I am writing my own script to get things done and validated. Also the Atomic simulation environment tool looks promising. $\endgroup$
    – PBH
    Commented Oct 17, 2021 at 1:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .