26 namespace CellToCellTransport {
39 auto& p = m_cd.m_parameters;
41 m_chemical_count = p->get<
unsigned int>(
"model.cell_chemical_count");
43 m_ka = p->get<
double>(
"auxin_transport.ka");
44 m_tip_source = p->get<
double>(
"auxin_transport.leaf_tip_source");
45 m_sam_efflux = p->get<
double>(
"auxin_transport.sam_efflux");
46 m_transport = p->get<
double>(
"auxin_transport.transport");
48 ptree
const& arr_D = p->get_child(
"auxin_transport.D.value_array");
50 for (
auto it = arr_D.begin(); it != arr_D.end(); it++) {
51 if (c == m_chemical_count) {
54 m_D.push_back(it->second.get_value<
double>());
58 for (
unsigned int i = c; i < m_chemical_count; i++) {
66 if (w->GetC2()->IsBoundaryPolygon()) {
67 if (w->IsAuxinSource()) {
68 double const aux_flux = m_tip_source * w->
GetLength();
69 dchem_c1[0] += aux_flux;
74 if (w->GetC1()->IsBoundaryPolygon()) {
75 if (w->IsAuxinSource()) {
76 double const aux_flux = m_tip_source * w->
GetLength();
77 dchem_c2[0] += aux_flux;
79 else if (w->IsAuxinSink()) {
82 double const chem = w->GetC2()->GetChemical(0);
83 dchem_c2[0] -= m_sam_efflux * chem / (m_ka + chem);
90 double const phi = w->
GetLength() * m_D[0]
91 * (w->GetC2()->GetChemical(0) - w->GetC1()->GetChemical(0));
96 double const chem_1_0 = w->GetC1()->GetChemical(0);
97 double const chem_2_0 = w->GetC2()->GetChemical(0);
98 double const trans12 = m_transport * w->GetTransporters1(1) * chem_1_0 / (m_ka + chem_1_0);
99 double const trans21 = m_transport * w->GetTransporters2(1) * chem_2_0 / (m_ka + chem_2_0);
100 dchem_c1[0] += trans21 - trans12;
101 dchem_c2[0] += trans12 - trans21;
Core data with mesh, parameters, random engine and time data.
Namespace for components of the Default model group.
void Initialize(const CoreData &cd)
Initialize or re-initialize.
CellToCellTransport for AuxinGrowth model.
void operator()(Wall *w, double *dchem_c1, double *dchem_c2)
Execute.
double GetLength() const
Returns (and calculates, if length marked as dirty) the length along all nodes.
AuxinGrowth(const CoreData &cd)
Initializing constructor.
A cell wall, runs between cell corner points and consists of wall elements.