XGC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
shift.hpp
Go to the documentation of this file.
1 #ifndef SHIFT_HPP
2 #define SHIFT_HPP
3 
4 #include "plasma.hpp"
6 #include "grid.hpp"
7 #include "sort.hpp"
8 
9 namespace Shift{
10 enum ShiftPh0 : bool { NoPhase0=false, Phase0=true };
11 }
12 
13 #ifdef USE_MPI
14 template<class DataType>
15 void transpose_and_shift(Kokkos::View<int*,HostType>& sendcnt, Kokkos::View<int*,HostType>& sdispls, Kokkos::View<int*,HostType>& recvcnt, Kokkos::View<int*,HostType>& rdispls, Cabana::AoSoA<DataType,DeviceType,VEC_LEN>& local_particles, int n_staying, int n_leaving, int n_arriving, const MyMPI& mpi);
16 #endif
17 
18 void shift(Species<DeviceType> &species, SortViews<DeviceType> &sort_views, const Grid<DeviceType> &grid, const MagneticField<DeviceType> &magnetic_field, const DomainDecomposition<DeviceType> &pol_decomp, bool send_phase0, bool plane_sort_only=false);
19 
21 
22 #endif
void transpose_and_shift(Kokkos::View< int *, HostType > &sendcnt, Kokkos::View< int *, HostType > &sdispls, Kokkos::View< int *, HostType > &recvcnt, Kokkos::View< int *, HostType > &rdispls, Cabana::AoSoA< DataType, DeviceType, VEC_LEN > &local_particles, int n_staying, int n_leaving, int n_arriving, const MyMPI &mpi)
Definition: shift.cpp:45
subroutine plasma(grid, itr, p, dene_out, deni_out, Te_out, Ti_out, Vparai_out)
Calculate the plasma density, temperature, and parallel velocity for a point in triangle itr using pl...
Definition: neutral_totalf.F90:1224
Definition: magnetic_field.hpp:12
Definition: my_mpi.hpp:19
Definition: sort.hpp:9
void shift(Species< DeviceType > &species, SortViews< DeviceType > &sort_views, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const DomainDecomposition< DeviceType > &pol_decomp, bool send_phase0, bool plane_sort_only)
Definition: shift.cpp:184
Definition: shift.hpp:10
Definition: magnetic_field.F90:1
Definition: plasma.hpp:13
void shift_all_species(Plasma &plasma, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const DomainDecomposition< DeviceType > &pol_decomp, Shift::ShiftPh0 shift_ph0)
Definition: shift.cpp:301
ShiftPh0
Definition: shift.hpp:10
Definition: species.hpp:75
Definition: shift.hpp:10