|
XGC1
|
#include "globals.hpp"#include "magnetic_field.hpp"#include "grid.hpp"#include "particles.hpp"#include "species.hpp"#include "boundaries.hpp"#include "push_physics.hpp"#include "sort.hpp"#include "shift.hpp"#include "unfused_push_algorithm.hpp"#include "get_current_local_pid.hpp"
Functions | |
| template void | transpose_and_shift< ParticleDataTypes > (Kokkos::View< int *, HostType > &sendcnt, Kokkos::View< int *, HostType > &sdispls, Kokkos::View< int *, HostType > &recvcnt, Kokkos::View< int *, HostType > &rdispls, Cabana::AoSoA< ParticleDataTypes, DeviceType, VEC_LEN > &local_particles, int n_staying, int n_leaving, int n_arriving, const MyMPI &mpi) |
| template void | transpose_and_shift< PhaseDataTypes > (Kokkos::View< int *, HostType > &sendcnt, Kokkos::View< int *, HostType > &sdispls, Kokkos::View< int *, HostType > &recvcnt, Kokkos::View< int *, HostType > &rdispls, Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &local_particles, int n_staying, int n_leaving, int n_arriving, const MyMPI &mpi) |
| void | set_phase0_kernel (Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &phase0, const Species< DeviceType > &species, int n_ptl) |
| template<class Device , KinType KT, typename GFPT > | |
| KOKKOS_INLINE_FUNCTION void | derivs_kernel_c (const Species< Device > &species, const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const GridFieldPack< Device, GFPT > &gfpack, const PushControls &push_controls, const PerturbedBField< Device > &perturbed_B_field, const Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &dy, const View< int *, CLayout, DeviceType > ¤t_tr, const double time, const int i_item) |
| template<class Device , KinType KT, typename GFPT > | |
| void | derivs_kernel (const Species< Device > &species, const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const GridFieldPack< Device, GFPT > &gfpack, const GridFieldPack< Device, GFPT > &gfpack_near, const PushControls &push_controls, const PerturbedBField< Device > &perturbed_B_field, Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &dy, View< int *, CLayout, DeviceType > ¤t_tr, double time, int n_ptl_in_near_field) |
| void | update_phases_kernel (const Species< DeviceType > &species, int n_ptl, const Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &phase0, double local_dt, const Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &dy) |
| void | update_sum_kernel (Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &dy_sum, Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &dy) |
| void | update_sum2x_kernel (Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &dy_sum, Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &dy) |
| void | boundaries_kernel (const Species< DeviceType > &species, const PushControls &push_controls, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const Sheath< DeviceType > &sheath, const WallLoss &wall_loss, const HeatDiagnostics< DeviceType > &heat_diag, Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &phase0, View< int *, CLayout, DeviceType > ¤t_tr) |
| void | get_local_pid_sort_key (SortViews< DeviceType > &sort_views, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const DomainDecomposition< DeviceType > &pol_decomp, const Species< DeviceType > &species) |
| void | bin_by_key (const SortViews< DeviceType > &sort_views, int n_ptl, int n_bins) |
| View< int *, HostType > | get_near_field_dest_adjustment (const MyMPI &mpi, const View< int *, CLayout, HostType > &sort_count, int near_field_pid) |
| void | adjust_key (View< int *, CLayout, DeviceType > &key, const View< int *, HostType > &near_field_dest_adjustment_h, int near_field_pid, int my_rank, int n_ptl) |
| void | local_shift (const PushControls &push_controls, Species< DeviceType > &species, SortViews< DeviceType > &sort_views, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const DomainDecomposition< DeviceType > &pol_decomp, UnfusedPushTmpViews< DeviceType > &unfused_push_tmp_views, bool send_intermediate_values, bool use_near_field) |
| void | unfused_electron_push_kernel (Species< DeviceType > &species, const PushControls &push_controls, const DomainDecomposition< DeviceType > &pol_decomp, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const GridFieldPackPtr &gfpack_ptr, const GridFieldPackPtr &gfpack_near_ptr, const PerturbedBField< DeviceType > &perturbed_B_field, SortViews< DeviceType > &sort_views, const Sheath< DeviceType > &sheath, const WallLoss &wall_loss, const HeatDiagnostics< DeviceType > &heat_diag, UnfusedPushTmpViews< DeviceType > &tmp, int ncycles_per_launch, double dt) |
| void adjust_key | ( | View< int *, CLayout, DeviceType > & | key, |
| const View< int *, HostType > & | near_field_dest_adjustment_h, | ||
| int | near_field_pid, | ||
| int | my_rank, | ||
| int | n_ptl | ||
| ) |


| void bin_by_key | ( | const SortViews< DeviceType > & | sort_views, |
| int | n_ptl, | ||
| int | n_bins | ||
| ) |
Generate the permutation array


| void boundaries_kernel | ( | const Species< DeviceType > & | species, |
| const PushControls & | push_controls, | ||
| const Grid< DeviceType > & | grid, | ||
| const MagneticField< DeviceType > & | magnetic_field, | ||
| const Sheath< DeviceType > & | sheath, | ||
| const WallLoss & | wall_loss, | ||
| const HeatDiagnostics< DeviceType > & | heat_diag, | ||
| Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > & | phase0, | ||
| View< int *, CLayout, DeviceType > & | current_tr | ||
| ) |


