8 vector<Extensive> SeveralSources::operator()
12 const vector<ComputationalCell>& cells,
13 const vector<Extensive>& fluxes,
14 const vector<Vector2D>& point_velocities,
18 vector<Extensive> res(static_cast<size_t>(tess.
GetPointNo()));
19 size_t ntracer = cells[0].tracers.size();
20 for (
size_t i = 0; i < res.size(); ++i)
25 res[i].tracers = cells[0].tracers;
26 for (
size_t j = 0; j < ntracer; ++j)
27 res[i].tracers[j] = 0;
29 for (
size_t i = 0; i < sources_.size(); ++i)
31 const vector<Extensive> diff = (*sources_[i])
32 (tess, pg, cd, cells, fluxes, point_velocities, t,tracerstickernames);
33 for (
size_t j = 0; j < res.size(); ++j)
35 res[j].mass += diff[j].mass;
36 res[j].momentum += diff[j].momentum;
37 res[j].energy += diff[j].energy;
38 for (
size_t k = 0; k < ntracer; ++k)
39 res[j].tracers[k] += diff[j].tracers[k];
Abstract class for tessellation.
virtual int GetPointNo(void) const =0
Get Total number of mesh generating points.
Class for a combination of external sources.
SeveralSources(vector< SourceTerm *> forces)
Class constructor.
~SeveralSources(void)
Class destructor.
Container for cache data.
Class for keeping the names of the tracers and stickers.
Base class for physical geometry.