1#ifndef __DEFAULT_MODEL_IMPLEMENTATION_HPP__ 
    2#define __DEFAULT_MODEL_IMPLEMENTATION_HPP__ 
    5#include <mc/traits.hpp> 
   18  static constexpr std::size_t 
n_var = 1;
 
   19  static constexpr std::string_view 
name = 
"default_dynamic";
 
   27  KOKKOS_INLINE_FUNCTION 
static void 
   29       [[maybe_unused]] std::size_t idx,
 
 
   34  KOKKOS_INLINE_FUNCTION 
static double 
   35  mass([[maybe_unused]] std::size_t idx,
 
 
   44         [[maybe_unused]] std::size_t idx,
 
 
   52  KOKKOS_INLINE_FUNCTION 
static void 
   54           [[maybe_unused]] std::size_t idx,
 
   55           [[maybe_unused]] std::size_t idx2,
 
 
   61  KOKKOS_INLINE_FUNCTION 
static void 
   63               [[maybe_unused]] std::size_t position,
 
   64               [[maybe_unused]] 
double weight,
 
 
 
   88  static constexpr std::size_t 
n_var = 1;
 
   89  static constexpr std::string_view 
name = 
"default_dynamic";
 
  103  KOKKOS_INLINE_FUNCTION 
static void 
  105       [[maybe_unused]] std::size_t idx,
 
  107       [[maybe_unused]] 
const Config& config)
 
 
  111  KOKKOS_INLINE_FUNCTION 
static double 
  112  mass([[maybe_unused]] std::size_t idx,
 
 
  121         [[maybe_unused]] std::size_t idx,
 
 
  134  KOKKOS_INLINE_FUNCTION 
static void 
  136           [[maybe_unused]] std::size_t idx,
 
  137           [[maybe_unused]] std::size_t idx2,
 
 
  143  KOKKOS_INLINE_FUNCTION 
static void 
  145               [[maybe_unused]] std::size_t position,
 
  146               [[maybe_unused]] 
double weight,
 
 
 
Kokkos::Random_XorShift1024_Pool< Kokkos::DefaultExecutionSpace > pool_type
Definition prng.hpp:33
Status
Definition alias.hpp:37
@ Idle
Definition alias.hpp:38
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
Kokkos::View< F **, Kokkos::LayoutRight > DynParticlesModel
Definition traits.hpp:36
Definition m_default.hpp:13
static KOKKOS_INLINE_FUNCTION void init(const MC::KPRNG::pool_type &random_pool, std::size_t idx, const SelfParticle &arr)
Definition m_default.hpp:28
float FloatType
Definition m_default.hpp:22
static KOKKOS_INLINE_FUNCTION void contribution(std::size_t idx, std::size_t position, double weight, const SelfParticle &arr, const MC::ContributionView &contributions)
Definition m_default.hpp:62
static KOKKOS_INLINE_FUNCTION MC::Status update(const MC::KPRNG::pool_type &random_pool, FloatType d_t, std::size_t idx, const SelfParticle &arr, const MC::LocalConcentration &c)
Definition m_default.hpp:42
static MC::ContribIndexBounds get_bounds()
Definition m_default.hpp:69
DefaultModel Self
Definition m_default.hpp:21
static KOKKOS_INLINE_FUNCTION double mass(std::size_t idx, const SelfParticle &arr)
Definition m_default.hpp:35
static constexpr std::size_t n_var
Definition m_default.hpp:18
std::true_type uniform_weight
Definition m_default.hpp:20
static constexpr bool uniform_weigth
Definition m_default.hpp:25
MC::ParticlesModel< Self::n_var, Self::FloatType > SelfParticle
Definition m_default.hpp:23
particle_var
Definition m_default.hpp:15
@ a
Definition m_default.hpp:16
static constexpr std::string_view name
Definition m_default.hpp:19
std::nullopt_t Config
Definition m_default.hpp:24
static KOKKOS_INLINE_FUNCTION void division(const MC::KPRNG::pool_type &random_pool, std::size_t idx, std::size_t idx2, const SelfParticle &arr, const SelfParticle &buffer_arr)
Definition m_default.hpp:53
Definition m_default.hpp:82
static constexpr bool uniform_weigth
Definition m_default.hpp:95
static KOKKOS_INLINE_FUNCTION void init(const MC::KPRNG::pool_type &random_pool, std::size_t idx, const SelfParticle &arr, const Config &config)
Definition m_default.hpp:104
static constexpr std::string_view name
Definition m_default.hpp:89
static KOKKOS_INLINE_FUNCTION void contribution(std::size_t idx, std::size_t position, double weight, const SelfParticle &arr, const MC::ContributionView &contributions)
Definition m_default.hpp:144
static Config get_config(const std::size_t size)
Definition m_default.hpp:97
static constexpr std::size_t n_var
Definition m_default.hpp:88
static KOKKOS_INLINE_FUNCTION void division(const MC::KPRNG::pool_type &random_pool, std::size_t idx, std::size_t idx2, const SelfParticle &arr, const SelfParticle &buffer_arr)
Definition m_default.hpp:135
DynamicDefaultModel Self
Definition m_default.hpp:91
static KOKKOS_INLINE_FUNCTION MC::Status update(const MC::KPRNG::pool_type &random_pool, FloatType d_t, std::size_t idx, const SelfParticle &arr, const MC::LocalConcentration &c)
Definition m_default.hpp:119
static MC::ContribIndexBounds get_bounds()
Definition m_default.hpp:129
static KOKKOS_INLINE_FUNCTION double mass(std::size_t idx, const SelfParticle &arr)
Definition m_default.hpp:112
float FloatType
Definition m_default.hpp:92
particle_var
Definition m_default.hpp:84
@ a
Definition m_default.hpp:85
MC::DynParticlesModel< FloatType > SelfParticle
Definition m_default.hpp:93
std::true_type uniform_weight
Definition m_default.hpp:90
float Config
Definition m_default.hpp:94