27 #include <trng/uniform01_dist.hpp>
30 namespace CellHousekeep {
44 const trng::uniform01_dist<double> dist;
45 m_uniform_generator = m_cd.m_random_engine->GetGenerator(dist);
47 const auto& p = m_cd.m_parameters;
48 m_ga_threshold = p->get<
double>(
"wortel.ga_threshold");
49 m_shy2_threshold = p->get<
double>(
"wortel.shy2_threshold");
54 const double chem2 = cell->GetChemical(2);
55 const double chem3 = cell->GetChemical(3);
56 const int celltype = cell->GetCellType();
57 const double t_area = cell->GetTargetArea();
58 const double a_area = cell->
GetArea();
73 if (cell->GetBoundaryType() == BoundaryType::None)
75 if (celltype != 0 && (chem3 / a_area) >= m_ga_threshold) {
76 if ((chem2 / a_area) < m_shy2_threshold) {
77 const double incr = 0.02 * a_area;
78 const double update_t_area = t_area + incr;
79 cell->SetTargetArea(update_t_area);
81 const double incr = 0.2 * a_area;
82 const double update_t_area = t_area + incr;
83 cell->SetTargetArea(update_t_area);
Core data with mesh, parameters, random engine and time data.
A cell contains walls and nodes.
CellHousekeep for Wortel model.
Interface of RandomEngine.
Namespace for components of the Default model group.
Wortel(const CoreData &cd)
Initializing constructor.
BoundaryType enumeration class.
void operator()(Cell *cell)
Execute.
void Initialize(const CoreData &cd)
Initialize or re-initialize.
double GetArea() const
Return the area of the cell.