Skip to content
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

Cluster analysis + NetworkX #4817

Open
8 tasks
RudolfWeeber opened this issue Nov 2, 2023 · 1 comment
Open
8 tasks

Cluster analysis + NetworkX #4817

RudolfWeeber opened this issue Nov 2, 2023 · 1 comment

Comments

@RudolfWeeber
Copy link
Contributor

  • Cluster analysis should make use of the short range loop for neighbor finding, if the cutoff is short enough
    • add a cutoff() function to the pair criteria, i.e, the maximum distance of a potentail neighbor
    • When running the cluster analysis for all pairs, check if the cutoff is smaller than the cell system range
    • If yes, use the neighor finding rountines from cells.cpp to iterate over all pairs of particles within the cutoff
    • otherwise, use the present code, retrieving all particles to the head node
  • Cluster analysis should collect/keep edge information, if requested, e.g. in a std::vector<std;:pair<size_t,size_t>> storing paris of particle ids for neighboring particles
  • Cluster analysis should be able to link/export to the networkx Python package (using particle ids as nodes and the edge info from the previous step)
  • The per cluster "observables" such as longest distance and raidus of gyraiton should be made Lees-Edwards safe
@RudolfWeeber
Copy link
Contributor Author

Step 1: Add a distance cutoff to pair criteria

  • the pair criteria are in src/core/pair_criteria
  • Add a virtual abstract method double cut_off() to the PairCriteroin base class
  • Implement the method in the derived classes:
    • for DistanceCriterion the cutoff equals the distance
    • the eneryg criteiron has a cutoff already
    • one needs to be added to the bond criterion. Default shoudl be -1, but should be overridable
  • For the bond criterion, the cutoff should be accessible via the script interface from Python. See src/script_interface/pair_criteria/EnerygCriterion.hpp for a template.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant