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

Add pair list to SPAM pure water calc and properly image distances #539

Merged
merged 13 commits into from
Sep 5, 2017

Conversation

drroe
Copy link
Contributor

@drroe drroe commented Sep 5, 2017

This PR started out as an enhancement but ended up being a bug fix as well.

The purewater calculation for the SPAM action was very time-consuming since it scaled O(N^2). This PR improves the speed of this calculation by using a pair list. Note that purewater is no longer OpenMP parallelized; however, the speedup from the pair list is such that even vs 4 threads with the old code the new code is almost 2x as fast (not taking into account the imaging issue detailed in the next paragraph).

In the course of testing the new pair list implementation, inconsistencies with results from the old code revealed that distances were not being imaged. The problem was that the ImagedAction class was being employed but not properly set up in Action_Spam::Setup, resulting in the non-imaged distance always being used. Now the minimum imaged distance is actually used throughout Action_Spam and the test results have been updated to reflect this.

Also includes general code cleanup of Action_Spam and removal of a test file that should not have been tracked.

@drroe drroe self-assigned this Sep 5, 2017
@drroe drroe merged commit 68d7b76 into Amber-MD:master Sep 5, 2017
@drroe drroe deleted the spam_pairlist branch September 5, 2017 18:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant