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) {}
28 Kokkos::resize(
iperm,0);
29 Kokkos::resize(
key,0);
33 Kokkos::resize(
iperm,n_ptl);
34 Kokkos::resize(
key,n_ptl);
39 Kokkos::resize(
count,0);
40 Kokkos::resize(
place,0);
43 Kokkos::resize(
count,n_bins);
44 Kokkos::resize(
place,n_bins);
54 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, Cabana::AoSoA<PhaseDataTypes,DeviceType,VEC_LEN>& phase0, Cabana::AoSoA<PhaseDataTypes,DeviceType,VEC_LEN>& dy_sum,
bool sort_intermediate_values);
Kokkos::View< int *, Kokkos::LayoutRight, Device > key
Sorting key.
Definition: sort.hpp:12
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, Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &phase0, Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &dy_sum, bool sort_intermediate_values)
Definition: sort.cpp:203
void resize_key_max(int n_ptl)
Definition: sort.hpp:25
Definition: magnetic_field.hpp:12
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, bool sort_phase0)
Definition: sort.cpp:153
Definition: sheath.hpp:10
void resize_bin_max(int n_bins)
Definition: sort.hpp:37
SortViews(int n_ptl, int n_bins)
Definition: sort.hpp:18
Kokkos::View< int *, Kokkos::LayoutRight, Device > count
How many particles in each bin.
Definition: sort.hpp:15
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 sort_phase0, bool plane_sort_only)
Definition: sort.cpp:178
Kokkos::View< int *, Kokkos::LayoutRight, Device > iperm
New order of data to be sorted.
Definition: sort.hpp:11
Kokkos::View< double **, Kokkos::LayoutRight, Device > tmp_const
Temporary array for sorting.
Definition: sort.hpp:10
Definition: magnetic_field.F90:1
Kokkos::View< unsigned int *, Kokkos::LayoutRight, Device > place
Where we are in the particle list.
Definition: sort.hpp:16
Definition: species.hpp:75
void sort_particles_by_key(SortViews< DeviceType > &sort_views, const Species< DeviceType > &species, int n_bins, Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &phase0, Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &dy_sum, bool sort_intermediate_values)
Definition: sort.cpp:234