42 const auto& p = m_cd.m_parameters->get_child(
"blad");
43 m_M_threshold_division = p.get<
double>(
"M_threshold_division");
44 m_size_threshold_division = p.get<
double>(
"size_threshold_division");
49 const double chem1 = cell->GetChemical(1);
50 const double a_area = cell->
GetArea();
52 bool must_divide =
false;
54 if (cell->GetBoundaryType() == BoundaryType::None) {
55 if ( ( chem1 / a_area ) >= m_M_threshold_division ) {
56 if ( a_area >= m_size_threshold_division) {
62 return std::make_tuple(must_divide,
false, std::array<double, 3>());
Namespace for components of the Blad model group.
Core data with mesh, parameters, random engine and time data.
A cell contains walls and nodes.
Namespace for miscellaneous utilities.
std::tuple< bool, bool, std::array< double, 3 > > operator()(Cell *cell)
Execute.
CellSplit for Blad model.
double GetArea() const
Return the area of the cell.
void Initialize(const CoreData &cd)
Initialize or re-initialize.
Blad(const CoreData &cd)
Initializing constructor.