| void derivs_kernel | ( | const Species< Device > & | species, |
| const Grid< Device > & | grid, | ||
| const MagneticField< Device > & | magnetic_field, | ||
| const GridFieldPack< Device, GFPT > & | gfpack, | ||
| const GridFieldPack< Device, GFPT > & | gfpack_near, | ||
| const PushControls & | push_controls, | ||
| const PerturbedBField< Device > & | perturbed_B_field, | ||
| Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > & | dy, | ||
| View< int *, CLayout, DeviceType > & | current_tr, | ||
| double | time, | ||
| int | n_ptl_in_near_field | ||
| ) |

| KOKKOS_INLINE_FUNCTION void derivs_kernel_c | ( | const Species< Device > & | species, |
| const Grid< Device > & | grid, | ||
| const MagneticField< Device > & | magnetic_field, | ||
| const GridFieldPack< Device, GFPT > & | gfpack, | ||
| const PushControls & | push_controls, | ||
| const PerturbedBField< Device > & | perturbed_B_field, | ||
| const Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > & | dy, | ||
| const View< int *, CLayout, DeviceType > & | current_tr, | ||
| const double | time, | ||
| const int | i_item | ||
| ) |

| void get_local_pid_sort_key | ( | SortViews< DeviceType > & | sort_views, |
| const Grid< DeviceType > & | grid, | ||
| const MagneticField< DeviceType > & | magnetic_field, | ||
| const DomainDecomposition< DeviceType > & | pol_decomp, | ||
| const Species< DeviceType > & | species | ||
| ) |


| View<int*,HostType> get_near_field_dest_adjustment | ( | const MyMPI & | mpi, |
| const View< int *, CLayout, HostType > & | sort_count, | ||
| int | near_field_pid | ||
| ) |

| void local_shift | ( | const PushControls & | push_controls, |
| Species< DeviceType > & | species, | ||
| SortViews< DeviceType > & | sort_views, | ||
| const Grid< DeviceType > & | grid, | ||
| const MagneticField< DeviceType > & | magnetic_field, | ||
| const DomainDecomposition< DeviceType > & | pol_decomp, | ||
| UnfusedPushTmpViews< DeviceType > & | unfused_push_tmp_views, | ||
| bool | send_intermediate_values, | ||
| bool | use_near_field | ||
| ) |


| void set_phase0_kernel | ( | Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > & | phase0, |
| const Species< DeviceType > & | species, | ||
| int | n_ptl | ||
| ) |


| template void transpose_and_shift< ParticleDataTypes > | ( | Kokkos::View< int *, HostType > & | sendcnt, |
| Kokkos::View< int *, HostType > & | sdispls, | ||
| Kokkos::View< int *, HostType > & | recvcnt, | ||
| Kokkos::View< int *, HostType > & | rdispls, | ||
| Cabana::AoSoA< ParticleDataTypes, DeviceType, VEC_LEN > & | local_particles, | ||
| int | n_staying, | ||
| int | n_leaving, | ||
| int | n_arriving, | ||
| const MyMPI & | mpi | ||
| ) |

| template void transpose_and_shift< PhaseDataTypes > | ( | Kokkos::View< int *, HostType > & | sendcnt, |
| Kokkos::View< int *, HostType > & | sdispls, | ||
| Kokkos::View< int *, HostType > & | recvcnt, | ||
| Kokkos::View< int *, HostType > & | rdispls, | ||
| Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > & | local_particles, | ||
| int | n_staying, | ||
| int | n_leaving, | ||
| int | n_arriving, | ||
| const MyMPI & | mpi | ||
| ) |

| void unfused_electron_push_kernel | ( | Species< DeviceType > & | species, |
| const PushControls & | push_controls, | ||
| const DomainDecomposition< DeviceType > & | pol_decomp, | ||
| const Grid< DeviceType > & | grid, | ||
| const MagneticField< DeviceType > & | magnetic_field, | ||
| const GridFieldPackPtr & | gfpack_ptr, | ||
| const GridFieldPackPtr & | gfpack_near_ptr, | ||
| const PerturbedBField< DeviceType > & | perturbed_B_field, | ||
| SortViews< DeviceType > & | sort_views, | ||
| const Sheath< DeviceType > & | sheath, | ||
| const WallLoss & | wall_loss, | ||
| const HeatDiagnostics< DeviceType > & | heat_diag, | ||
| UnfusedPushTmpViews< DeviceType > & | tmp, | ||
| int | ncycles_per_launch, | ||
| double | dt | ||
| ) |


| void update_phases_kernel | ( | const Species< DeviceType > & | species, |
| int | n_ptl, | ||
| const Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > & | phase0, | ||
| double | local_dt, | ||
| const Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > & | dy | ||
| ) |


| void update_sum2x_kernel | ( | Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > & | dy_sum, |
| Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > & | dy | ||
| ) |


| void update_sum_kernel | ( | Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > & | dy_sum, |
| Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > & | dy | ||
| ) |

