BioCMAMC-ST
Models::TwoMetaDiv Struct Reference

#include <two_meta_div.hpp>

Classes

struct  TMDConfig
 
struct  Yields
 

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 = TwoMetaDiv
 
using FloatType = float
 
using SelfParticle = MC::ParticlesModel<Self::n_var, Self::FloatType>
 
using Config = TMDConfig
 

Static Public Member Functions

static KOKKOS_INLINE_FUNCTION void init (const MC::KPRNG::pool_type &random_pool, std::size_t idx, const SelfParticle &arr, const Config &config)
 
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 std::vector< std::string_view > names ()
 
static std::vector< std::size_t > get_number ()
 
static KOKKOS_INLINE_FUNCTION void preinit ()
 

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
 
MODEL_CONSTANT FloatType y_sx_2
 
MODEL_CONSTANT FloatType y_sa
 
MODEL_CONSTANT FloatType y_os_molar = 6
 
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 = "two_meta_div"
 

Member Typedef Documentation

◆ Config

◆ FloatType

◆ Self

◆ SelfParticle

◆ uniform_weight

using Models::TwoMetaDiv::uniform_weight = std::true_type

Member Enumeration Documentation

◆ particle_var

enum class Models::TwoMetaDiv::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::TwoMetaDiv::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::TwoMetaDiv::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 std::vector< std::size_t > Models::TwoMetaDiv::get_number ( )
inlinestatic

◆ init()

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

◆ mass()

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

◆ names()

static std::vector< std::string_view > Models::TwoMetaDiv::names ( )
inlinestatic

◆ preinit()

static KOKKOS_INLINE_FUNCTION void Models::TwoMetaDiv::preinit ( )
inlinestatic

◆ update()

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

◆ dl_max_ms

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

◆ k_o

MODEL_CONSTANT FloatType Models::TwoMetaDiv::k_o = 0.0001

◆ l_c_m

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

◆ l_max_m

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

◆ l_min_m

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

◆ length_c_dist

MODEL_CONSTANT auto Models::TwoMetaDiv::length_c_dist
Initial value:
=
Represents a TruncatedNormal (Gaussian) probability distribution.
Definition prng_extension.hpp:263
MODEL_CONSTANT FloatType l_min_m
Definition two_meta_div.hpp:70
MODEL_CONSTANT FloatType l_c_m
Definition two_meta_div.hpp:68
MODEL_CONSTANT FloatType l_max_m
Definition two_meta_div.hpp:67

◆ lin_density

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

◆ MolarMassG

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

◆ MolarMassO2

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

◆ n_var

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

◆ name

std::string_view Models::TwoMetaDiv::name = "two_meta_div"
staticconstexpr

◆ nu_max_kg_s

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

◆ phi_o2_max

MODEL_CONSTANT FloatType Models::TwoMetaDiv::phi_o2_max
Initial value:
=
MODEL_CONSTANT FloatType MolarMassG
Definition two_meta_div.hpp:72
MODEL_CONSTANT FloatType phi_s_max
Definition two_meta_div.hpp:86
MODEL_CONSTANT FloatType y_os_molar
Definition two_meta_div.hpp:81
MODEL_CONSTANT FloatType MolarMassO2
Definition two_meta_div.hpp:73

◆ phi_perm_max

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

◆ phi_s_max

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

◆ tau_1

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

◆ tau_2

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

◆ y_os_molar

MODEL_CONSTANT FloatType Models::TwoMetaDiv::y_os_molar = 6

◆ y_sa

MODEL_CONSTANT FloatType Models::TwoMetaDiv::y_sa
Initial value:
constexpr T acetate
Definition utils.hpp:23
static constexpr double Y_AG
Definition two_meta_div.hpp:37

◆ y_sx_1

MODEL_CONSTANT FloatType Models::TwoMetaDiv::y_sx_1
Initial value:
constexpr double X
Definition utils.hpp:36
constexpr double glucose
Definition utils.hpp:29
static constexpr double Y_EG
Definition two_meta_div.hpp:31
static constexpr double Yo_EG
Definition two_meta_div.hpp:35
static constexpr double Y_XG
Definition two_meta_div.hpp:32

◆ y_sx_2

MODEL_CONSTANT FloatType Models::TwoMetaDiv::y_sx_2
Initial value:
=
static constexpr double Yf_EG
Definition two_meta_div.hpp:36

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