3 #include <Cabana_AoSoA.hpp>
4 #include <Kokkos_Core.hpp>
9 using ParticleDataTypes = Cabana::MemberTypes<double[6],double[3],long long int, long long int>;
46 return *(
reinterpret_cast<const SimdVector*
>(
this));
88 long long int gid[VEC_LEN];
90 long long int flag[VEC_LEN];
117 template<
class Device>
127 template<
class Device>
147 template<
class Device>
Cabana::MemberTypes< double[6]> PhaseDataTypes
Definition: particles.hpp:14
KOKKOS_INLINE_FUNCTION int divide_and_round_up(int a, int b)
Definition: globals.hpp:179
KOKKOS_INLINE_FUNCTION void update_dphm(SimdPhase &dphm, const SimdPhase &dpht)
Definition: particles.tpp:32
KOKKOS_INLINE_FUNCTION const SimdVector & v() const
Definition: particles.hpp:45
KOKKOS_INLINE_FUNCTION void update_phases(SimdPhase &ph_new, const SimdPhase &ph, double local_dt, const SimdPhase &dph)
Definition: particles.tpp:17
KOKKOS_INLINE_FUNCTION void simd_2_AoSoA(VecParticles *part, const SimdParticles &part_one, int a_vec, int s_vec)
Definition: particles.tpp:65
double rho[VEC_LEN]
Definition: particles.hpp:72
KOKKOS_INLINE_FUNCTION AoSoAIndices(int idx)
Definition: particles.hpp:128
Simd< double > w1
Definition: particles.hpp:22
Definition: particles.hpp:78
VecConstants ct
Definition: particles.hpp:87
Definition: particles.hpp:96
int add_vec_buffer(int n_ptl)
Definition: particles.hpp:164
Definition: particles.hpp:68
int a
The index in the inner array of the AoSoA.
Definition: particles.hpp:120
Definition: particles.hpp:85
KOKKOS_INLINE_FUNCTION void update_dpht(SimdPhase &dpht, const SimdPhase &dph, const SimdPhase &dphm)
Definition: particles.tpp:48
KOKKOS_INLINE_FUNCTION void AoSoA_2_simd(SimdParticles &part_one, const VecParticles *part, int a_vec, int s_vec)
Definition: particles.tpp:91
double data[T *VEC_LEN]
Definition: particles.hpp:97
Simd< double > rho
Definition: particles.hpp:21
int p_range< DeviceType >(int num_particle)
Definition: particles.hpp:157
double w2[VEC_LEN]
Definition: particles.hpp:74
double mu[VEC_LEN]
Definition: particles.hpp:79
idx
Definition: diag_f0_df_port1.hpp:32
Simd< double > r
Definition: particles.hpp:18
KOKKOS_INLINE_FUNCTION SimdVector2D & x()
Definition: particles.hpp:27
KOKKOS_INLINE_FUNCTION SimdVector & v()
Definition: particles.hpp:39
Definition: particles.hpp:101
double w0[VEC_LEN]
Definition: particles.hpp:80
SimdPhase ph
Definition: particles.hpp:59
long long int gid[VEC_LEN]
Definition: particles.hpp:88
Simd< double > f0
Definition: particles.hpp:54
double f0[VEC_LEN]
Definition: particles.hpp:81
Definition: particles.hpp:58
VecPhase ph
Definition: particles.hpp:86
Definition: particles.hpp:51
double data[T]
Definition: particles.hpp:102
Cabana::MemberTypes< double[6], double[3], long long int > ParticleDataTypes
Definition: particles.hpp:11
int s
The index in the outer array of the AoSoA.
Definition: particles.hpp:119
Simd< double > z
Definition: particles.hpp:19
Simd< long long int > gid
Definition: particles.hpp:61
Simd< double > w0
Definition: particles.hpp:53
Simd< double > phi
Definition: particles.hpp:20
Definition: particles.hpp:17
SimdConstants ct
Definition: particles.hpp:60
double phi[VEC_LEN]
Definition: particles.hpp:71
Simd< double > w2
Definition: particles.hpp:23
double r[VEC_LEN]
Definition: particles.hpp:69
int p_range(int num_particle)
Definition: particles.hpp:148
Simd< double > mu
Definition: particles.hpp:52
KOKKOS_INLINE_FUNCTION void remove_particles(Simd< long long int > &gid, const Simd< bool > &deactivate)
Definition: particles.tpp:4
KOKKOS_INLINE_FUNCTION const SimdVector2D & x() const
Definition: particles.hpp:33
Definition: particles.hpp:118
double z[VEC_LEN]
Definition: particles.hpp:70
double w1[VEC_LEN]
Definition: particles.hpp:73