BioCMAMC-ST
Models::Uptake< U, M > Struct Template Reference

#include <uptake_dyn.hpp>

Public Types

using uniform_weight = std::true_type
using Self = Uptake
using FloatType = M::FloatType
using SelfParticle = MC::ParticlesModel<M::n_var, Self::FloatType>
using Config = std::nullopt_t

Static Public Member Functions

static KOKKOS_INLINE_FUNCTION constexpr FloatType f_G (const FloatType x) noexcept
static KOKKOS_INLINE_FUNCTION constexpr FloatType phi_pts (const FloatType phi_max, const FloatType a_pts, const FloatType S)
static KOKKOS_INLINE_FUNCTION constexpr FloatType phi_permease (FloatType phi_max, FloatType ap_2, FloatType ap_3, FloatType S)
static KOKKOS_INLINE_FUNCTION void init (const MC::KPRNG::pool_type &random_pool, std::size_t idx, const SelfParticle &arr)
static KOKKOS_INLINE_FUNCTION FloatType uptake (FloatType phi_max, std::size_t idx, const SelfParticle &arr, const MC::LocalConcentration &c, FloatType *r_phi_pts=nullptr, FloatType *r_phi_perm=nullptr)
static KOKKOS_INLINE_FUNCTION FloatType uptake_step (FloatType phi_max, FloatType d_t, std::size_t idx, const SelfParticle &arr, const MC::LocalConcentration &c, FloatType *r_phi_pts=nullptr, FloatType *r_phi_perm=nullptr)
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)
static KOKKOS_INLINE_FUNCTION void contribution (std::size_t idx, std::size_t position, double weight, const SelfParticle &arr, const MC::ContributionView &contributions)
static KOKKOS_INLINE_FUNCTION double mass (std::size_t idx, const SelfParticle &arr)
static constexpr std::array< std::string_view, n_varnames ()

Static Public Attributes

static constexpr std::size_t n_var
static constexpr std::string_view name = "uptake"

Member Typedef Documentation

◆ Config

template<UptakeModel U, ModelType M = U>
using Models::Uptake< U, M >::Config = std::nullopt_t

◆ FloatType

template<UptakeModel U, ModelType M = U>
using Models::Uptake< U, M >::FloatType = M::FloatType

◆ Self

template<UptakeModel U, ModelType M = U>
using Models::Uptake< U, M >::Self = Uptake

◆ SelfParticle

template<UptakeModel U, ModelType M = U>
using Models::Uptake< U, M >::SelfParticle = MC::ParticlesModel<M::n_var, Self::FloatType>

◆ uniform_weight

template<UptakeModel U, ModelType M = U>
using Models::Uptake< U, M >::uniform_weight = std::true_type

Member Function Documentation

◆ contribution()

template<UptakeModel U, ModelType M = U>
KOKKOS_INLINE_FUNCTION void Models::Uptake< U, M >::contribution ( std::size_t idx,
std::size_t position,
double weight,
const SelfParticle & arr,
const MC::ContributionView & contributions )
inlinestatic

◆ division()

template<UptakeModel U, ModelType M = U>
KOKKOS_INLINE_FUNCTION void Models::Uptake< U, M >::division ( const MC::KPRNG::pool_type & random_pool,
std::size_t idx,
std::size_t idx2,
const SelfParticle & arr,
const SelfParticle & buffer_arr )
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f_G()

template<UptakeModel U, ModelType M = U>
KOKKOS_INLINE_FUNCTION constexpr FloatType Models::Uptake< U, M >::f_G ( const FloatType x)
inlinestaticconstexprnoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init()

template<UptakeModel U, ModelType M = U>
KOKKOS_INLINE_FUNCTION void Models::Uptake< U, M >::init ( const MC::KPRNG::pool_type & random_pool,
std::size_t idx,
const SelfParticle & arr )
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mass()

template<UptakeModel U, ModelType M = U>
KOKKOS_INLINE_FUNCTION double Models::Uptake< U, M >::mass ( std::size_t idx,
const SelfParticle & arr )
inlinestatic

◆ names()

template<UptakeModel U, ModelType M = U>
constexpr std::array< std::string_view, n_var > Models::Uptake< U, M >::names ( )
inlinestaticconstexpr

◆ phi_permease()

template<UptakeModel U, ModelType M = U>
KOKKOS_INLINE_FUNCTION constexpr FloatType Models::Uptake< U, M >::phi_permease ( FloatType phi_max,
FloatType ap_2,
FloatType ap_3,
FloatType S )
inlinestaticconstexpr
Here is the call graph for this function:
Here is the caller graph for this function:

◆ phi_pts()

template<UptakeModel U, ModelType M = U>
KOKKOS_INLINE_FUNCTION constexpr FloatType Models::Uptake< U, M >::phi_pts ( const FloatType phi_max,
const FloatType a_pts,
const FloatType S )
inlinestaticconstexpr
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uptake()

template<UptakeModel U, ModelType M = U>
KOKKOS_INLINE_FUNCTION FloatType Models::Uptake< U, M >::uptake ( FloatType phi_max,
std::size_t idx,
const SelfParticle & arr,
const MC::LocalConcentration & c,
FloatType * r_phi_pts = nullptr,
FloatType * r_phi_perm = nullptr )
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uptake_step()

template<UptakeModel U, ModelType M = U>
KOKKOS_INLINE_FUNCTION FloatType Models::Uptake< U, M >::uptake_step ( FloatType phi_max,
FloatType d_t,
std::size_t idx,
const SelfParticle & arr,
const MC::LocalConcentration & c,
FloatType * r_phi_pts = nullptr,
FloatType * r_phi_perm = nullptr )
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ n_var

template<UptakeModel U, ModelType M = U>
std::size_t Models::Uptake< U, M >::n_var
staticconstexpr
Initial value:
=
static_cast<std::size_t>(Uptakeparticle_var::COUNT)

◆ name

template<UptakeModel U, ModelType M = U>
std::string_view Models::Uptake< U, M >::name = "uptake"
staticconstexpr

The documentation for this struct was generated from the following file: