You are here:
Concepts
>
Concepts Web
>
Class documentation
Class documentation of Concepts
Loading...
Searching...
No Matches
hp3D
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
"
10
#include "
basics/outputOperator.hh
"
11
#include "
basics/Zm.hh
"
12
#include "
geometry/normalVector.hh
"
13
14
15
namespace
hp2D
{
16
// forward declaration
17
template
<
class
F>
18
class
Quad;
19
}
20
21
namespace
concepts
{
22
// forward declarations
23
class
Quad3d;
24
template
<
class
F>
25
class
TMatrix;
26
}
27
28
namespace
hp3D
{
29
30
using
concepts::Real
;
31
using
concepts::Z2
;
32
33
// forward declaration
34
class
Hexahedron;
35
36
// ******************************* HexahedronFaceBase *************************
37
45
class
HexahedronFaceBase
:
public
concepts::OutputOperator
{
46
public
:
48
HexahedronFaceBase
(
const
concepts::FaceNormalVectorRule
&
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
76
class
HexahedronFaceFirst
:
public
HexahedronFaceBase
{
77
public
:
78
HexahedronFaceFirst
(
const
concepts::FaceNormalVectorRule
&
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
Zm.hh
concepts::FaceNormalVectorRule
Definition
normalVector.hh:129
concepts::OutputOperator
Definition
outputOperator.hh:42
concepts::Z2
Definition
Zm.hh:16
hp2D::Quad
Definition
quad.hh:271
hp3D::HexahedronFaceBase
Definition
face.hh:45
hp3D::HexahedronFaceBase::HexahedronFaceBase
HexahedronFaceBase(const concepts::FaceNormalVectorRule &normalVectorRule=concepts::FaceNormalVectorRule())
Definition
face.hh:48
hp3D::HexahedronFaceBase::info
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
hp3D::HexahedronFaceFirst
Definition
face.hh:76
hp3D::HexahedronFaceFirst::info
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
hp3D::Hexahedron
Definition
hexahedron.hh:37
concepts
Definition
pml_formula.h:16
concepts::Real
double Real
Definition
typedefs.hh:39
hp2D
Definition
explicitResidual.hh:120
hp3D
Definition
meshDX.hh:23
normalVector.hh
outputOperator.hh
typedefs.hh
Generated on Wed Sep 13 2023 21:06:21 for Concepts by
1.9.8