BioCMAMC-ST
Models::Monod Struct Reference

#include <monod.hpp>

Public Types

enum class  particle_var : int {
  l = 0 , l_max , mu , _init_only_cell_lenghtening ,
  phi_s_c , __COUNT__
}
using uniform_weight = std::true_type
using Self = Monod
using FloatType = float
using SelfParticle = MC::ParticlesModel<Self::n_var, Self::FloatType>
using Config = std::nullopt_t

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 double mass (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 MC::ContribIndexBounds get_bounds ()
static std::vector< std::string_view > names ()
static std::vector< std::size_t > get_number ()

Public Attributes

MODEL_CONSTANT FloatType y_s_x = 2
MODEL_CONSTANT FloatType mu_max = 0.77 / 3600.
MODEL_CONSTANT FloatType tau_meta = 1. / mu_max
MODEL_CONSTANT FloatType l_max_m = 2e-6
MODEL_CONSTANT FloatType l_min_m = l_max_m / 2.
MODEL_CONSTANT FloatType k_s = 1e-3
MODEL_CONSTANT FloatType d_m = 0.6e-6
MODEL_CONSTANT FloatType lin_density

Static Public Attributes

static constexpr std::size_t n_var
static constexpr std::string_view name = "monod"

Member Typedef Documentation

◆ Config

using Models::Monod::Config = std::nullopt_t

◆ FloatType

using Models::Monod::FloatType = float

◆ Self

◆ SelfParticle

◆ uniform_weight

using Models::Monod::uniform_weight = std::true_type

Member Enumeration Documentation

◆ particle_var

enum class Models::Monod::particle_var : int
strong
Enumerator
l_max 
mu 
_init_only_cell_lenghtening 
phi_s_c 
__COUNT__ 

Member Function Documentation

◆ division()

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

◆ get_bounds()

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

◆ get_number()

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

◆ init()

KOKKOS_INLINE_FUNCTION void Models::Monod::init ( const MC::KPRNG::pool_type & random_pool,
std::size_t idx,
const SelfParticle & arr )
inlinestatic

◆ mass()

KOKKOS_INLINE_FUNCTION double Models::Monod::mass ( std::size_t idx,
const SelfParticle & arr )
inlinestatic
Here is the caller graph for this function:

◆ names()

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

◆ update()

KOKKOS_INLINE_FUNCTION MC::Status Models::Monod::update ( const MC::KPRNG::pool_type & random_pool,
FloatType d_t,
std::size_t idx,
const SelfParticle & arr,
const MC::LocalConcentration & c )
inlinestatic
Here is the call graph for this function:

Member Data Documentation

◆ d_m

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

◆ k_s

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

◆ l_max_m

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

◆ l_min_m

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

◆ lin_density

MODEL_CONSTANT FloatType Models::Monod::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

◆ mu_max

MODEL_CONSTANT FloatType Models::Monod::mu_max = 0.77 / 3600.

◆ n_var

std::size_t Models::Monod::n_var
staticconstexpr
Initial value:
=
INDEX_FROM_ENUM(particle_var::__COUNT__)
@ __COUNT__
Definition monod.hpp:23

◆ name

std::string_view Models::Monod::name = "monod"
staticconstexpr

◆ tau_meta

MODEL_CONSTANT FloatType Models::Monod::tau_meta = 1. / mu_max

◆ y_s_x

MODEL_CONSTANT FloatType Models::Monod::y_s_x = 2

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