5 bool bracketed(
int low,
int arg,
int high)
7 return arg>=low && high>arg;
11 void SimpleExtensiveUpdater::operator()
12 (
const vector<Extensive>& fluxes,
17 const vector<ComputationalCell>& ,
18 vector<Extensive>& extensives,
21 const vector<Edge>& edge_list = tess.getAllEdges();
22 Extensive delta = dt*cd.areas[0] * fluxes[0];
23 for(
size_t i=0;i<edge_list.size();++i)
25 const Edge& edge = edge_list[i];
27 delta *= dt*cd.areas[i];
28 if(bracketed(0,edge.
neighbors.first,tess.GetPointNo()))
29 extensives[
static_cast<size_t>(edge.
neighbors.first)] -=
31 if(bracketed(0,edge.
neighbors.second,tess.GetPointNo()))
32 extensives[
static_cast<size_t>(edge.
neighbors.second)] +=
Abstract class for tessellation.
Interface between two cells.
void ReplaceExtensive(Extensive &toreplace, Extensive const &other)
Replaces the data in the extensive. The tracers should already be allocated.
Container for cache data.
Class for keeping the names of the tracers and stickers.
std::pair< int, int > neighbors
Neighboring cells.
Base class for physical geometry.
Simple extensive variable updater.