Class documentation of Concepts

Loading...
Searching...
No Matches
elementPair.hh
Go to the documentation of this file.
1
6#ifndef dgElementPair_hh
7#define dgElementPair_hh
8
9#include "basics/typedefs.hh"
10#include "space/elementPairs.hh"
11#include "element.hh"
12
13#include <vector>
14
15#define DEBUG_FILLDATA 0
16#define DEBUG_FILLDATA_CONSISTENCY 0
17
18namespace linDG3D {
19 using concepts::Real;
20
21 // ******************************************************* FvdgElementPair **
22
28 public:
36 const FvdgElement& elm2,
37 uint faceIdx1, uint faceIdx2);
42 FvdgElementPair(const FvdgElement& elm, uint faceIdx);
43 virtual ~FvdgElementPair();
44
45 virtual const FvdgElement& elm1() const { return elm1_; }
46 virtual const FvdgElement& elm2() const { return elm2_; }
47
49 Real area() const { return area_; }
51 Real diam() const { return diam_; }
53 concepts::Real3d normal() const { return normal_; }
55 uint numPairs() const { return edgePairs_.size(); }
63 uint edgeIndex( uint elem, uint edge ) const;
71 void quadrature(std::vector<Real>& weights,
72 std::vector<concepts::Real3d>& xi0,
73 std::vector<concepts::Real3d>& xi1) const;
82 void quadrature(std::vector<Real>& weights,
83 std::vector<concepts::Real3d>& xi0,
84 std::vector<concepts::Real3d>& xi1,
85 std::vector<concepts::Real3d>& x) const;
87 uint faceIdx1() const { return faceIdx1_; };
89 uint faceIdx2() const { return faceIdx2_; };
90 private:
92 const FvdgElement& elm1_;
94 const FvdgElement& elm2_;
96 Real area_;
98 Real diam_;
100 concepts::Real3d normal_;
102 uint faceIdx1_;
104 uint faceIdx2_;
106 static std::vector<Real> weights_;
107 static std::vector<concepts::Real3d> zetaAbsc_;
108 static concepts::Real3d xiEdge_[6];
109 std::vector<std::pair<uint, uint> > edgePairs_;
110 void fillData_();
111 void fillQuadrature_();
113 barycentric_(concepts::Real3d zeta, concepts::Real3d* xVtx) const;
114 void edgVtx_(concepts::Real3d* xEdge, concepts::Real3d* xVtx) const;
115 };
116
117} // namespace linDG3D
118
119#endif // dgElementPair_hh
FvdgElementPair(const FvdgElement &elm, uint faceIdx)
void quadrature(std::vector< Real > &weights, std::vector< concepts::Real3d > &xi0, std::vector< concepts::Real3d > &xi1, std::vector< concepts::Real3d > &x) const
concepts::Real3d normal() const
Returns the normal vector of the common face.
uint numPairs() const
Returns the number of common edges.
uint faceIdx1() const
Returns the index of the face in element 1.
Real area() const
Returns the area of the common face.
uint edgeIndex(uint elem, uint edge) const
FvdgElementPair(const FvdgElement &elm1, const FvdgElement &elm2, uint faceIdx1, uint faceIdx2)
virtual const FvdgElement & elm1() const
Returns reference to the first element.
virtual const FvdgElement & elm2() const
Returns reference to the second element.
Real diam() const
Returns the diameter of the common face.
void quadrature(std::vector< Real > &weights, std::vector< concepts::Real3d > &xi0, std::vector< concepts::Real3d > &xi1) const
uint faceIdx2() const
Returns the index of the face in element 2.
double Real
Definition typedefs.hh:39