Skip to content

Flexible implementation of cell lists to map the calculations of particle-pair dependent functions, such as forces, energies, neighbor lists, etc.

License

Notifications You must be signed in to change notification settings

m3g/CellListMap.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,315 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stable Dev Build Status codecov Aqua QA Package Downloads

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.

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.

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

About

Flexible implementation of cell lists to map the calculations of particle-pair dependent functions, such as forces, energies, neighbor lists, etc.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

Languages