BioCMAMC-ST
Models::TwoMeta Struct Reference

#include <two_meta.hpp>

Public Types

enum class  particle_var : int {
  age = INDEX_FROM_ENUM(Uptakeparticle_var::COUNT) , length , nu1 , nu2 ,
  l_cp , nu_eff_1 , nu_eff_2 , contrib_phi_s ,
  contrib_phi_o2 , contrib_phi_ac , COUNT
}
 
using uniform_weight = std::true_type
 
using Self = TwoMeta
 
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)
 
static constexpr std::vector< std::string_view > names ()
 
static constexpr std::vector< std::size_t > get_number ()
 

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 MolarMassG = Models::MolarMass::GramPerMole::glucose<float>
 
MODEL_CONSTANT FloatType MolarMassO2 = Models::MolarMass::GramPerMole::dioxygen<float>
 
MODEL_CONSTANT FloatType y_sx_1 = 1. / 2.217737e+00
 
MODEL_CONSTANT FloatType y_sx_2 = y_sx_1 / 3.
 
MODEL_CONSTANT FloatType y_sa = 0.8
 
MODEL_CONSTANT FloatType y_os_molar = 3
 
MODEL_CONSTANT FloatType k_o = 0.0001
 
MODEL_CONSTANT FloatType dl_max_ms = 8 * 2e-10
 
MODEL_CONSTANT FloatType tau_1 = 1000.
 
MODEL_CONSTANT FloatType tau_2 = 1000.
 
MODEL_CONSTANT FloatType phi_s_max = (dl_max_ms * lin_density) * y_sx_1
 
MODEL_CONSTANT FloatType phi_perm_max = phi_s_max / 40.
 
MODEL_CONSTANT FloatType phi_o2_max
 
MODEL_CONSTANT float nu_max_kg_s = dl_max_ms * lin_density
 
MODEL_CONSTANT auto length_c_dist
 

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::TwoMeta::uniform_weight = std::true_type

Member Enumeration Documentation

◆ particle_var

enum class Models::TwoMeta::particle_var : int
strong
Enumerator
age 
length 
nu1 
nu2 
l_cp 
nu_eff_1 
nu_eff_2 
contrib_phi_s 
contrib_phi_o2 
contrib_phi_ac 
COUNT 

Member Function Documentation

◆ contribution()

KOKKOS_INLINE_FUNCTION void Models::TwoMeta::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::TwoMeta::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:

◆ get_number()

static constexpr std::vector< std::size_t > Models::TwoMeta::get_number ( )
inlinestaticconstexpr

◆ init()

KOKKOS_INLINE_FUNCTION void Models::TwoMeta::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::TwoMeta::mass ( std::size_t idx,
const SelfParticle & arr )
inlinestatic

◆ names()

static constexpr std::vector< std::string_view > Models::TwoMeta::names ( )
inlinestaticconstexpr

◆ update()

KOKKOS_INLINE_FUNCTION MC::Status Models::TwoMeta::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::TwoMeta::d_m = 0.6e-6

◆ dl_max_ms

MODEL_CONSTANT FloatType Models::TwoMeta::dl_max_ms = 8 * 2e-10

◆ k_o

MODEL_CONSTANT FloatType Models::TwoMeta::k_o = 0.0001

◆ l_c_m

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

◆ l_max_m

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

◆ l_min_m

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

◆ length_c_dist

MODEL_CONSTANT auto Models::TwoMeta::length_c_dist
Initial value:
=
Represents a TruncatedNormal (Gaussian) probability distribution.
Definition prng_extension.hpp:262
MODEL_CONSTANT FloatType l_c_m
Definition two_meta.hpp:52
MODEL_CONSTANT FloatType l_max_m
Definition two_meta.hpp:51
MODEL_CONSTANT FloatType l_min_m
Definition two_meta.hpp:54

◆ lin_density

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

◆ MolarMassG

MODEL_CONSTANT FloatType Models::TwoMeta::MolarMassG = Models::MolarMass::GramPerMole::glucose<float>

◆ MolarMassO2

MODEL_CONSTANT FloatType Models::TwoMeta::MolarMassO2 = Models::MolarMass::GramPerMole::dioxygen<float>

◆ n_var

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

◆ name

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

◆ nu_max_kg_s

MODEL_CONSTANT float Models::TwoMeta::nu_max_kg_s = dl_max_ms * lin_density

◆ phi_o2_max

MODEL_CONSTANT FloatType Models::TwoMeta::phi_o2_max
Initial value:
=
MODEL_CONSTANT FloatType MolarMassG
Definition two_meta.hpp:56
MODEL_CONSTANT FloatType MolarMassO2
Definition two_meta.hpp:57
MODEL_CONSTANT FloatType phi_s_max
Definition two_meta.hpp:68
MODEL_CONSTANT FloatType y_os_molar
Definition two_meta.hpp:62

◆ phi_perm_max

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

◆ phi_s_max

MODEL_CONSTANT FloatType Models::TwoMeta::phi_s_max = (dl_max_ms * lin_density) * y_sx_1

◆ tau_1

MODEL_CONSTANT FloatType Models::TwoMeta::tau_1 = 1000.

◆ tau_2

MODEL_CONSTANT FloatType Models::TwoMeta::tau_2 = 1000.

◆ y_os_molar

MODEL_CONSTANT FloatType Models::TwoMeta::y_os_molar = 3

◆ y_sa

MODEL_CONSTANT FloatType Models::TwoMeta::y_sa = 0.8

◆ y_sx_1

MODEL_CONSTANT FloatType Models::TwoMeta::y_sx_1 = 1. / 2.217737e+00

◆ y_sx_2

MODEL_CONSTANT FloatType Models::TwoMeta::y_sx_2 = y_sx_1 / 3.

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