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