You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
new neighbourhood data structures, can be a cell list, kd-tree or hyper oct-tree.
Aboria::init_neighbour_search no longer accepts a search radius, but an average/maximum number of particles per bucket. New neighbourhood search queries can now take any distance to search over.
more flexible neighbourhood queries that can use any integer p-norm distance measure for p > 0 (p == 1: Manhattan distance, p == 2: Euclidean distance, ... , p -> inf: Chebyshev distance)
more efficient neighbourhood queries that trim buckets that cannot be within the search radius
black box fast multipole method (FMM)
can store the FMM as a H2 hierarchical matrix for repeated evaluations
RASM-based preconditioner that can be used with Eigen iterative solvers
OpenMP or CUDA parallelism (when using Thrust) for particle set updating, and neighbourhood searching (not yet for FMM-based methods). Note that this is not yet optimised, the performance of CUDA in particular will improve in subsequent versions)
can update single particles within a set, for example for Monte Carlo methods, using the Aboria::update_particles function
Breaking Changes
Aboria::double2, Aboria::float3, Aboria::bool4 etc. become Aboria::vdouble2, Aboria::vfloat3, Aboria::vbool4 because CUDA already use the former
Aboria::delete_particles no longer exists, instead, set particle's alive variable to false and call Aboria::update_particles