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"
26struct 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; }
39protected:
41 Float t, a, b, c;
42};
43using u_init = harten;
44using g = harten;
see the Float page for the full documentation
see the point page for the full documentation
check_macro(expr1.have_homogeneous_space(Xh1), "dual(expr1,expr2); expr1 should have homogeneous space. HINT: use dual(interpolate(Xh, expr1),expr2)")
The Burgers problem: the Harten exact solution at t=0.
Definition cavity_dg.h:25
Float b
Definition harten.h:41
Float min() const
Definition harten.h:37
Float a
Definition harten.h:41
Float c
Definition harten.h:41
Float t
Definition harten.h:41
Float max() const
Definition harten.h:38
harten(Float t1=0, Float a1=1, Float b1=0.5, Float c1=0)
Definition harten.h:34
Float M() const
Definition harten.h:36
harten0 h0
Definition harten.h:40
Float operator()(const point &x) const
Definition harten.h:27