BioCMAMC-ST
Models::SimpleAcetate Struct Reference

#include <simple_acetate.hpp>

Public Types

enum class  particle_var : int {
  length = 0 , l_max , a_p , a_max ,
  a_e , a_e_s , a_e_a , phi_s ,
  phi_a , __COUNT__
}
using uniform_weight = std::true_type
using Self = SimpleAcetate
using FloatType = float
using Config = std::nullopt_t
using SelfParticle = MC::ParticlesModel<Self::n_var, Self::FloatType>

Static Public Member Functions

static MC::ContribIndexBounds get_bounds ()
static KOKKOS_INLINE_FUNCTION void init (const MC::pool_type &random_pool, std::size_t idx, const SelfParticle &arr)
static KOKKOS_INLINE_FUNCTION MC::Status update (const MC::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::pool_type &random_pool, std::size_t idx, std::size_t idx2, const SelfParticle &arr, const SelfParticle &buffer_arr)
static KOKKOS_INLINE_FUNCTION double mass (std::size_t idx, const SelfParticle &arr)
static std::array< std::string_view, Self::n_varnames ()

Public Attributes

MODEL_CONSTANT std::size_t N_N = 2
MODEL_CONSTANT FloatType a_max_m = 2e-6 / 3600.
MODEL_CONSTANT FloatType l_max_m = 2e-6
MODEL_CONSTANT FloatType l_min_m = l_max_m / 2.
MODEL_CONSTANT FloatType d_m = 0.6e-6
MODEL_CONSTANT FloatType lin_density = c_linear_density(static_cast<FloatType>(1000), d_m)
MODEL_CONSTANT FloatType k_s = 1e-3
MODEL_CONSTANT FloatType k_a = 1e-4
MODEL_CONSTANT Kokkos::Array< FloatType, N_Nk = { k_s, k_a }
MODEL_CONSTANT FloatType y_s = 2
MODEL_CONSTANT FloatType y_a = 3
MODEL_CONSTANT Kokkos::Array< FloatType, N_Ny = { y_s, y_a }
MODEL_CONSTANT FloatType phi_s_max = _get_phi_s_max<FloatType>(lin_density, a_max_m)
MODEL_CONSTANT auto l_max_dist
MODEL_CONSTANT auto l_dist

Static Public Attributes

static constexpr std::size_t n_var = INDEX_FROM_ENUM(particle_var::__COUNT__)
static constexpr std::string_view name = "simple_acetate"

Member Typedef Documentation

◆ Config

using Models::SimpleAcetate::Config = std::nullopt_t

◆ FloatType

◆ Self

◆ SelfParticle

◆ uniform_weight

using Models::SimpleAcetate::uniform_weight = std::true_type

Member Enumeration Documentation

◆ particle_var

enum class Models::SimpleAcetate::particle_var : int
strong
Enumerator
length 
l_max 
a_p 
a_max 
a_e 
a_e_s 
a_e_a 
phi_s 
phi_a 
__COUNT__ 

Member Function Documentation

◆ division()

KOKKOS_INLINE_FUNCTION void Models::SimpleAcetate::division ( const MC::pool_type & random_pool,
std::size_t idx,
std::size_t idx2,
const SelfParticle & arr,
const SelfParticle & buffer_arr )
static

◆ get_bounds()

MC::ContribIndexBounds Models::SimpleAcetate::get_bounds ( )
inlinestatic

◆ init()

KOKKOS_INLINE_FUNCTION void Models::SimpleAcetate::init ( const MC::pool_type & random_pool,
std::size_t idx,
const SelfParticle & arr )
static

◆ mass()

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

◆ names()

std::array< std::string_view, Self::n_var > Models::SimpleAcetate::names ( )
inlinestatic

◆ update()

KOKKOS_INLINE_FUNCTION MC::Status Models::SimpleAcetate::update ( const MC::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

◆ a_max_m

MODEL_CONSTANT FloatType Models::SimpleAcetate::a_max_m = 2e-6 / 3600.

◆ d_m

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

◆ k

MODEL_CONSTANT Kokkos::Array<FloatType, N_N> Models::SimpleAcetate::k = { k_s, k_a }

◆ k_a

MODEL_CONSTANT FloatType Models::SimpleAcetate::k_a = 1e-4

◆ k_s

MODEL_CONSTANT FloatType Models::SimpleAcetate::k_s = 1e-3

◆ l_dist

MODEL_CONSTANT auto Models::SimpleAcetate::l_dist
Initial value:
l_max_m * 0.75, l_max_m / 10., 0.7 * l_min_m, l_max_m * 1.3)
Represents a TruncatedNormal (Gaussian) probability distribution.
Definition prng_extension.hpp:354
MODEL_CONSTANT FloatType l_min_m
Definition simple_acetate.hpp:59
MODEL_CONSTANT FloatType l_max_m
Definition simple_acetate.hpp:58

◆ l_max_dist

MODEL_CONSTANT auto Models::SimpleAcetate::l_max_dist

◆ l_max_m

MODEL_CONSTANT FloatType Models::SimpleAcetate::l_max_m = 2e-6

◆ l_min_m

MODEL_CONSTANT FloatType Models::SimpleAcetate::l_min_m = l_max_m / 2.

◆ lin_density

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

◆ N_N

MODEL_CONSTANT std::size_t Models::SimpleAcetate::N_N = 2

◆ n_var

std::size_t Models::SimpleAcetate::n_var = INDEX_FROM_ENUM(particle_var::__COUNT__)
staticconstexpr

◆ name

std::string_view Models::SimpleAcetate::name = "simple_acetate"
staticconstexpr

◆ phi_s_max

MODEL_CONSTANT FloatType Models::SimpleAcetate::phi_s_max = _get_phi_s_max<FloatType>(lin_density, a_max_m)

◆ y

MODEL_CONSTANT Kokkos::Array<FloatType, N_N> Models::SimpleAcetate::y = { y_s, y_a }

◆ y_a

MODEL_CONSTANT FloatType Models::SimpleAcetate::y_a = 3

◆ y_s

MODEL_CONSTANT FloatType Models::SimpleAcetate::y_s = 2

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