#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:17
Kokkos::Subview< KernelConcentrationType, int, decltype(Kokkos::ALL)> LocalConcentration
Definition alias.hpp:41
Kokkos::Experimental::ScatterView< double **, Kokkos::LayoutRight > ContributionView
Definition alias.hpp:30
Kokkos::View< F *[Nd]> ParticlesModel
Definition traits.hpp:33
Status
Definition alias.hpp:11