26 namespace CellToCellTransport {
39 auto& p = m_cd.m_parameters;
41 m_chemical_count = p->get<
unsigned int>(
"model.cell_chemical_count");
42 m_ka = p->get<
double>(
"auxin_transport.ka");
43 m_tip_source = p->get<
double>(
"auxin_transport.leaf_tip_source");
44 m_transport = p->get<
double>(
"auxin_transport.transport");
46 m_D.assign(m_chemical_count, 0.0);
47 boost::optional<ptree&> arr_D = p->get_child_optional(
"auxin_transport.D.value_array");
49 m_D[0] = arr_D->begin()->second.get_value<
double>();
55 double const phi = w->
GetLength() * m_D[0]
56 * (w->GetC2()->GetChemical(0) - w->GetC1()->GetChemical(0));
61 double const trans12 = m_transport * w->GetTransporters1(1) * w->GetC1()->GetChemical(0)
62 / (m_ka + w->GetC1()->GetChemical(0));
63 double const trans21 = m_transport * w->GetTransporters2(1) * w->GetC2()->GetChemical(0)
64 / (m_ka + w->GetC2()->GetChemical(0));
66 dchem_c1[0] += trans21 - trans12;
67 dchem_c2[0] += trans12 - trans21;
70 if (w->IsAuxinSource()) {
71 double const aux_flux = m_tip_source * w->
GetLength();
72 dchem_c1[0] += aux_flux;
73 dchem_c2[0] += aux_flux;
Core data with mesh, parameters, random engine and time data.
Source CellToCellTransport component.
Source(const CoreData &cd)
Initializing constructor.
void operator()(Wall *w, double *dchem_c1, double *dchem_c2)
Execute.
Namespace for components of the Default model group.
void Initialize(const CoreData &cd)
Initialize or re-initialize.
double GetLength() const
Returns (and calculates, if length marked as dirty) the length along all nodes.
A cell wall, runs between cell corner points and consists of wall elements.