glotzerlab / freud

Powerful, efficient particle trajectory analysis in scientific Python.
https://freud.readthedocs.io
BSD 3-Clause "New" or "Revised" License
282 stars 49 forks source link

Expose neighbors computed using local density via a neighbor list #1267

Closed DomFijan closed 4 months ago

DomFijan commented 4 months ago

Description

This pull request exposes neighbors computed using local density via a neighbor list. The local density computation currently averages the number of neighbors using the approach described in the documentation but does not expose the associated neighbor list. This enhancement computes and exposes the full weighted neighbor list based on the approach described in the local density documentation. The weighted neighbor list applies the same rules used to compute neighbors of particles, considering contributions based on distances as neighbor list weights.

Motivation and Context

@rayasare requested this be exposed.

How Has This Been Tested?

Tests and docs are TODO

Types of changes

Checklist:

DomFijan commented 4 months ago

I haven't checked how this impacts memory/performance. If I added a flag that skips computation of the neighbor list, would this be an ok fix, or do you just think we should just drop this?

DomFijan commented 4 months ago

In an offline discussion we have concluded that the same behavior can easily be achieved with current neighbor list infrastructure and that this code is not needed. Another issue was the fact that changes proposed impact the performance and memory for users using local density in its current form.