-
Notifications
You must be signed in to change notification settings - Fork 57
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
Feature request: re-usable components #232
Comments
Just curious about this feature. Does this mean we can do something like compute RMSD of dihedrals or other CVs without using custom functions or tcl scripts? |
For that I think you'll still need custom functions or scripts. This feature is useful when several variables are needed that are different combinations of the same components. Then they'll only need to be computed once. In a first "read-only" stage, it will allow doing analysis on individual components while using them in a separate colvar for biasing. |
@HanatoK To compute a RMSD of a set of dihedral there is a |
Looks like this needs #254 done before moving ahead. Assign back to me if needed. |
Hi @giacomofiorin This feature is getting more useful with additions by @HanatoK (PR coming soon). Another possible pathway is to make a colvar depend on another colvar, but this seems more lightweight in terms of architecture changes. |
Good to know, I look forward to the PR. I also agree that it's better to |
Hi @giacomofiorin, |
Yes, what you ask is possible in theory but not implemented yet. |
The current dependency system would allow a CVC to have several parent colvars, just the same way a colvar can have several parent biases. |
But the loop over CVCs in the SMP version does not take that into account, and could easily end up invoking the same CVCs on multiple threads at the same time. It's not a big change to work around that, but it needs to be done. |
In a first stage, these may be cvc objects that are thin wrappers around other cvcs and only implement getting the values, not applying forces.
The text was updated successfully, but these errors were encountered: