#ifndef __EXAMPLE_MODEL_HPP__
#define __EXAMPLE_MODEL_HPP__
 
#include <common/traits.hpp>
#include <mc/prng/prng_extension.hpp>
#include <mc/traits.hpp>
#include <models/uptake.hpp>
#include <models/utils.hpp>
#include <string_view>
 
struct ModelExample
{
  
  enum class particle_var : int
  {
    mass = 0,
    a,
    __COUNT__ 
              
  };
 
  
  static constexpr std::size_t n_var = INDEX_FROM_ENUM(particle_var::__COUNT__);
  static constexpr std::string_view name =
      "example"; 
                 
                 
  using uniform_weight = std::true_type;
  using Self = ModelExample;                                             
  using FloatType = float;                                               
 
  KOKKOS_INLINE_FUNCTION static void
 
  KOKKOS_INLINE_FUNCTION static double mass(std::size_t idx, const SelfParticle& arr);
 
                                                  FloatType d_t,
                                                  std::size_t idx,
                                                  const SelfParticle& arr,
 
                                              std::size_t idx,
                                              std::size_t idx2,
                                              const SelfParticle& arr,
                                              const SelfParticle& buffer_arr);
 
  KOKKOS_INLINE_FUNCTION static void contribution(std::size_t idx,
                                                  std::size_t position,
                                                  double weight,
                                                  const SelfParticle& arr,
};
 
CHECK_MODEL(ModelExample)
 
#endif
Kokkos::Random_XorShift1024_Pool< Kokkos::DefaultExecutionSpace > pool_type
Definition prng.hpp:33
 
Status
Definition alias.hpp:37
 
decltype(Kokkos::Experimental::create_scatter_view(kernelContribution())) ContributionView
Definition alias.hpp:64
 
Kokkos::Subview< KernelConcentrationType, int, decltype(Kokkos::ALL)> LocalConcentration
Definition alias.hpp:72
 
Kokkos::View< F *[Nd], Kokkos::LayoutRight > ParticlesModel
Definition traits.hpp:34