Skip to content

Commit

Permalink
Merge branch 'master' of github.com:JuliaMolSim/NeighbourLists.jl
Browse files Browse the repository at this point in the history
  • Loading branch information
Christoph Ortner committed Nov 24, 2023
2 parents 1622272 + 2bb8716 commit ef28c01
Showing 1 changed file with 23 additions and 15 deletions.
38 changes: 23 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,13 @@
# NeighbourLists.jl

[![Build Status](https://travis-ci.org/libAtoms/NeighbourLists.jl.svg?branch=master)](https://travis-ci.org/libAtoms/NeighbourLists.jl)

[![Coverage Status](https://coveralls.io/repos/libAtoms/NeighbourLists.jl/badge.svg?branch=master&service=github)](https://coveralls.io/github/libAtoms/NeighbourLists.jl?branch=master)

[![codecov.io](http://codecov.io/github/libAtoms/NeighbourLists.jl/coverage.svg?branch=master)](http://codecov.io/github/libAtoms/NeighbourLists.jl?branch=master)


A Julia port and restructuring of the neighbourlist implemented in
[matscipy](https://github.com/libAtoms/matscipy) (with the authors' permission).
Single-threaded, the Julia version is faster than matscipy for small systems,
probably due to the overhead of dealing with Python, but on large systems it is
tends to be slower (up to around a factor 2 for 100,000 atoms). However, the
Julia version is also multi-threaded, which makes up for that (but otherwise
scales poorly).
tends to be slower (up to around a factor 2 for 100,000 atoms).

The package is intended to be used with
[JuLIP.jl](https://github.com/libAtoms/JuLIP.jl), but can be used as
stand-alone.
The package is can be used stand-alone, with
[JuLIP.jl](https://github.com/libAtoms/JuLIP.jl), or with [AtomsBase.jl](https://github.com/JuliaMolSim/AtomsBase.jl).

## Getting Started

Expand All @@ -27,6 +17,24 @@ using NeighbourLists
?PairList
```

Until I get around to writing some documentation, look at the tests
and `JuLIP.jl` on how to use this package. Or just open an issue and
### Usage via `AtomsBase.jl`

```julia
using ASEconvert, NeighbourLists, Unitful
cu = ase.build.bulk("Cu") * pytuple((4, 2, 3))
sys = pyconvert(AbstractSystem, cu)
nlist = PairList(sys, 3.5u"Å")
neigs_1, Rs_1 = neigs(nlist, 1)
```

### Usage via `JuLIP.jl`

```julia
using JuLIP
at = bulk(:Cu) * (4, 2, 3)
nlist = neighbourlist(at, 3.5)
neigs_1, Rs_1 = neigs(nlist, 1)
```

Please also look at the tests on how to use this package. Or just open an issue and
ask.

0 comments on commit ef28c01

Please sign in to comment.