1#ifndef __DEFAULT_MODEL_IMPLEMENTATION_HPP__
2#define __DEFAULT_MODEL_IMPLEMENTATION_HPP__
4#include <mc/traits.hpp>
18 static constexpr std::size_t
n_var = 1;
20 static constexpr std::string_view
name =
"simple";
29 [[maybe_unused]] std::size_t idx,
34 KOKKOS_INLINE_FUNCTION
static double mass([[maybe_unused]] std::size_t idx,
43 [[maybe_unused]] std::size_t idx,
51 KOKKOS_INLINE_FUNCTION
static void
53 [[maybe_unused]] std::size_t idx,
54 [[maybe_unused]] std::size_t idx2,
60 KOKKOS_INLINE_FUNCTION
static void
62 [[maybe_unused]] std::size_t position,
63 [[maybe_unused]]
double weight,
78 static constexpr std::size_t n_var = 1;
79 static constexpr std::string_view name =
"simple";
85 static constexpr bool uniform_weigth =
false;
88 [[maybe_unused]] std::size_t idx,
93 KOKKOS_INLINE_FUNCTION
static double mass([[maybe_unused]] std::size_t idx,
102 [[maybe_unused]] std::size_t idx,
110 KOKKOS_INLINE_FUNCTION
static void
112 [[maybe_unused]] std::size_t idx,
113 [[maybe_unused]] std::size_t idx2,
119 KOKKOS_INLINE_FUNCTION
static void
121 [[maybe_unused]] std::size_t position,
122 [[maybe_unused]]
double weight,
Kokkos::Random_XorShift1024_Pool< Kokkos::DefaultExecutionSpace > pool_type
Definition prng.hpp:17
Kokkos::Subview< KernelConcentrationType, int, decltype(Kokkos::ALL)> LocalConcentration
Definition alias.hpp:42
Kokkos::Experimental::ScatterView< double **, Kokkos::LayoutRight > ContributionView
Definition alias.hpp:31
Kokkos::View< F *[Nd]> ParticlesModel
Definition traits.hpp:34
Status
Definition alias.hpp:11
Kokkos::View< F ** > DynParticlesModel
Definition traits.hpp:35
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:23
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:61
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:41
static KOKKOS_INLINE_FUNCTION double mass(std::size_t idx, const SelfParticle &arr)
Definition m_default.hpp:34
static constexpr std::size_t n_var
Definition m_default.hpp:18
std::true_type uniform_weight
Definition m_default.hpp:21
static constexpr bool uniform_weigth
Definition m_default.hpp:26
MC::ParticlesModel< Self::n_var, Self::FloatType > SelfParticle
Definition m_default.hpp:24
particle_var
Definition m_default.hpp:15
static constexpr std::string_view name
Definition m_default.hpp:20
std::nullopt_t Config
Definition m_default.hpp:25
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:52
Definition m_default.hpp:73
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:87
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:120
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:111
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:100
static KOKKOS_INLINE_FUNCTION double mass(std::size_t idx, const SelfParticle &arr)
Definition m_default.hpp:93
float FloatType
Definition m_default.hpp:82
particle_var
Definition m_default.hpp:75
MC::DynParticlesModel< FloatType > SelfParticle
Definition m_default.hpp:83
std::true_type uniform_weight
Definition m_default.hpp:80
float Config
Definition m_default.hpp:84