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

#include <uptake.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>
 

Static Public Member Functions

static KOKKOS_INLINE_FUNCTION constexpr FloatType _k_pts ()
 
static KOKKOS_INLINE_FUNCTION constexpr FloatType phi_pts (const FloatType phi_pts_max, const FloatType a_pts, const FloatType S)
 
static KOKKOS_INLINE_FUNCTION constexpr FloatType phi_permease (FloatType phi_permease_specific, FloatType n_permease, FloatType a_permease, 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_pts_max, FloatType phi_permease_specific, std::size_t idx, const SelfParticle &arr, const MC::LocalConcentration &c)
 
static KOKKOS_INLINE_FUNCTION FloatType uptake_step (FloatType phi_pts_max, FloatType phi_permease_specific, FloatType d_t, std::size_t idx, const SelfParticle &arr, const MC::LocalConcentration &c)
 
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 ()
 

Public Attributes

MODEL_CONSTANT FloatType NPermease_init = 1
 
MODEL_CONSTANT FloatType NPermease_max = 200
 
MODEL_CONSTANT FloatType k_pts = 1e-3
 
MODEL_CONSTANT FloatType kppermease = 1e-2
 
MODEL_CONSTANT double tau_new_permease = 40.
 
MODEL_CONSTANT double tau_rm_perm = 200.
 
MODEL_CONSTANT double tau_pts = 20.
 
MODEL_CONSTANT double tau_Au = 40.
 
MODEL_CONSTANT double tau_Ad = 5.
 

Static Public Attributes

static constexpr std::size_t n_var = static_cast<std::size_t>(Uptakeparticle_var::COUNT)
 
static constexpr std::string_view name = "uptake"
 

Member Typedef Documentation

◆ FloatType

template<ModelType M>
using Models::Uptake< M >::FloatType = M::FloatType

◆ Self

template<ModelType M>
using Models::Uptake< M >::Self = Uptake

◆ SelfParticle

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

◆ uniform_weight

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

Member Function Documentation

◆ _k_pts()

template<ModelType M>
static KOKKOS_INLINE_FUNCTION constexpr FloatType Models::Uptake< M >::_k_pts ( )
inlinestaticconstexpr

◆ contribution()

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

◆ division()

template<ModelType M>
static KOKKOS_INLINE_FUNCTION void Models::Uptake< 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:

◆ init()

template<ModelType M>
static KOKKOS_INLINE_FUNCTION void Models::Uptake< 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<ModelType M>
static KOKKOS_INLINE_FUNCTION double Models::Uptake< M >::mass ( std::size_t idx,
const SelfParticle & arr )
inlinestatic

◆ names()

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

◆ phi_permease()

template<ModelType M>
static KOKKOS_INLINE_FUNCTION constexpr FloatType Models::Uptake< M >::phi_permease ( FloatType phi_permease_specific,
FloatType n_permease,
FloatType a_permease,
FloatType S )
inlinestaticconstexpr
Here is the caller graph for this function:

◆ phi_pts()

template<ModelType M>
static KOKKOS_INLINE_FUNCTION constexpr FloatType Models::Uptake< M >::phi_pts ( const FloatType phi_pts_max,
const FloatType a_pts,
const FloatType S )
inlinestaticconstexpr
Here is the caller graph for this function:

◆ uptake()

template<ModelType M>
static KOKKOS_INLINE_FUNCTION FloatType Models::Uptake< M >::uptake ( FloatType phi_pts_max,
FloatType phi_permease_specific,
std::size_t idx,
const SelfParticle & arr,
const MC::LocalConcentration & c )
inlinestatic
Here is the call graph for this function:

◆ uptake_step()

template<ModelType M>
static KOKKOS_INLINE_FUNCTION FloatType Models::Uptake< M >::uptake_step ( FloatType phi_pts_max,
FloatType phi_permease_specific,
FloatType d_t,
std::size_t idx,
const SelfParticle & arr,
const MC::LocalConcentration & c )
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ k_pts

template<ModelType M>
MODEL_CONSTANT FloatType Models::Uptake< M >::k_pts = 1e-3

◆ kppermease

template<ModelType M>
MODEL_CONSTANT FloatType Models::Uptake< M >::kppermease = 1e-2

◆ n_var

template<ModelType M>
std::size_t Models::Uptake< M >::n_var = static_cast<std::size_t>(Uptakeparticle_var::COUNT)
staticconstexpr

◆ name

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

◆ NPermease_init

template<ModelType M>
MODEL_CONSTANT FloatType Models::Uptake< M >::NPermease_init = 1

◆ NPermease_max

template<ModelType M>
MODEL_CONSTANT FloatType Models::Uptake< M >::NPermease_max = 200

◆ tau_Ad

template<ModelType M>
MODEL_CONSTANT double Models::Uptake< M >::tau_Ad = 5.

◆ tau_Au

template<ModelType M>
MODEL_CONSTANT double Models::Uptake< M >::tau_Au = 40.

◆ tau_new_permease

template<ModelType M>
MODEL_CONSTANT double Models::Uptake< M >::tau_new_permease = 40.

◆ tau_pts

template<ModelType M>
MODEL_CONSTANT double Models::Uptake< M >::tau_pts = 20.

◆ tau_rm_perm

template<ModelType M>
MODEL_CONSTANT double Models::Uptake< M >::tau_rm_perm = 200.

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