template<typename view_type>
class Compadre::PointCloudSearch< view_type >
PointCloudSearch generates neighbor lists and window sizes for each target site.
Search methods can be run in dry-run mode, or not.
When in dry-run mode:
neighbors_list will be populated with number of neighbors found for each target site.
This allows a user to know memory allocation needed before storage of neighbor indices.
When not in dry-run mode:
neighbors_list_offsets will be populated with offsets for values (dependent on method) determined by neighbor_list. If a 2D view for neighbors_list is used, then will store the neighbor of , and will store the number of neighbors for target .
Generates neighbor lists of 2D view by performing a radius search where the radius to be searched is in the epsilons view. If uniform_radius is given, then this overrides the epsilons view radii sizes. Accepts 2D neighbor_lists without number_of_neighbors_list.
Generates compressed row neighbor lists by performing a radius search where the radius to be searched is in the epsilons view. If uniform_radius is given, then this overrides the epsilons view radii sizes. Accepts 1D neighbor_lists with 1D number_of_neighbors_list.
Returns a liberal estimated upper bound on number of neighbors to be returned by a neighbor search for a given choice of dimension, basis size, and epsilon_multiplier.
Generates neighbor lists of 2D view by performing a radius search where the radius to be searched is in the epsilons view. If uniform_radius is given, then this overrides the epsilons view radii sizes. Accepts 2D neighbor_lists without number_of_neighbors_list.
Parameters
is_dry_run
[in] - whether to do a dry-run (find neighbors, but don't store)
trg_pts_view
[in] - target coordinates from which to seek neighbors
neighbor_lists
[out] - 2D view of neighbor lists to be populated from search
epsilons
[in/out] - radius to search, overwritten if uniform_radius != 0
uniform_radius
[in] - double != 0 determines whether to overwrite all epsilons for uniform search
max_search_radius
[in] - largest valid search (useful only for MPI jobs if halo size exists)
Generates compressed row neighbor lists by performing a radius search where the radius to be searched is in the epsilons view. If uniform_radius is given, then this overrides the epsilons view radii sizes. Accepts 1D neighbor_lists with 1D number_of_neighbors_list.
Parameters
is_dry_run
[in] - whether to do a dry-run (find neighbors, but don't store)
trg_pts_view
[in] - target coordinates from which to seek neighbors
neighbor_lists
[out] - 1D view of neighbor lists to be populated from search
number_of_neighbors_list
[in/out] - number of neighbors for each target site
epsilons
[in/out] - radius to search, overwritten if uniform_radius != 0
uniform_radius
[in] - double != 0 determines whether to overwrite all epsilons for uniform search
max_search_radius
[in] - largest valid search (useful only for MPI jobs if halo size exists)
Returns a liberal estimated upper bound on number of neighbors to be returned by a neighbor search for a given choice of dimension, basis size, and epsilon_multiplier.
Assumes quasiuniform distribution of points. This result can be used to size a preallocated neighbor_lists kokkos view.