1 #ifndef DEF_RKMK_FACTORY 2 #define DEF_RKMK_FACTORY 23 template <
typename T_LIE_ALGEBRA,
typename T_M =
double>
32 if (s==
"Explicit Euler") {
35 std::vector<double> va(a,a+
sizeof(a)/
sizeof(
double));
36 std::vector<double> vb(b,b+
sizeof(b)/
sizeof(
double));
39 integrator->setCoeffs(va,vb);
41 else if (s==
"Implicit Euler") {
44 std::vector<double> va(a,a+
sizeof(a)/
sizeof(
double));
45 std::vector<double> vb(b,b+
sizeof(b)/
sizeof(
double));
48 integrator->setCoeffs(va,vb);
50 else if (s==
"Midpoint") {
53 std::vector<double> va(a,a+
sizeof(a)/
sizeof(
double));
54 std::vector<double> vb(b,b+
sizeof(b)/
sizeof(
double));
57 integrator->setCoeffs(va,vb);
60 double a[] = { 0.0,0.0,0.0,0.0, 0.5,0.0,0.0,0.0, 0.0,0.5,0.0,0.0, 0.0,0.0,1.0,0.0 };
61 double b[] = { 1.0/6.0,2.0/6.0,2.0/6.0,1.0/6.0 };
62 std::vector<double> va(a,a+
sizeof(a)/
sizeof(
double));
63 std::vector<double> vb(b,b+
sizeof(b)/
sizeof(
double));
66 integrator->setCoeffs(va,vb);
Definition: Abstract_Problem.hpp:10
Definition: Abstract_Integrator.hpp:51
Definition: Abstract_Integrator.hpp:4
Definition: Abstract_Integrator.hpp:11
Definition: DiagonalStep.hpp:25
Definition: Factory.hpp:24
Definition: ExplicitStep.hpp:15