|
XGCa
|
#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 | |
| 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 int i_item) |
| template<class Device , KinType KT, typename GFPT > | |
| void | derivs_kernel (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, 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 (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) |
| 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 bin_by_key | ( | const SortViews< DeviceType > & | sort_views, |
| int | n_ptl, | ||
| int | n_bins | ||
| ) |
Generate the permutation array

| void boundaries_kernel | ( | 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 | ( | 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, | ||
| 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 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 | ||
| ) |

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


| 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 | ||
| ) |

