You are here:
Concepts
>
Concepts Web
>
Class documentation
Class documentation of Concepts
Loading...
Searching...
No Matches
hp2D
bf_advection.hh
Go to the documentation of this file.
1
6
#ifndef hp2dbf_advection_hh
7
#define hp2dbf_advection_hh
8
9
#include <memory>
10
#include "
operator/bilinearForm.hh
"
11
#include "
basics/typedefs.hh
"
12
#include "
geometry/sharedJacobian.hh
"
13
#include "
hp2D/bilinearFormHelper.hh
"
14
#include "
arrayElementFormula.hh
"
15
16
17
namespace
concepts
{
18
// forward declarations
19
template
<
class
F>
20
class
Array;
21
22
template
<
class
F, u
int
dim>
23
class
Point;
24
25
template
<
class
F>
26
class
Element
;
27
28
template
<
class
F>
29
class
ElementMatrix;
30
31
template
<
typename
F,
typename
G>
32
class
ElementFormula;
33
}
34
35
namespace
vectorial
{
36
// forward declarations
37
template
<
class
F,
class
G>
38
class
BilinearForm;
39
}
40
41
namespace
hp2D
{
42
// forward declarations
43
template
<
class
F>
44
class
Quad;
45
46
class
InfiniteLaguerreQuad;
47
48
using
concepts::Real
;
49
50
51
// ************************************************************* Advection **
52
71
template
<
class
F = Real>
72
class
Advection
:
public
concepts::BilinearForm
<F,Real>,
73
public
hp2D::LinearFormHelper_1
<F>
74
{
75
public
:
76
Advection
(
const
concepts::ElementFormulaContainer<F>
frm1,
77
const
concepts::ElementFormulaContainer<F>
frm2)
78
:
hp2D::LinearFormHelper_1<F>
(frm1, frm2)
79
{}
80
81
Advection
82
(
const
concepts::ElementFormulaContainer
<
concepts::Point<F, 2>
> frm)
83
:
hp2D::LinearFormHelper_1<F>
(frm)
84
{}
85
86
virtual
~Advection
() {}
87
88
virtual
Advection<F>
*
clone
()
const
{
89
return
new
Advection<F>
(this->
frm_
);
90
}
91
92
virtual
void
operator()(
const
concepts::Element<Real>
& elmX,
93
const
concepts::Element<Real>
& elmY,
94
concepts::ElementMatrix<F>
& em)
const
;
95
96
protected
:
97
virtual
std::ostream&
info
(std::ostream& os)
const
;
98
private
:
100
bool
operator()(
const
Quad<Real>
* elmX,
101
const
Quad<Real>
* elmY,
102
concepts::ElementMatrix<F>
& em)
const
;
104
bool
operator()(
const
InfiniteLaguerreQuad
* elmX,
105
const
InfiniteLaguerreQuad
* elmY,
106
concepts::ElementMatrix<F>
& em)
const
;
107
};
108
109
// ********************************************************* setupAdvection **
110
134
template
<
class
F>
135
void
setupAdvection
136
(
vectorial::BilinearForm
<F,
typename
concepts::Realtype<F>::type
>& bf,
137
const
concepts::ElementFormulaContainer
<
concepts::Point<F,2>
> frm,
138
bool
transpose =
true
);
139
140
141
}
// namespace hp2D
142
143
#endif
// hp2dbf_advection_hh
bilinearFormHelper.hh
concepts::BilinearForm
Definition
bilinearForm.hh:33
concepts::ElementFormulaContainer
Definition
elementFormulaContainer.hh:22
concepts::ElementMatrix
Definition
element.hh:206
concepts::Element
Definition
element.hh:52
concepts::Point
Definition
vectorsMatrices.hh:46
hp2D::Advection
Definition
bf_advection.hh:74
hp2D::Advection::clone
virtual Advection< F > * clone() const
Definition
bf_advection.hh:88
hp2D::Advection::info
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
hp2D::InfiniteLaguerreQuad
Definition
quad.hh:451
hp2D::LinearFormHelper_1
Definition
linearFormHelper.hh:117
hp2D::LinearFormHelper_1::frm_
concepts::ElementFormulaContainer< concepts::Point< F, 2 > > frm_
ElementFormula.
Definition
linearFormHelper.hh:139
hp2D::Quad
Definition
quad.hh:271
vectorial::BilinearForm
Definition
vectorial.hh:318
arrayElementFormula.hh
concepts
Definition
pml_formula.h:16
concepts::Real
double Real
Definition
typedefs.hh:39
hp1D::Element
GenericElement< KarniadakisMixin< F > > Element
template aliases for backwards compatibility
Definition
element.hh:267
hp2D
Definition
explicitResidual.hh:120
hp2D::setupAdvection
void setupAdvection(vectorial::BilinearForm< F, typename concepts::Realtype< F >::type > &bf, const concepts::ElementFormulaContainer< concepts::Point< F, 2 > > frm, bool transpose=true)
vectorial
Definition
spaceTraits.hh:24
bilinearForm.hh
sharedJacobian.hh
typedefs.hh
Generated on Wed Sep 13 2023 21:06:20 for Concepts by
1.9.8