Wrap particle positions after converting to physical units and before the KDTree is built#285
Open
bwkeller wants to merge 1 commit intopynbody:masterfrom
Open
Wrap particle positions after converting to physical units and before the KDTree is built#285bwkeller wants to merge 1 commit intopynbody:masterfrom
bwkeller wants to merge 1 commit intopynbody:masterfrom
Conversation
spurious, roundoff-caused problems with periodic boxes. In a snapshot where the boxsize was 1.0, and two or more particles are at -0.5 and 0.5 in code units, these same particles may fail pynbody's boundary check in smCheckFits, and calculations will end up falling back to assuming no periodicity.
Member
|
Thanks Ben! Does it need to be repeated in two places? I’d naively think putting it just in |
Author
It might, it looks like my change fails the tests anyway! I'll try and fix this and update my fork. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Converting to physical units before building the KDTree can cause spurious, roundoff-caused problems with periodic boxes. In a snapshot where the boxsize was 1.0, and two or more particles are at -0.5 and 0.5 in code units, these same particles may fail pynbody's boundary check in
smCheckFits(), and calculations will end up falling back to assuming no periodicity.This small change just call's pynbody's
wrap()before the treebuild to make sure any particles that have been shifted over the border by roundoff get re-wrapped to fit within the periodic box in physical units.