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::size_t
n_c = 1;
20 static constexpr std::string_view
name =
"default_dynamic";
29 KOKKOS_INLINE_FUNCTION
static void
31 [[maybe_unused]] std::size_t idx,
36 KOKKOS_INLINE_FUNCTION
static double
37 mass([[maybe_unused]] std::size_t idx,
46 [[maybe_unused]] std::size_t idx,
49 [[maybe_unused]]
const std::size_t position_index,
56 KOKKOS_INLINE_FUNCTION
static void
58 [[maybe_unused]] std::size_t idx,
59 [[maybe_unused]] std::size_t idx2,
79 static constexpr std::size_t
n_var = 1;
80 static constexpr std::size_t
n_c = 2;
81 static constexpr std::string_view
name =
"default_dynamic";
97 KOKKOS_INLINE_FUNCTION
static void
99 [[maybe_unused]] std::size_t idx,
101 [[maybe_unused]]
const Config& config)
105 KOKKOS_INLINE_FUNCTION
static double
106 mass([[maybe_unused]] std::size_t idx,
115 [[maybe_unused]] std::size_t idx,
118 [[maybe_unused]]
const std::size_t position_index,
130 KOKKOS_INLINE_FUNCTION
static void
132 [[maybe_unused]] std::size_t idx,
133 [[maybe_unused]] std::size_t idx2,
Kokkos::View< F **, ComputeSpace::array_layout, ComputeSpace, Kokkos::MemoryTraits< Kokkos::MemoryTraitsFlags::Restrict > > DynParticlesContribs
Definition alias.hpp:78
Status
Definition alias.hpp:125
@ Idle
Definition alias.hpp:126
gen_pool_type< Kokkos::DefaultExecutionSpace > pool_type
Definition alias.hpp:100
KernelConcentrationType LocalConcentration
Definition alias.hpp:170
Kokkos::View< F *[Nd], ComputeSpace::array_layout, ComputeSpace, Kokkos::MemoryTraits< Kokkos::MemoryTraitsFlags::Restrict > > ParticlesModel
Definition alias.hpp:52
Kokkos::View< F **, ComputeSpace::array_layout, ComputeSpace, Kokkos::MemoryTraits< Kokkos::MemoryTraitsFlags::Restrict > > DynParticlesModel
Definition alias.hpp:72
Definition m_default.hpp:13
static constexpr std::size_t n_c
Definition m_default.hpp:19
float FloatType
Definition m_default.hpp:23
DefaultModel Self
Definition m_default.hpp:22
static KOKKOS_INLINE_FUNCTION MC::Status update(const MC::pool_type &random_pool, FloatType d_t, std::size_t idx, const SelfParticle &arr, const SelfContribs &contribs_arr, const std::size_t position_index, const MC::LocalConcentration &c)
Definition m_default.hpp:44
static KOKKOS_INLINE_FUNCTION void init(const MC::pool_type &random_pool, std::size_t idx, const SelfParticle &arr)
Definition m_default.hpp:30
static KOKKOS_INLINE_FUNCTION double mass(std::size_t idx, const SelfParticle &arr)
Definition m_default.hpp:37
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:27
MC::ParticlesModel< Self::n_var, Self::FloatType > SelfParticle
Definition m_default.hpp:24
particle_var
Definition m_default.hpp:15
@ a
Definition m_default.hpp:16
static constexpr std::string_view name
Definition m_default.hpp:20
static KOKKOS_INLINE_FUNCTION void division(const MC::pool_type &random_pool, std::size_t idx, std::size_t idx2, const SelfParticle &arr, const SelfParticle &buffer_arr)
Definition m_default.hpp:57
std::nullopt_t Config
Definition m_default.hpp:26
MC::ParticlesModel< Self::n_c, Self::FloatType > SelfContribs
Definition m_default.hpp:25
Definition m_default.hpp:73
static constexpr bool uniform_weigth
Definition m_default.hpp:88
MC::DynParticlesContribs< FloatType > SelfContribs
Definition m_default.hpp:86
static constexpr std::string_view name
Definition m_default.hpp:81
static Config get_config(const std::size_t size)
Definition m_default.hpp:91
static constexpr std::size_t n_c
Definition m_default.hpp:80
static constexpr std::size_t n_var
Definition m_default.hpp:79
DynamicDefaultModel Self
Definition m_default.hpp:83
static KOKKOS_INLINE_FUNCTION MC::Status update(const MC::pool_type &random_pool, FloatType d_t, std::size_t idx, const SelfParticle &arr, const SelfContribs &contribs_arr, const std::size_t position_index, const MC::LocalConcentration &c)
Definition m_default.hpp:113
static MC::ContribIndexBounds get_bounds()
Definition m_default.hpp:125
static KOKKOS_INLINE_FUNCTION void division(const MC::pool_type &random_pool, std::size_t idx, std::size_t idx2, const SelfParticle &arr, const SelfParticle &buffer_arr)
Definition m_default.hpp:131
static KOKKOS_INLINE_FUNCTION double mass(std::size_t idx, const SelfParticle &arr)
Definition m_default.hpp:106
float FloatType
Definition m_default.hpp:84
particle_var
Definition m_default.hpp:75
@ a
Definition m_default.hpp:76
static KOKKOS_INLINE_FUNCTION void init(const MC::pool_type &random_pool, std::size_t idx, const SelfParticle &arr, const Config &config)
Definition m_default.hpp:98
MC::DynParticlesModel< FloatType > SelfParticle
Definition m_default.hpp:85
std::true_type uniform_weight
Definition m_default.hpp:82
float Config
Definition m_default.hpp:87