27 using boost::property_tree::ptree;
30 namespace CellChemistry {
40 const auto& p = m_cd.m_parameters->get_child(
"auxin_transport");
42 m_k1 = p.get<
double>(
"k1");
43 m_k2 = p.get<
double>(
"k2");
44 m_km = p.get<
double>(
"km");
45 m_kr = p.get<
double>(
"kr");
46 m_r = p.get<
double>(
"r");
49 void PINFlux::operator()(
Cell* cell,
double* dchem)
52 dchem[1] = -SumFluxFromWalls(cell);
55 double PINFlux::SumFluxFromWalls(
Cell* cell)
57 using std::placeholders::_1;
58 using std::placeholders::_2;
59 using std::placeholders::_3;
61 function<double(Cell*, Cell*, Wall*)> f = bind(&PINFlux::Flux,
this, _1, _2, _3);
62 double const sum = ReduceCellWalls<double>(cell, f);
66 double PINFlux::Flux(
Cell* this_cell,
Cell* adjacent_cell,
Wall* w)
77 double const adj_auxin = adjacent_cell->GetChemical(0);
78 double const receptor = adj_auxin * m_r / (m_kr + adj_auxin);
82 if (w->GetC1() == this_cell) {
83 pin_atwall = w->GetTransporters1(1);
85 pin_atwall = w->GetTransporters2(1);
89 double const chem = this_cell->GetChemical(1);
90 double const pin_flux = m_k1 * chem * receptor / (m_km + chem) - m_k2 * pin_atwall;
Core data with mesh, parameters, random engine and time data.
A cell contains walls and nodes.
CellChemistry::PINFlux header file.
Namespace for components of the Default model group.
Interface/Implementation for ReduceCellWalls.
A cell wall, runs between cell corner points and consists of wall elements.