-
Notifications
You must be signed in to change notification settings - Fork 50
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
Box module: Calculate image vectors from trajectory #854
Comments
This is a frequently requested feature. I think it could be in scope for freud, but I would strongly recommend implementing it in C++ if it is included in the package, since all of the existing box methods call through to C++. |
Mayank, Have a look at the If that doesn't suit your needs, we can talk more about why. |
This is definitely a commonly requested feature. I've always questioned whether it is in scope for freud because there is no way to guarantee correctness. It relies on the trajectory being dumped frequently enough relative to the time scale to avoid significant jumps, which isn't always the case. Other freud algorithms can also produce incorrect results in the sense that a poorly sampled trajectory will give invalid RDFs etc, but those will be statistically incorrect as opposed to the calculation being just wrong. Of course, we could just take the point of view that garbage in is garbage out and push the responsibility to the user, but this API will have sharper edges than others in that respect. Just some thoughts to consider when deciding how to proceed. |
@vyasr and I have discussed this before. I’m on the same page about caution near “sharp edges.” I think it would be fine if the limits to the method are documented. I would suggest an API like |
Development effort would be better spent updating tools that fail to provide the necessary image data rather than implementing a reconstruction feature in freud that will almost always produce incorrect results. |
@amayank-umich I'm curious, what simulation software are you using? In principle I agree with @joaander that we'd be better off getting all tools to provide proper image data, but I don't know if that's realistic in practice. To my knowledge, the landscape is mixed, but of the tools that I've used before the only ones that provide the data are LAMMPS, which allows dumping image data, and GROMACS, which supports dumping unwrapped positions. I assume that most tools would at least support dumping unwrapped positions? |
Sorry for the delayed response. I haven't been checking this account
regularly.
@Vyas Ramasubramani ***@***.***> I am using GROMACS but
since I am dumping large quantities of data, I am not separately dumping
unwrapped positions to conserve space and I do need the wrapped positions.
However, it's not just the particle simulation software. A lot of people
write their own particle style models and although they should, they don't
necessarily dump images. Another case is when people track particles or
custom blobs in a time series of experiment images. As a particle
analysis software, I feel measuring particle jumps across box boundaries
should be somewhere in it.
@bradley Dice ***@***.***> @Vyas Ramasubramani
***@***.***> I concur with everything you guys said. I
think our comfort level also depends on the semantics. If we call
it getting box images, then we start thinking about the correctness and
space/time resolution of the original simulation, but if we just think of
it as measuring particle jumps across periodic boundaries, then getting the
space/time resolution right is on the user.
@bradley Dice ***@***.***> Sorry Bradley, I don't have the C++
implementation. C++ is not my forte.
…On Thu, Nov 11, 2021 at 1:03 AM Vyas Ramasubramani ***@***.***> wrote:
@amayank-umich <https://github.com/amayank-umich> I'm curious, what
simulation software are you using? In principle I agree with @joaander
<https://github.com/joaander> that we'd be better off getting all tools
to provide proper image data, but I don't know if that's realistic in
practice. To my knowledge, the landscape is mixed, but of the tools that
I've used before the only ones that provide the data are LAMMPS, which
allows dumping image data, and GROMACS, which supports dumping unwrapped
positions. I assume that most tools would at least support dumping
unwrapped positions?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#854 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALJK6GTUEUW73D7VAO74OQDULNTDHANCNFSM5GPGWU3Q>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Is your feature request related to a problem? Please describe.
HOOMD calculates and provides image data but I am observing that many simulation software doesn't provide the image data while they still employ periodic boundaries. For a lot of freud analysis, this sort of creates a bottleneck for non-hoomd simulations. So it will be nice to have a subroutine that calculates the image vectors using just the position data.
Describe the solution you'd like
The algorithm runs through particle positions framewise. For each particle, it checks if the particle is suddenly jumping a huge distance. If yes, then image is calculated accordingly.
Python code I am using currently
The text was updated successfully, but these errors were encountered: