BioCMAMC-ST
Models::SimpleModel Struct Reference

#include <simple_model.hpp>

Public Types

enum class  particle_var : int {
  length = INDEX_FROM_ENUM(Uptakeparticle_var::COUNT) , age , phi_s , t_div ,
  COUNT
}
 
using uniform_weight = std::true_type
 
using Self = SimpleModel
 
using FloatType = float
 
using SelfParticle = MC::ParticlesModel<Self::n_var, Self::FloatType>
 

Static Public Member Functions

static KOKKOS_INLINE_FUNCTION void init (const MC::KPRNG::pool_type &random_pool, std::size_t idx, const SelfParticle &arr)
 
static KOKKOS_INLINE_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)
 
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)
 

Public Attributes

MODEL_CONSTANT FloatType l_max_m = 5e-6
 
MODEL_CONSTANT FloatType l_c_m = 3e-6
 
MODEL_CONSTANT FloatType d_m = 0.6e-6
 
MODEL_CONSTANT FloatType l_min_m = 0.9e-6
 
MODEL_CONSTANT FloatType lin_density = c_linear_density(static_cast<FloatType>(1000), d_m)
 
MODEL_CONSTANT FloatType phi_s_max = get_phi_s_max<FloatType>(lin_density, 8 * 2e-10)
 
MODEL_CONSTANT FloatType phi_perm_max = phi_s_max / 40.
 
MODEL_CONSTANT FloatType frequency_division = 1. / 1000
 

Static Public Attributes

static constexpr std::size_t n_var = INDEX_FROM_ENUM(particle_var::COUNT)
 
static constexpr std::string_view name = "simple"
 

Member Typedef Documentation

◆ FloatType

◆ Self

◆ SelfParticle

◆ uniform_weight

using Models::SimpleModel::uniform_weight = std::true_type

Member Enumeration Documentation

◆ particle_var

enum class Models::SimpleModel::particle_var : int
strong
Enumerator
length 
age 
phi_s 
t_div 
COUNT 

Member Function Documentation

◆ contribution()

KOKKOS_INLINE_FUNCTION void Models::SimpleModel::contribution ( std::size_t idx,
std::size_t position,
double weight,
const SelfParticle & arr,
const MC::ContributionView & contributions )
static

◆ division()

KOKKOS_INLINE_FUNCTION void Models::SimpleModel::division ( const MC::KPRNG::pool_type & random_pool,
std::size_t idx,
std::size_t idx2,
const SelfParticle & arr,
const SelfParticle & buffer_arr )
static
Here is the call graph for this function:

◆ init()

KOKKOS_INLINE_FUNCTION void Models::SimpleModel::init ( const MC::KPRNG::pool_type & random_pool,
std::size_t idx,
const SelfParticle & arr )
static
Here is the call graph for this function:

◆ mass()

static KOKKOS_INLINE_FUNCTION double Models::SimpleModel::mass ( std::size_t idx,
const SelfParticle & arr )
inlinestatic

◆ update()

KOKKOS_INLINE_FUNCTION MC::Status Models::SimpleModel::update ( const MC::KPRNG::pool_type & random_pool,
FloatType d_t,
std::size_t idx,
const SelfParticle & arr,
const MC::LocalConcentration & c )
static
Here is the call graph for this function:

Member Data Documentation

◆ d_m

MODEL_CONSTANT FloatType Models::SimpleModel::d_m = 0.6e-6

◆ frequency_division

MODEL_CONSTANT FloatType Models::SimpleModel::frequency_division = 1. / 1000

◆ l_c_m

MODEL_CONSTANT FloatType Models::SimpleModel::l_c_m = 3e-6

◆ l_max_m

MODEL_CONSTANT FloatType Models::SimpleModel::l_max_m = 5e-6

◆ l_min_m

MODEL_CONSTANT FloatType Models::SimpleModel::l_min_m = 0.9e-6

◆ lin_density

MODEL_CONSTANT FloatType Models::SimpleModel::lin_density = c_linear_density(static_cast<FloatType>(1000), d_m)

◆ n_var

std::size_t Models::SimpleModel::n_var = INDEX_FROM_ENUM(particle_var::COUNT)
staticconstexpr

◆ name

std::string_view Models::SimpleModel::name = "simple"
staticconstexpr

◆ phi_perm_max

MODEL_CONSTANT FloatType Models::SimpleModel::phi_perm_max = phi_s_max / 40.

◆ phi_s_max

MODEL_CONSTANT FloatType Models::SimpleModel::phi_s_max = get_phi_s_max<FloatType>(lin_density, 8 * 2e-10)

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