2#ifndef __BIO_MODEL_USER_HPP__
3# define __BIO_MODEL_USER_HPP__
4#include "Kokkos_Macros.hpp"
5# include <mc/traits.hpp>
13 static constexpr std::string_view
name =
"udf_model";
19 KOKKOS_FUNCTION
static void
21 [[maybe_unused]] std::size_t idx,
24 KOKKOS_FUNCTION
static double mass([[maybe_unused]] std::size_t idx,
30 [[maybe_unused]] std::size_t idx,
34 KOKKOS_FUNCTION
static void
36 [[maybe_unused]] std::size_t idx,
37 [[maybe_unused]] std::size_t idx2,
41 KOKKOS_FUNCTION
static void
43 [[maybe_unused]] std::size_t position,
44 [[maybe_unused]]
double weight,
49 static std::vector<std::string_view>
names();
Kokkos::Random_XorShift1024_Pool< Kokkos::DefaultExecutionSpace > pool_type
Definition prng.hpp:17
Definition traits.hpp:101
Kokkos::Subview< KernelConcentrationType, int, decltype(Kokkos::ALL)> LocalConcentration
Definition alias.hpp:41
Kokkos::Experimental::ScatterView< double **, Kokkos::LayoutRight > ContributionView
Definition alias.hpp:30
Status
Definition alias.hpp:11
Kokkos::View< F ** > DynParticlesModel
Definition traits.hpp:34
Models definition.
Definition simple_model.hpp:12
Definition udf_model.hpp:10
static KOKKOS_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 udfmodel_user.cpp:22
static std::vector< std::size_t > get_number()
Definition udfmodel_user.cpp:59
static void set_nvar()
Definition udfmodel_user.cpp:49
static KOKKOS_FUNCTION void contribution(std::size_t idx, std::size_t position, double weight, const SelfParticle &arr, const MC::ContributionView &contributions)
Definition udfmodel_user.cpp:40
static constexpr std::string_view name
Definition udf_model.hpp:13
MC::DynParticlesModel< FloatType > SelfParticle
Definition udf_model.hpp:17
static KOKKOS_FUNCTION void init(const MC::KPRNG::pool_type &random_pool, std::size_t idx, const SelfParticle &arr)
Definition udfmodel_user.cpp:10
float FloatType
Definition udf_model.hpp:16
static KOKKOS_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 udfmodel_user.cpp:31
std::true_type uniform_weight
Definition udf_model.hpp:14
static KOKKOS_FUNCTION double mass(std::size_t idx, const SelfParticle &arr)
Definition udfmodel_user.cpp:17
static std::size_t n_var
Definition udf_model.hpp:12
static std::vector< std::string_view > names()
Definition udfmodel_user.cpp:54