10 Kokkos::View<double**,Kokkos::LayoutRight,Device>
tmp_const;
11 Kokkos::View<int*,Kokkos::LayoutRight,Device>
iperm;
12 Kokkos::View<int*,Kokkos::LayoutRight,Device>
key;
15 Kokkos::View<int*,Kokkos::LayoutRight,Device>
count;
16 Kokkos::View<unsigned int*,Kokkos::LayoutRight,Device>
place;
19 :
tmp_const(
Kokkos::ViewAllocateWithoutInitializing(
"tmp_const"), 4,n_ptl),
20 iperm(
Kokkos::ViewAllocateWithoutInitializing(
"iperm"), n_ptl),
21 key(
Kokkos::ViewAllocateWithoutInitializing(
"key"), n_ptl),
22 count(
Kokkos::ViewAllocateWithoutInitializing(
"count"), n_bins),
23 place(
Kokkos::ViewAllocateWithoutInitializing(
"place"), n_bins) {}
27 if(n_ptl<
iperm.extent(0))
return;
31 Kokkos::resize(
iperm,0);
32 Kokkos::resize(
key,0);
36 Kokkos::resize(
iperm,n_ptl);
37 Kokkos::resize(
key,n_ptl);
42 if(n_bins<
count.extent(0))
return;
45 Kokkos::resize(
count,0);
46 Kokkos::resize(
place,0);
49 Kokkos::resize(
count,n_bins);
50 Kokkos::resize(
place,n_bins);
Definition: magnetic_field.hpp:12
Definition: particles.hpp:248
Definition: species.hpp:63
Definition: col_grid.cpp:127
Definition: magnetic_field.F90:1
void sort_particles_by_pid(SortViews< DeviceType > &sort_views, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const DomainDecomposition< DeviceType > &pol_decomp, const Species< DeviceType > &species, bool plane_sort_only)
Definition: sort.cpp:374
int sort_particles_by_field_id(SortViews< DeviceType > &sort_views, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const DomainDecomposition< DeviceType > &pol_decomp, const Species< DeviceType > &species, Particles::Array< PhaseDataTypes, DeviceType > &phase0, Particles::Array< PhaseDataTypes, DeviceType > &dy_sum, bool sort_intermediate_values)
Definition: sort.cpp:430
void sort_particles_by_triangle(SortViews< DeviceType > &sort_views, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const Species< DeviceType > &species, const SheathParticles< DeviceType > &sheath_particles, bool sort_sheath_ptl)
Definition: sort.cpp:305
void sort_particles_by_key(SortViews< DeviceType > &sort_views, const Species< DeviceType > &species, int n_bins, Particles::Array< PhaseDataTypes, DeviceType > &phase0, Particles::Array< PhaseDataTypes, DeviceType > &dy_sum, bool sort_intermediate_values)
Definition: sort.cpp:468
Definition: sheath.hpp:10
Kokkos::View< int *, Kokkos::LayoutRight, Device > count
How many particles in each bin.
Definition: sort.hpp:15
Kokkos::View< double **, Kokkos::LayoutRight, Device > tmp_const
Temporary array for sorting.
Definition: sort.hpp:10
void increase_bin_max(int n_bins)
Definition: sort.hpp:40
SortViews(int n_ptl, int n_bins)
Definition: sort.hpp:18
void increase_key_max(int n_ptl)
Definition: sort.hpp:25
Kokkos::View< int *, Kokkos::LayoutRight, Device > iperm
New order of data to be sorted.
Definition: sort.hpp:11
Kokkos::View< int *, Kokkos::LayoutRight, Device > key
Sorting key.
Definition: sort.hpp:12
Kokkos::View< unsigned int *, Kokkos::LayoutRight, Device > place
Where we are in the particle list.
Definition: sort.hpp:16