Skip to content

Draft: ENH: Surface termination

TomD requested to merge tomdemeyere/ase:surface_termination into master

Checklist

New version of the 'surface_with_termination' function that was somewhat hidden in the files:

  • Everything is using Numpy, making the function faster
  • Added one optional parameter 'bottom termination' and changed the current optional parameter 'termination' to 'top_termination' the bottom termination is obtained (if possible) by cutting the slab layer by layer, allowing users to obtain dipole-free surfaces.
  • The new 'minimum_thickness' parameter controls what is the minimum slab size when requesting 'bottom_termination'.
  • The previous similarity check can now be completed by setting the 'symmetry_check' to True which uses the SymmetryEquivalenceCheck class in order to obtain symmetrically inequivalent surfaces only. Slowing down the function considerably.

It would be nice to have the approval of the previous maintainer, but it seems that their gitlab account does not exist anymore?

Also, it would also be nice if someone with a higher knowledge of symmetries could answer this question: For some reasons I believed that the symmetry checker would always return True because all we do is translate the same unit-cell and add vacuum, which imo should always lead to symmetrically equivalent structures?

Merge request reports