Class documentation of Concepts

Loading...
Searching...
No Matches
face.hh
Go to the documentation of this file.
1
6#ifndef HP3D_FACE_HH
7#define HP3D_FACE_HH
8
9#include "basics/typedefs.hh"
11#include "basics/Zm.hh"
13
14
15namespace hp2D {
16 // forward declaration
17 template <class F>
18 class Quad;
19}
20
21namespace concepts {
22 // forward declarations
23 class Quad3d;
24 template <class F>
25 class TMatrix;
26}
27
28namespace hp3D {
29
30 using concepts::Real;
31 using concepts::Z2;
32
33 // forward declaration
34 class Hexahedron;
35
36 // ******************************* HexahedronFaceBase *************************
37
46 public:
49 normalVectorRule = concepts::FaceNormalVectorRule())
50 : normalVectorRule_(normalVectorRule.clone())
51 {}
52
53 hp2D::Quad<Real>* face(const Hexahedron &elm, const ushort k,
54 bool emptyElm = true,
55 hp2D::Quad<Real>* face = 0);
56
57 protected:
58 virtual std::ostream& info(std::ostream &os) const;
59
60 virtual Real weight_(bool first, Z2 dir) const = 0;
61
62 std::unique_ptr<concepts::FaceNormalVectorRule> normalVectorRule_;
63
64 private:
65 void transferDof_(const Hexahedron &elm, const ushort k,
66 const bool first, const Z2 dir,
67 hp2D::Quad<Real> &face);
68
69 bool faceDof_(const Hexahedron &elm, const ushort k,
70 const uint dofHex, uint *dofFace);
71
72 };
73
74 // **************************************** HexahedronFaceFirst ***************
75
77 public:
79 normalVectorRule = concepts::FaceNormalVectorRule())
80 : HexahedronFaceBase(normalVectorRule)
81 {
82 }
83
84 protected:
85 virtual std::ostream& info(std::ostream &os) const;
86 private:
87 virtual Real weight_(bool first, Z2 dir) const;
88 };
89
90
91
92}
93
94#endif // HP3D_FACE_HH
HexahedronFaceBase(const concepts::FaceNormalVectorRule &normalVectorRule=concepts::FaceNormalVectorRule())
Definition face.hh:48
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
double Real
Definition typedefs.hh:39
Definition meshDX.hh:23