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 SURF_COLLIDE_CLASS 16 17 SurfCollideStyle(vanish/kk,SurfCollideVanishKokkos) 18 19 #else 20 21 #ifndef SPARTA_SURF_COLLIDE_VANISH_KOKKOS_H 22 #define SPARTA_SURF_COLLIDE_VANISH_KOKKOS_H 23 24 #include "surf_collide_vanish.h" 25 #include "kokkos_type.h" 26 27 namespace SPARTA_NS { 28 29 class SurfCollideVanishKokkos : public SurfCollideVanish { 30 public: 31 32 SurfCollideVanishKokkos(class SPARTA *, int, char **); 33 SurfCollideVanishKokkos(class SPARTA *); 34 ~SurfCollideVanishKokkos() {} 35 36 DAT::tdual_int_scalar k_nsingle; 37 DAT::t_int_scalar d_nsingle; 38 HAT::t_int_scalar h_nsingle; 39 40 /* ---------------------------------------------------------------------- 41 particle collision with surface with optional chemistry 42 ip = particle with current x = collision pt, current v = incident v 43 norm = surface normal unit vector 44 simply return ip = NULL to delete particle 45 return reaction = 0 = no reaction took place 46 ------------------------------------------------------------------------- */ 47 48 KOKKOS_INLINE_FUNCTION 49 Particle::OnePart* 50 collide_kokkos(Particle::OnePart *&ip, const double *, double &, int, int&) const 51 { 52 Kokkos::atomic_fetch_add(&d_nsingle(),1); 53 54 ip = NULL; 55 return NULL; 56 } 57 }; 58 59 } 60 61 #endif 62 #endif 63 64 /* ERROR/WARNING messages: 65 66 E: Illegal ... command 67 68 Self-explanatory. Check the input script syntax and compare to the 69 documentation for the command. You can use -echo screen as a 70 command-line option when running SPARTA to see the offending line. 71 72 */ 73