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

kim-api "ignored" particles #64

Open
ellio167 opened this issue Jan 4, 2021 · 0 comments
Open

kim-api "ignored" particles #64

ellio167 opened this issue Jan 4, 2021 · 0 comments
Milestone

Comments

@ellio167
Copy link
Member

ellio167 commented Jan 4, 2021

Make changes to support an "ignored" particle status that a model will essentially ignore when computing energies and forces, etc. This will make it possible to use KIM PMs in a "hybrid-mode" where they can be combined to build up the desired interactions. This will require backward-incompatible changes.

  • change particleContributing to contain an new extensible enumeration with three values: contributing, padding, and ignored. (This will lead to a lot of operator=() calls. We should profile the impact that this has and if it is significant consider solutions. Perhaps, move implementation to headers so inlining can be done?)

  • add support for compute arguments that are of type: extensible enumeration for particle class (or whatever we call it). Will need to design a good solution for this (use opaque pointers? support explicit specific extensible enumerations as needed? Probably the latter.)

  • change name of particleContributing argument to something more appropriate.

  • New definition of Neighbor Lists: as in 2.0, with the following new required behavior if there are ignored particles.

    • ignored particles have zero neighbors
    • ignored particles do not show up as neighbors of any other particles
@ellio167 ellio167 added this to the kim-api-3.0.0 milestone Jan 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant