28 #include <trng/uniform01_dist.hpp>
43 const trng::uniform01_dist<double> dist;
44 m_uniform_generator = cd.m_random_engine->GetGenerator(dist);
46 auto& p = cd.m_parameters;
47 m_cell_base_area = p->get<
double>(
"cell_mechanics.base_area");
48 m_division_ratio = p->get<
double>(
"cell_mechanics.division_ratio");
49 m_fixed_division_axis = p->get<
bool>(
"cell_mechanics.fixed_division_axis",
false);
50 m_div_area = m_division_ratio * m_cell_base_area;
55 const double CCnoise = 1 + 0.*(m_uniform_generator() - 0.5) / 5;
56 const bool must_divide = (cell->
GetArea() > m_div_area * CCnoise);
57 return std::make_tuple(must_divide, m_fixed_division_axis, std::array<double, 3> {{1.0, 0.0, 0.0}});
Core data with mesh, parameters, random engine and time data.
A cell contains walls and nodes.
Core data used during model execution.
std::tuple< bool, bool, std::array< double, 3 > > operator()(Cell *cell)
Execute.
Interface of RandomEngine.
Geometric(const CoreData &cd)
Initializing constructor.
Namespace for components of the Default model group.
CellSplit for Geometric model.
void Initialize(const CoreData &cd)
Initialize or re-initialize.
double GetArea() const
Return the area of the cell.