|
BioCMAMC-ST
|
Rod-shaped cell growing on glucose, dividing on a timer. More...
#include <simple_model.hpp>
Public Types | |
| enum class | particle_var : int { length = 0 , age , t_div , phi_s , __COUNT__ } |
| using | uniform_weight = std::true_type |
| using | Self = SimpleModel |
| using | FloatType = float |
| using | Config = std::nullopt_t |
| using | SelfParticle = MC::ParticlesModel<Self::n_var, Self::FloatType> |
| using | SelfContribs = MC::ParticlesContribs<Self::n_c, Self::FloatType> |
Static Public Member Functions | |
| 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 SelfContribs &arr_contribs, std::size_t position_index, 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::vector< std::string_view > | names () |
| static std::vector< std::size_t > | get_number () |
| static std::vector< std::string_view > | species () |
Public Attributes | |
| MODEL_CONSTANT std::size_t | n_var = INDEX_FROM_ENUM(particle_var::__COUNT__) |
| MODEL_CONSTANT std::size_t | n_c = 1 |
| MODEL_CONSTANT std::string_view | name = "simple" |
| MODEL_CONSTANT FloatType | l_dot_max = 8 * 2e-10 |
| MODEL_CONSTANT FloatType | l_max_m = 5e-6 |
| MODEL_CONSTANT FloatType | l_min_m = 0.9e-6 |
| MODEL_CONSTANT FloatType | d_m = 0.6e-6 |
| MODEL_CONSTANT FloatType | k_s = 1e-3 |
| 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, l_dot_max) |
| MODEL_CONSTANT auto | l_dist |
| MODEL_CONSTANT auto | t_div_dist |
Rod-shaped cell growing on glucose, dividing on a timer.
Elongation follows a Monod law on glucose. Division is not triggered by length but by an age threshold drawn per cell, so the population spreads even with a deterministic growth rate.
| using Models::SimpleModel::Config = std::nullopt_t |
| using Models::SimpleModel::FloatType = float |
| using Models::SimpleModel::Self = SimpleModel |
| using Models::SimpleModel::uniform_weight = std::true_type |
|
strong |
|
static |
|
inlinestatic |
|
static |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
static |
| MODEL_CONSTANT FloatType Models::SimpleModel::d_m = 0.6e-6 |
| MODEL_CONSTANT FloatType Models::SimpleModel::k_s = 1e-3 |
| MODEL_CONSTANT auto Models::SimpleModel::l_dist |
| MODEL_CONSTANT FloatType Models::SimpleModel::l_dot_max = 8 * 2e-10 |
| MODEL_CONSTANT FloatType Models::SimpleModel::l_max_m = 5e-6 |
| MODEL_CONSTANT FloatType Models::SimpleModel::l_min_m = 0.9e-6 |
| MODEL_CONSTANT FloatType Models::SimpleModel::lin_density = c_linear_density(static_cast<FloatType>(1000), d_m) |
| MODEL_CONSTANT std::size_t Models::SimpleModel::n_c = 1 |
| MODEL_CONSTANT std::size_t Models::SimpleModel::n_var = INDEX_FROM_ENUM(particle_var::__COUNT__) |
| MODEL_CONSTANT std::string_view Models::SimpleModel::name = "simple" |
| MODEL_CONSTANT FloatType Models::SimpleModel::phi_s_max = _get_phi_s_max<FloatType>(lin_density, l_dot_max) |
| MODEL_CONSTANT auto Models::SimpleModel::t_div_dist |