CellListMap.jl
Flexible implementation of cell lists to map the calculations of particle-pair dependent functions, such as forces, energies, neighbor lists, etc.
Install / Use
/learn @m3g/CellListMap.jlREADME
CellListMap.jl
This package is for computing interactions or any other property that is dependent on the distances between pairs of two- or three-dimensional particles, within a cutoff. It maps a function to be computed pairwise using cell lists, using periodic boundary conditions of any type. Parallel and serial implementations can be used.
It allows the fast computation of any quantity from the pairs that are within the desired cutoff, for example pairwise potentials and forces, neighbor lists, minimum distances, an average distance or an histogram of distances, etc. This is done by passing the function to be evaluated as a parameter of the pairwise! function, which receives a NeighborPair struct for each pair.
The user guide provides direct examples of each of these applications.
<h3> <br> <p align=center> USER GUIDE: <br> <a href=https://m3g.github.io/CellListMap.jl>https://m3g.github.io/CellListMap.jl</a> </p> <br> </h3>Installation
Download and install Julia for your platform from this http url. Version 1.10 or greater is required.
Install it as usual for registered Julia packages:
julia> import Pkg
julia> Pkg.add("CellListMap")
Brief overview
CellListMap.jl implements an efficient cell list scheme for the computation of interactions, neighbor lists, or any other property dependent on the distances between pairs of two- or three-dimensional particles, within a cutoff.
The package provides an interface to compute a generic function for each pair of particles closer than a cutoff, using general periodic boundary conditions. Parallel and serial implementations can be used.
Some benchmarks
The goal here is to provide a good implementation of cell lists. We compare it with the implementation of the nice cython/python halotools package, in the computation of an histogram of mean pairwise velocities.
<img src="https://m3g.github.io/CellListMap.jl/stable/assets/b_cd.png"> <img src="https://m3g.github.io/CellListMap.jl/stable/assets/b_cv.png">The full test is available at this repository. And we kindly thank Carolina Cuesta for providing the example. These benchmarks were run on an Intel(R) Core(TM) i7-12700, using 8 CPUs.
Citation
If you use this software and need to cite it, please use the following reference:
L. Martínez, CellListMap.jl: Efficient and customizable cell list implementation for calculation of pairwise particle properties within a cutoff. Computer Physics Communications, 279, 108452, 2022. https://doi.org/10.1016/j.cpc.2022.108452
