1 /* ----------------------------------------------------------------------
2    SPARTA - Stochastic PArallel Rarefied-gas Time-accurate Analyzer
3    http://sparta.sandia.gov
4    Steve Plimpton, sjplimp@sandia.gov, Michael Gallis, magalli@sandia.gov
5    Sandia National Laboratories
6 
7    Copyright (2014) Sandia Corporation.  Under the terms of Contract
8    DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
9    certain rights in this software.  This software is distributed under
10    the GNU General Public License.
11 
12    See the README file in the top-level SPARTA directory.
13 ------------------------------------------------------------------------- */
14 
15 #ifdef COMPUTE_CLASS
16 
17 ComputeStyle(ke/particle/kk,ComputeKEParticleKokkos)
18 
19 #else
20 
21 #ifndef SPARTA_COMPUTE_KE_PARTICLE_KOKKOS_H
22 #define SPARTA_COMPUTE_KE_PARTICLE_KOKKOS_H
23 
24 #include "compute_ke_particle.h"
25 #include "kokkos_type.h"
26 #include "kokkos_base.h"
27 
28 namespace SPARTA_NS {
29 
30 class ComputeKEParticleKokkos : public ComputeKEParticle, public KokkosBase {
31  public:
32   ComputeKEParticleKokkos(class SPARTA *, int, char **);
33   ~ComputeKEParticleKokkos();
34   void compute_per_particle();
35   void compute_per_particle_kokkos();
36 
37   KOKKOS_INLINE_FUNCTION
38   void operator()(const int&) const;
39 
40   DAT::tdual_float_1d k_vector_particle;
41 
42  private:
43   t_particle_1d d_particles;
44   t_species_1d d_species;
45 };
46 
47 }
48 
49 #endif
50 #endif
51 
52 /* ERROR/WARNING messages:
53 
54 E: Illegal ... command
55 
56 Self-explanatory.  Check the input script syntax and compare to the
57 documentation for the command.  You can use -echo screen as a
58 command-line option when running SPARTA to see the offending line.
59 
60 W: More than one compute ke/particle
61 
62 This may be inefficient since each such compute stores a vector
63 of length equal to the number of particles.
64 
65 */
66