26 namespace CellToCellTransportBoundary{
45 auto& transfer_map = m_cd.m_coupled_sim_transfer_data;
46 double transfer_value = 0.0;
48 if (w->GetC1()->IsBoundaryPolygon()) {
49 auto it = transfer_map->find(w->GetC2()->
GetIndex());
50 if (it != transfer_map->end()) {
51 transfer_value = get<0>(it->second);
52 double D_coupling = get<1>(it->second);
53 dchem_c2[0] += w->
GetLength() * D_coupling *
54 ( transfer_value - ( w->GetC2()->GetChemical(0)) / w->GetC2()->
GetArea() ) ;
56 }
else if (w->GetC2()->IsBoundaryPolygon()) {
57 auto it = transfer_map->find(w->GetC1()->
GetIndex());
58 if (it != transfer_map->end()) {
59 transfer_value = get<0>(it->second);
60 double D_coupling = get<1>(it->second);
61 dchem_c1[0] += w->
GetLength() * D_coupling *
62 ( transfer_value - ( w->GetC1()->GetChemical(0)) / w->GetC1()->
GetArea() ) ;
Core data with mesh, parameters, random engine and time data.
Namespace for miscellaneous utilities.
void operator()(Wall *w, double *dchem_c1, double *dchem_c2)
Execute.
Namespace for components of the Default model group.
Namespace for the core simulator.
CellToCellTransportBoundary component for the TestCoupling model.
void Initialize(const CoreData &cd)
Initialize or re-initialize.
int GetIndex() const
Return the index.
double GetLength() const
Returns (and calculates, if length marked as dirty) the length along all nodes.
TestCoupling_I(const CoreData &cd)
Initializing constructor.
double GetArea() const
Return the area of the cell.
A cell wall, runs between cell corner points and consists of wall elements.