2 #define _USE_MATH_DEFINES 5 #include "cylindrical_complementary.hpp" 6 #include "../../../misc/lazy_list.hpp" 35 vector<Extensive> CylindricalComplementary::operator()
39 const vector<ComputationalCell>& cells,
40 const vector<Extensive>& ,
41 const vector<Vector2D>& ,
45 vector<Extensive> res(static_cast<size_t>(tess.
GetPointNo()));
47 for (
size_t i = 0; i < res.size(); ++i)
49 const double p = cells[i].pressure;
60 res[i].momentum = 2*M_PI* tess.
GetVolume(static_cast<int>(i))*p*r_hat /
abs(r_hat);
62 res[i].tracers.resize(cells[0].tracers.size(), 0);
Vector2D remove_parallel_component(const Vector2D &v, const Vector2D &p)
Remove parallel component of a vector.
Abstract class for tessellation.
virtual int GetPointNo(void) const =0
Get Total number of mesh generating points.
virtual Vector2D GetMeshPoint(int index) const =0
Returns Position of mesh generating point.
double ScalarProd(Vector3D const &v1, Vector3D const &v2)
Scalar product of two vectors.
const Vector2D direction
Positive direction of the axis.
CylindricalComplementary(const Axis &axis)
Class constructor.
Container for cache data.
virtual double GetVolume(int index) const =0
Returns the volume of a cell.
Class for keeping the names of the tracers and stickers.
double abs(Vector3D const &v)
Norm of a vector.
const Vector2D origin
Origin of the axis.
Base class for physical geometry.