1#ifndef __UTILS_SERDES_HPP__
2#define __UTILS_SERDES_HPP__
6#include <mc/traits.hpp>
26 static constexpr std::size_t
n_c = 1;
27 static constexpr std::string_view
name =
"simple";
33 KOKKOS_INLINE_FUNCTION
static void
41 KOKKOS_INLINE_FUNCTION
static double
42 mass([[maybe_unused]] std::size_t idx,
51 [[maybe_unused]] std::size_t idx,
55 [[maybe_unused]]
const std::size_t& position,
62 KOKKOS_INLINE_FUNCTION
static void
64 [[maybe_unused]] std::size_t idx,
65 [[maybe_unused]] std::size_t idx2,
Model type.
Definition traits.hpp:141
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 *[Nc], ComputeSpace::array_layout, ComputeSpace, Kokkos::MemoryTraits< Kokkos::MemoryTraitsFlags::Restrict > > ParticlesContribs
Definition alias.hpp:66
Kokkos::View< F *[Nd], ComputeSpace::array_layout, ComputeSpace, Kokkos::MemoryTraits< Kokkos::MemoryTraitsFlags::Restrict > > ParticlesModel
Definition alias.hpp:52
Definition serdes_class.hpp:11
static constexpr std::string_view name
Definition serdes_class.hpp:27
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 &ac, const std::size_t &position, const MC::LocalConcentration &c)
Definition serdes_class.hpp:49
static constexpr std::size_t n_var
Definition serdes_class.hpp:25
particle_var
Definition serdes_class.hpp:18
@ a
Definition serdes_class.hpp:19
@ COUNT
Definition serdes_class.hpp:22
@ c
Definition serdes_class.hpp:21
@ b
Definition serdes_class.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 serdes_class.hpp:63
static constexpr std::size_t n_c
Definition serdes_class.hpp:26
std::nullopt_t Config
Definition serdes_class.hpp:15
static KOKKOS_INLINE_FUNCTION void init(const MC::pool_type &random_pool, std::size_t idx, const SelfParticle &arr)
Definition serdes_class.hpp:34
SerdeModel Self
Definition serdes_class.hpp:13
float FloatType
Definition serdes_class.hpp:14
MC::ParticlesContribs< Self::n_c, Self::FloatType > SelfContribs
Definition serdes_class.hpp:29
MC::ParticlesModel< Self::n_var, Self::FloatType > SelfParticle
Definition serdes_class.hpp:28
std::true_type uniform_weight
Definition serdes_class.hpp:12
static KOKKOS_INLINE_FUNCTION double mass(std::size_t idx, const SelfParticle &arr)
Definition serdes_class.hpp:42
MODEL_CONSTANT FloatType a_i
Definition serdes_class.hpp:31