-
Notifications
You must be signed in to change notification settings - Fork 51
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
get_voronoi_neighbors exhausts memory #84
Comments
Thanks for letting me know. Can you provide an example unit cell and usage? I'll look into it. |
Here is my example:
I'll send you the data directly |
Ok, looks like this is being caused because too many atoms are being passed to qhull. This is because of the automatic expansion of the cell from Possible solutions:
Currently, there is a warning that provides some instruction if the repeated cell returned is quite large. This will give the user some information on how to proceed until I can find out if a better padding solution exists. #85 |
Making the I am still getting some
If I also make the following check, after standardizing the cell, most of my structures make it through and the most unreasonable ones get skipped.
but the limit should be either user input or be estimated from the available memory with psutil. I just don't know the relation between len(index) and required memory. It's a property of qhull. |
Having a user-defined memory flag is going to be a really ugly feature. If most other nearest-neighbor functions from other programs are working for this, there must be a simpler solution which involves simply making the algorithm more efficient. I'll look into this in the very near future. |
Ok, a user-defined cutoff radius is now the default for determining the number of expansions to the cell, similar to ASE. The default cutoff is 5 angstroms, which is probably more than sufficient for any structure which using a Voronoi method is actually likely to lead to a reasonable representation of the connectivity matrix. Gives the same connectivity matrix for all provided examples and reduces the memory requirement to less than 0.1 MiB for all cases. #86 |
This seems to happen for high aspect ratio unit cells with many atoms, when the call is made to
scipy.spatial.Voronoi
. Can something be done to either:The current behavior risks exhausting memory and cause a freeze.
The text was updated successfully, but these errors were encountered: