74 cell_iter != rCellPopulation.
End();
77 auto p_cell_edge_model =
static_cast<CellSrnModel*
>(cell_iter->GetSrnModel());
80 std::vector<double> notch_vec;
81 std::vector<double> delta_vec;
84 for (
unsigned i = 0 ; i < p_cell_edge_model->GetNumEdgeSrn(); i++)
86 auto p_model = boost::static_pointer_cast<DeltaNotchEdgeSrnModel>(p_cell_edge_model->GetEdgeSrn(i));
87 double edge_delta = p_model->GetDelta();
88 double edge_notch = p_model->GetNotch();
90 delta_vec.push_back(edge_delta);
91 notch_vec.push_back(edge_notch);
94 cell_iter->GetCellEdgeData()->SetItem(
"edge delta", delta_vec);
95 cell_iter->GetCellEdgeData()->SetItem(
"edge notch", notch_vec);
99 assert(p_cell_edge_model->GetInteriorSrn() !=
nullptr);
100 auto p_interior_model = boost::static_pointer_cast<DeltaNotchInteriorSrnModel>(p_cell_edge_model->GetInteriorSrn());
103 cell_iter->GetCellData()->SetItem(
"interior delta", p_interior_model->GetDelta());
104 cell_iter->GetCellData()->SetItem(
"interior notch", p_interior_model->GetNotch());
109 cell_iter != rCellPopulation.
End();
112 auto p_cell_edge_model =
static_cast<CellSrnModel*
>(cell_iter->GetSrnModel());
113 const unsigned num_cell_edges = p_cell_edge_model->
GetNumEdgeSrn();
114 std::vector<double> neigh_mean_delta(num_cell_edges);
117 double total_edge_delta = 0;
118 double total_edge_notch = 0;
120 auto edges_delta = cell_iter->GetCellEdgeData()->GetItem(
"edge delta");
121 auto edges_notch = cell_iter->GetCellEdgeData()->GetItem(
"edge notch");
123 for (
unsigned i = 0 ; i < p_cell_edge_model->GetNumEdgeSrn(); i++)
125 total_edge_delta += edges_delta[i];
126 total_edge_notch += edges_notch[i];
129 cell_iter->GetCellData()->SetItem(
"total neighbour edge delta", total_edge_delta);
130 cell_iter->GetCellData()->SetItem(
"total edge notch", total_edge_notch);
133 for (
unsigned i=0; i<num_cell_edges; ++i)
137 double mean_delta = 0;
138 for (
auto neighbourIndex: elemNeighbours)
141 std::vector<double> neighbour_delta_vec = neighbourCell->GetCellEdgeData()->GetItem(
"edge delta");
142 mean_delta += neighbour_delta_vec[neighbourIndex.second];
144 if (elemNeighbours.size() > 0)
146 mean_delta = mean_delta/elemNeighbours.size();
148 neigh_mean_delta[i] = mean_delta;
150 cell_iter->GetCellEdgeData()->SetItem(
"neighbour delta", neigh_mean_delta);