Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switching to wyckoff surface atom tagging #157

Open
brookwander opened this issue Sep 15, 2022 · 0 comments · May be fixed by #164
Open

Switching to wyckoff surface atom tagging #157

brookwander opened this issue Sep 15, 2022 · 0 comments · May be fixed by #164
Assignees
Labels
enhancement New feature or request

Comments

@brookwander
Copy link
Collaborator

brookwander commented Sep 15, 2022

Use cases:

  1. This will be used implicitly by anyone using catlas to enumerate slabs. It makes it so the undercoordination of possible surface atoms is directly compared to its bulk counterpart (via wyckoff) rather than considering the min coordination for that species in the bulk. This removes the need to consider surface atoms by height as well, which could have resulted in subsurface placement in the past.

Scope:
What will be done:

  1. The Surface class from ocdata.surfaces will be brought into catlas and modified.
  2. It will primarily use pymatgen.structure.Structure objects rather than ase.Atoms
  3. Atom tiling will be modified to be handled on pymatgen.structure.Structure objects rather than ase.Atoms
  4. atom coordination will be considered by full_wyckoff rather than min per species
  5. _find_surface_atoms_by_height will be removed
  6. Some modifications to catlas.enumerate_slabs_adslabs.enumerate_slabs to support above changes
  7. Possibly some integration with the broken bond model to reduce compute although how to do this isn't immediately obvious because BB model as implemented does not use Voronoi nn
  8. testing: look at the differences between adslabs enumerated (up to max miller =2)by the previous approach and this current one for 300 randomly selected bulks to quantify the impact of this approach. For a subset of differences (say 200 slabs) ensure the change is in fact an improvement. Although I don't know why it wouldn't be. Maybe try out a couple of NN approaches and compare. Voronoi is slow and has some problems. Take a look to see if this completely corrects issues with large adsorbates. Test overlap post adslab enumerations.
  9. doc updates

What will not be done:

  1. Full integration of existing ocdata infra. This has been something we have talked about and I think we are close to that now, but it will not be completed here.

Execution plan:
This will be a solo project all to be completed by Brook. The execution plan is well detailed in the scope section.

Consider any problems / risk:
Unforeseen issues with the new tagging method. There should be very little risk once the testing plan has been completed.

@brookwander brookwander self-assigned this Sep 15, 2022
@brookwander brookwander added the enhancement New feature or request label Sep 15, 2022
@brookwander brookwander changed the title Switching to wyckhoff surface atom tagging Switching to wyckoff surface atom tagging Sep 20, 2022
@brookwander brookwander linked a pull request Sep 20, 2022 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant