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

FragmentedSystem/NMerSystem Redesign #11

Open
ryanmrichard opened this issue Feb 25, 2022 · 0 comments
Open

FragmentedSystem/NMerSystem Redesign #11

ryanmrichard opened this issue Feb 25, 2022 · 0 comments
Labels
design Requires some software engineering enhancement New feature or request

Comments

@ryanmrichard
Copy link
Contributor

For the sake of making progress I'm going to leave the design as is; however, there is room for improvement. Right now FragmentedSystem stores everything is in terms of atoms, that is we store an "atom to number-of-electrons" map, an "atom to AOs" map, and the fragments are defined in terms of which atoms are in that fragment. The NMerSystem is defined in terms of the fragments in the FragmentedSystem.

Realistically we should also be able to define the n-mers in terms of the fragments, the fragments in terms of pseudoatoms, and pseudoatoms in terms of atoms (when the pseudoatoms are themselves not just a trivial mapping to the atoms). This actually makes the fragments more analogous to the n-mers in terms of storage. Basically, I feel like there's some sort of recursive structure that could be designed which models what's going on here better and would probably perform better (if you figure a pseudoatom contains around three atoms, that means you're getting a 3x reduction in data you need to look at when you write the fragments in terms of pseudoatoms). The exact storage strategy should probably be in a PIMPL so user's don't need to know about it.

@ryanmrichard ryanmrichard added design Requires some software engineering enhancement New feature or request labels Feb 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design Requires some software engineering enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant