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 Config = std::nullopt_t
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 std::vector< std::string_view > names ()
static 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.5e-6
MODEL_CONSTANT FloatType l_min_m = 0.9e-6
MODEL_CONSTANT FloatType lin_density
MODEL_CONSTANT FloatType MolarMassG
MODEL_CONSTANT FloatType MolarMassO2
MODEL_CONSTANT FloatType y_sx_1
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
MODEL_CONSTANT FloatType dl_max_ms
MODEL_CONSTANT FloatType tau_1 = 1000.
MODEL_CONSTANT FloatType tau_2 = 1000.
MODEL_CONSTANT FloatType phi_s_max
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 adder_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

◆ Config

using Models::TwoMeta::Config = std::nullopt_t

◆ 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:
Here is the caller graph for this function:

◆ get_number()

std::vector< std::size_t > Models::TwoMeta::get_number ( )
inlinestatic

◆ 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:
Here is the caller graph for this function:

◆ mass()

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

◆ names()

std::vector< std::string_view > Models::TwoMeta::names ( )
inlinestatic

◆ 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

Member Data Documentation

◆ adder_dist

MODEL_CONSTANT auto Models::TwoMeta::adder_dist
Initial value:
=
1.567e-6, 0.24e-6, l_min_m, l_max_m)
Represents a TruncatedNormal (Gaussian) probability distribution.
Definition prng_extension.hpp:277
MODEL_CONSTANT FloatType l_max_m
Definition two_meta.hpp:54
MODEL_CONSTANT FloatType l_min_m
Definition two_meta.hpp:57

◆ d_m

MODEL_CONSTANT FloatType Models::TwoMeta::d_m = 0.5e-6

◆ dl_max_ms

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

◆ k_o

MODEL_CONSTANT FloatType Models::TwoMeta::k_o
Initial value:
=
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

◆ lin_density

MODEL_CONSTANT FloatType Models::TwoMeta::lin_density
Initial value:
=
c_linear_density(static_cast<FloatType>(1000), d_m)
KOKKOS_INLINE_FUNCTION consteval F c_linear_density(F rho, F d)
Definition utils.hpp:47
MODEL_CONSTANT FloatType d_m
Definition fixed_length.hpp:50
float FloatType
Definition fixed_length.hpp:30

◆ MolarMassG

MODEL_CONSTANT FloatType Models::TwoMeta::MolarMassG
Initial value:

◆ MolarMassO2

MODEL_CONSTANT FloatType Models::TwoMeta::MolarMassO2
Initial value:

◆ 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:60
MODEL_CONSTANT FloatType MolarMassO2
Definition two_meta.hpp:62
MODEL_CONSTANT FloatType phi_s_max
Definition two_meta.hpp:77
MODEL_CONSTANT FloatType y_os_molar
Definition two_meta.hpp:69

◆ 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
Initial value:
=
MODEL_CONSTANT FloatType lin_density
Definition fixed_length.hpp:51
MODEL_CONSTANT FloatType y_sx_1
Definition two_meta.hpp:65
MODEL_CONSTANT FloatType dl_max_ms
Definition two_meta.hpp:72

◆ 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
Initial value:
=
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: