ConservativeForce.hpp
Go to the documentation of this file.
1 
6 #ifndef CONSFORCE_HPP
7 #define CONSFORCE_HPP 1
8 
9 #include "../SourceTerm.hpp"
10 
13 {
14 public:
25  virtual Vector2D operator()
26  (const Tessellation& tess,
27  const vector<ComputationalCell>& cells,
28  const vector<Extensive>& fluxes,
29  const double time,
30  const int point,
31  TracerStickerNames const& tracerstickernames) const = 0;
32 
33  virtual ~Acceleration(void);
34 };
39 {
40 public:
45  explicit ConservativeForce(const Acceleration& acc, bool mass_flux = false);
46 
50  ~ConservativeForce(void);
51 
52  vector<Extensive> operator()
53  (const Tessellation& tess,
54  const PhysicalGeometry& pg,
55  const CacheData& cd,
56  const vector<ComputationalCell>& cells,
57  const vector<Extensive>& fluxes,
58  const vector<Vector2D>& point_velocities,
59  const double t,
60  TracerStickerNames const& tracerstickernames) const;
61 
62 private:
63  const Acceleration& acc_;
64  const bool mass_flux_;
65 
66  ConservativeForce(const ConservativeForce& origin);
67  ConservativeForce& operator=(const ConservativeForce& origin);
68 };
69 
70 #endif // CONSFORCE_HPP
Abstract class for tessellation.
Physical acceleration.
Abstract class for external forces.
Definition: SourceTerm.hpp:17
Container for cache data.
Definition: cache_data.hpp:14
Class for keeping the names of the tracers and stickers.
Class for conservative forces.
2D Mathematical vector
Definition: geometry.hpp:15
Base class for physical geometry.