giorginolab / vmd_diffusion_coefficient

Computing Diffusion Coefficients in Macromolecular Simulations: The Diffusion Coefficient Tool for VMD
https://doi.org/10.21105/joss.01698
BSD 3-Clause "New" or "Revised" License
31 stars 13 forks source link

Crash during initialization #5

Closed jrperilla closed 4 years ago

jrperilla commented 4 years ago

During testing, I attempted to analyze each water in every frame of the trajectory specified above, which totaled over 400,000 frames. VMD crashed during initialization of the ‘diffusion_coefficient_msd’ calculation. While this is a rather idiotic usage of the tool, it points to a problem with the method: that the initialization has no check for user input size or specified dimensionality. Given this tool has a GUI implementation, it may be smart to perform a simple check before array initialization to warn, or advise, users to prune their input or decrease the number of atoms in the selection to prevent a complete failure of VMD. Likewise, the initialization procedure seems agnostic to the dimensions specified by the user. Since diffusion along any permutation of x, y, or z may be analyzed at the user’s discretion, why does ‘diffusion_coefficient_msd’ always get and load x, y, z into arrays while the following call to ‘msd_between’ is the point at which the user’s arguments are checked?

image

tonigi commented 4 years ago

Re-wrote the algorithm to avoid the coordinate copy which occurred in the initialization. The calculation should now take a negligible amount of memory. ec8a675534f1f977ab90d051fa1d2b403343a13d