Rheolef
7.2
an efficient C++ finite element environment
Loading...
Searching...
No Matches
runge_kutta_semiimplicit.icc
Go to the documentation of this file.
1
25
namespace
rk
{
26
// see WanShuZha-2015 page 212
27
constexpr
size_t
pmax
= 3;
28
const
Float
_g2
= 1 - 1/sqrt(
Float
(2));
29
const
Float
_d2
= 1 - 1/(2*
_g2
);
30
const
Float
_g3
= 0.435866521508459;
31
const
Float
_b31
= -3*(
_g3
*
_g3
)/2 + 4*
_g3
- 1./4;
32
const
Float
_b32
= 3*(
_g3
*
_g3
)/2 - 5*
_g3
+ 5./4;
33
const
Float
_a31
= -0.356;
34
const
Float
_a32
= (1/
Float
(3) - 2*(
_g3
*
_g3
) - 2*
_b32
*
_a31
*
_g3
)/(
_g3
*(1-
_g3
));
35
Float
alpha
[][
pmax
+1][
pmax
+1]
36
= { {},
37
{ {0},
38
{0, 1} },
39
{ {0},
40
{0,
_g2
},
41
{0, 1-
_g2
,
_g2
} },
42
{ {0},
43
{0,
_g3
},
44
{0, (1-
_g3
)/2,
_g3
},
45
{0,
_b31
,
_b32
,
_g3
} } };
46
47
Float
tilde_alpha
[][
pmax
+1][
pmax
+1]
48
= { {},
49
{ {},
50
{1} },
51
{ {},
52
{
_g2
},
53
{
_d2
, 1-
_d2
} },
54
{ {},
55
{
_g3
},
56
{(1+
_g3
)/2 -
_a31
,
_a31
},
57
{0, 1-
_a32
,
_a32
} } };
58
59
Float
beta
[][
pmax
+1]
60
= { {},
61
{0, 1},
62
{0, 1-
_g2
,
_g2
},
63
{0,
_b31
,
_b32
,
_g3
} };
64
Float
tilde_beta
[][
pmax
+1]
65
= { {},
66
{1},
67
{
_d2
, 1-
_d2
, 0},
68
{0,
_b31
,
_b32
,
_g3
} };
69
Float
gamma
[][
pmax
+1]
70
= { {},
71
{0, 1},
72
{0,
_g2
, 1},
73
{0,
_g3
, (1+
_g3
)/2, 1} };
74
}
// namespace rk
Float
see the Float page for the full documentation
rk
Definition
runge_kutta_semiimplicit.icc:25
rk::_b32
const Float _b32
Definition
runge_kutta_semiimplicit.icc:32
rk::tilde_alpha
Float tilde_alpha[][pmax+1][pmax+1]
Definition
runge_kutta_semiimplicit.icc:48
rk::_d2
const Float _d2
Definition
runge_kutta_semiimplicit.icc:29
rk::_g3
const Float _g3
Definition
runge_kutta_semiimplicit.icc:30
rk::_a31
const Float _a31
Definition
runge_kutta_semiimplicit.icc:33
rk::tilde_beta
Float tilde_beta[][pmax+1]
Definition
runge_kutta_semiimplicit.icc:65
rk::_b31
const Float _b31
Definition
runge_kutta_semiimplicit.icc:31
rk::gamma
Float gamma[][pmax+1]
Definition
runge_kutta_semiimplicit.icc:70
rk::beta
Float beta[][pmax+1]
Definition
runge_kutta_semiimplicit.icc:60
rk::alpha
Float alpha[][pmax+1][pmax+1]
Definition
runge_kutta_semiimplicit.icc:36
rk::_a32
const Float _a32
Definition
runge_kutta_semiimplicit.icc:34
rk::pmax
constexpr size_t pmax
Definition
runge_kutta_semiimplicit.icc:27
rk::_g2
const Float _g2
Definition
runge_kutta_semiimplicit.icc:28