26 #include <boost/property_tree/ptree.hpp>
29 namespace CellToCellTransport {
43 auto& p = m_cd.m_parameters;
44 m_chemical_count = p->get<
unsigned int>(
"model.cell_chemical_count");
47 ptree
const& arr_D = p->get_child(
"wrapper_model.D.value_array");
49 for (
auto it = arr_D.begin(); it != arr_D.end(); it++) {
50 if (c == m_chemical_count) {
53 m_D.push_back(it->second.get_value<
double>());
57 for (
unsigned int i = c; i < m_chemical_count; i++) {
64 if ( !(w->GetC1()->IsBoundaryPolygon()) && !(w->GetC2()->IsBoundaryPolygon()) )
66 const double apoplast_thickness = 1.;
68 const double phi = (w->
GetLength() / apoplast_thickness) * m_D[0] * ( ( w->GetC2()->GetChemical(0) / (w->GetC2()->
GetArea()) )
69 - ( w->GetC1()->GetChemical(0) / (w->GetC1()->
GetArea()) ) );
75 const double phi2 = (w->
GetLength() / apoplast_thickness) * m_D[1] * ( ( w->GetC2()->GetChemical(1) / (w->GetC2()->
GetArea()) )
76 - ( w->GetC1()->GetChemical(1) / (w->GetC1()->
GetArea()) ) );
81 if (w->GetC1()->
GetIndex() < 4) {dchem_c1[0] = 0.0; dchem_c1[1] = 0.0;}
82 if (w->GetC2()->
GetIndex() < 4) {dchem_c2[0] = 0.0; dchem_c2[1] = 0.0;}
Core data with mesh, parameters, random engine and time data.
Core data used during model execution.
Namespace for components of the Default model group.
int GetIndex() const
Return the index.
double GetLength() const
Returns (and calculates, if length marked as dirty) the length along all nodes.
WrapperModel(const CoreData &cd)
Initializing constructor.
void Initialize(const CoreData &cd)
Initialize or re-initialize.
CellToCellTransport for Wrapper model.
void operator()(Wall *w, double *dchem_c1, double *dchem_c2)
Execute.
double GetArea() const
Return the area of the cell.
A cell wall, runs between cell corner points and consists of wall elements.