-
-
Notifications
You must be signed in to change notification settings - Fork 60
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
Change categories for general purpose #369
Comments
For now, I have just used categories to pass them on the I think up until now using So maybe we could keep both? The current one would be used by |
Yes, this needs some careful thoughts here.
Exactly, the plan would be to make categories more useful, i.e. find specific atoms meeting certain criteria. So having the result contain this auxiliary information might be what pushes it.
I think they could easily co-exist with some minor changes to |
This is superseeded in #687 |
Describe the feature
Currently the Categories used for geometries are limited in use. @tfrederiksen initial idea in #202 spawned this whole category stuff. Now the problem with the categories is that they are only based on 1 atoms at a time. Which doesn't really make it useful for other categories.
Currently a category dose more or less these things:
NullCategory
).[ø, odd]
.categorize
function will only ever return a single category for each atom. This means that one cannot create categories that encompass multiple atoms, say dihedral angle requirements etc.What I suggest is that we change the categories to return a
CategoryResult
which contains 1) the category it resulted in and 2) any arguments that fits the category. I.e. aCategoryNeighbour
may contain the atom index, and that atoms neighbours. This means that it has some state knowledge which I kind of objected against previously. However, since now the results are deferred to another object I think it becomes more stable.This however makes it a bit more problematic to use since one needs to easily decide which atoms belongs to which categories, and vice versa.
I am thinking about an interface that looks something like this:
Note that since a category result may have additional data associated we could expect it to retain information related to the category it self.
It isn't totally clear to me exactly what the interface should look like here, perhaps the easiest is if the result category for neighbours only has a single atom associated, and the
result.neighbours
is the list of neighbour indices?ideas; suggestions etc. are most welcome @pfebrer and @tfrederiksen.
The text was updated successfully, but these errors were encountered: