Rheolef
7.2
an efficient C++ finite element environment
Loading...
Searching...
No Matches
harten.h
Go to the documentation of this file.
1
25
#include "
harten0.h
"
26
struct
harten
{
27
Float
operator()
(
const
point
& x)
const
{
28
Float
x0 = x[0]-
a
*
t
+
c
;
29
Float
shift = -2*floor((x0+1)/2);
30
Float
xs = x0 + shift;
31
check_macro
(xs >= -1 && xs <= 1,
"invalid xs="
<<xs);
32
return
a
+
b
*
h0
(
point
(xs));
33
}
34
harten
(
Float
t1=0,
Float
a1=1,
Float
b1=0.5,
Float
c1=0):
35
h0
(b1*t1),
t
(t1),
a
(a1),
b
(b1),
c
(c1) {}
36
Float
M
()
const
{
Float
pi = acos(-1.0);
return
sqr(pi)*
b
; }
37
Float
min
()
const
{
return
a
-
b
; }
38
Float
max
()
const
{
return
a
+
b
; }
39
protected
:
40
harten0
h0
;
41
Float
t
,
a
,
b
,
c
;
42
};
43
using
u_init
=
harten
;
44
using
g
=
harten
;
Float
see the Float page for the full documentation
point
see the point page for the full documentation
check_macro
check_macro(expr1.have_homogeneous_space(Xh1), "dual(expr1,expr2); expr1 should have homogeneous space. HINT: use dual(interpolate(Xh, expr1),expr2)")
harten0.h
The Burgers problem: the Harten exact solution at t=0.
g
Definition
cavity_dg.h:25
harten0
Definition
harten0.h:26
harten
Definition
harten.h:26
harten::b
Float b
Definition
harten.h:41
harten::min
Float min() const
Definition
harten.h:37
harten::a
Float a
Definition
harten.h:41
harten::c
Float c
Definition
harten.h:41
harten::t
Float t
Definition
harten.h:41
harten::max
Float max() const
Definition
harten.h:38
harten::harten
harten(Float t1=0, Float a1=1, Float b1=0.5, Float c1=0)
Definition
harten.h:34
harten::M
Float M() const
Definition
harten.h:36
harten::h0
harten0 h0
Definition
harten.h:40
harten::operator()
Float operator()(const point &x) const
Definition
harten.h:27
u_exact
Definition
interpolate_RTk_polynom.icc:125