Releases: m3g/CellListMap.jl
Releases · m3g/CellListMap.jl
v0.10.0
CellListMap v0.10.0
Version 0.10.0
Automatic tracking of position mutations and updating of cell lists.
pairwise!(; reset=[true(default)/false]: the optionalresetkeyword ofpairwise!, when set tofalse, avoids resetting the initial value ofoutputtozero(typeof(output)).update!(sys::AbstractParticleSystem;)as cleaner and more convenient way to update system properties.reduce_output!is exposed API for advanced custom reductions.Improve scaling of cell list construction and updating.
Improve performance of inner loops.
Improve performance of neighborlist reduction and cold start of lists.
Update list of unchanched coordinates of
NonPeriodicCellonly if the limits expanded.Split computation of
NonPeriodicCells into its own path, which then can be simplified. Should display better performance and scalling, particularly in the cell list construction step.map_pairwise!was renamed topairwise!.pairwise, without the!was removed, to stress the fact that the function always mutates theoutputfield of theParticleSystemobject.The initial value of
outputis not set tozero(typeof(output))by default, but retains the given value. Resetting occurs on the call topairwise!by default, and can be skipped withreset=false.The previous "lower level interface" is now internal and not exported or public anymore.
The
autoswapfunction was removed, in favor of the newpairwise!(f, x, sys)method. It not available anymore in forneighborlistfunctions.The python interface was currently discontinued.
validate_coordinateshas to be aFunction((x) -> nothingto skip all validation).AbstractParticleSystem,ParticleSystem1andParticleSystem2are documented as public, to control dispatch in advanced applications.Renamed internal methods of
pairwise!to_pairwise!to improve error messages.Remove custom linear algebra code, use Base methods.
Remove deprecated code, improve code coverage.
Remove internal coordinate swapping by size.
Internal implementation of neighborlist moved to ParticleSystem interface.
The internal representation of coordinantes is done with
ParticleSystemPositionsarray type - which is not a subtype of abstract array.Add performance test.
Update examples.
Default name for output in ParticleSystem is
default_output_name, but it can be accessed thoughsys.output, as before.Internal fields of ParticleSystems are not part of
PrivateParticleSystemDataand are accessed through internal getter functions, or throughsys.private.field.Fix cross-computation (
pairwise!(f, x, sys)) withNonPeriodicCellfailing to find pairs when particle coordinates span negative values or large coordinate ranges / do not modify input coordinates inNonPeriodicCell. This bug was never released, it was created and fixed in the development version.If the number of particles is reduced by updating and becomes smaller than nbatches, there was a crash. Fixed. Also fixed automatic updating of nbatches when first set of positions change (bug never released).
Fix
nbatchesnot being updated for the:mapphase ofCellListPairsystems when the particle count changes (bug never released).
Merged pull requests:
- Preview0.10.0 (#144) (@lmiq)
- Clean up code (#145) (@lmiq)
- Optimize parallel cl build (#146) (@lmiq)
- remove redundant work in inner loops (#147) (@lmiq)
- remove custom linear algebra code (#148) (@lmiq)
- Codecov (#149) (@lmiq)
- Public abstractparticlesystem (#150) (@lmiq)
- Remove swap (#151) (@lmiq)
- Non periodic cross bug fix (#152) (@lmiq)
- use ParticleSystemPositions internally to represent coordinates. (#153) (@lmiq)
- Perf regression fix (#154) (@lmiq)
- simplify interface dispatch (#155) (@lmiq)
- View particlepositions (#156) (@lmiq)
- do not change input coordinates in NonPeriodicCell to avoid bad use (#157) (@lmiq)
- Performance test (#158) (@lmiq)
- Nb parallel improvement (#159) (@lmiq)
- List size hint (#160) (@lmiq)
- remove deprecated code (#161) (@lmiq)
- use ShowMethoTesting to rest show methods (#162) (@lmiq)
- update unitcell of unchanged coordinates only if limits expanded (#163) (@lmiq)
- New update! function (#164) (@lmiq)
- fix nbatches update bug, and tiny-system issue of batches (#165) (@lmiq)
- update examples (#166) (@lmiq)
- Non periodic path (#167) (@lmiq)
- Internal vars (#168) (@lmiq)
- set version to 0.10.0 (#169) (@lmiq)
Closed issues:
v0.9.17
CellListMap v0.9.17
- This version is identical to 0.9.15 - it is being recovered to avoid subtle breaking behaviors introduced in 0.9.16, which might require a breaking release.
v0.9.16
CellListMap v0.9.16
Version 0.9.16
Improve scaling when two sets of particles are used.
Automatic updating of the number of batches if the number of particles change.
Some code simplification and add comments to code. Fix documentation typos.
Drop support for Julia 1.9 (requires 1.10)
The
autoswapoption was deprecated, and does not have any effect now. Kept for backwards compatibility.
Merged pull requests:
- Automatic nbatches and new CellListPair construction (#111) (@lmiq)
- Tests and simplifications (#138) (@lmiq)
- set version to 0.9.16 (#140) (@lmiq)
Closed issues:
v0.9.15
v0.9.14
Update image and video links in the documentation.
v0.9.14
v0.9.13
CellListMap v0.9.13
Version 0.9.13
Merged pull requests:
Closed issues:
- unitcell expects columns or rows? (#129)
v0.9.12
CellListMap v0.9.12
Version 0.9.12
Improve type propagation when no PBCs are used, fixing Float32 to Float64 conversion of sides when
unitcell=nothing.When no PBCs are defined, and the position limits are smaller than the cutoff, with some pathological coordinates, double-counting could occurr. Fixed.
Merged pull requests:
v0.9.11
CellListMap v0.9.11
Version 0.9.11
Fix typo in color definition of non-interface function
draw_computing_cell.Reduce precompilation work by running smaller examples
Add tests to random cells with negative off-diagonal elements.
Merged pull requests:
- test cells with negative values (#120) (@lmiq)
- add changelog and changlog CI (#121) (@lmiq)
- Fix draw computing cell (#123) (@lmiq)
Closed issues:
- Error using "CellListMap.draw_computing_cell" (#122)