1#ifndef DUNE_FEM_SOLVER_RUNGEKUTTA_BUTCHERTABLE_HH
2#define DUNE_FEM_SOLVER_RUNGEKUTTA_BUTCHERTABLE_HH
15 template<
class Field >
16 class SimpleButcherTable
18 typedef SimpleButcherTable< Field > This;
21 typedef Field FieldType;
23 SimpleButcherTable (
int stages,
int order,
const FieldType *a,
const FieldType *b,
const FieldType *c )
24 : stages_( stages ), order_( order ),
25 a_( a ), b_( b ), c_( c )
32 int order ()
const {
return order_; }
33 int stages ()
const {
return stages_; }
39 for(
int i = 0; i < m; ++i )
40 std::copy( data + i*n, data + (i+1)*n, A[ i ].begin() );
47 std::copy( data, data + n, v.begin() );
52 const FieldType *a_, *b_, *c_;
59 SimpleButcherTable< double > explicitEulerButcherTable ();
60 SimpleButcherTable< double > tvd2ButcherTable ();
61 SimpleButcherTable< double > tvd3ButcherTable ();
62 SimpleButcherTable< double > rk4ButcherTable ();
63 SimpleButcherTable< double > expl6ButcherTable ();
68 SimpleButcherTable< double > implicit34ButcherTable ();
69 SimpleButcherTable< double > implicit3ButcherTable ();
70 SimpleButcherTable< double > implicitEulerButcherTable ();
71 SimpleButcherTable< double > gauss2ButcherTable ();
78 SimpleButcherTable< double > semiImplicitEulerButcherTable (
bool expl );
79 SimpleButcherTable< double > semiImplicit23ButcherTable (
bool expl );
80 SimpleButcherTable< double > semiImplicit33ButcherTable (
bool expl );
81 SimpleButcherTable< double > semiImplicitSSP222ButcherTable (
bool expl );
82 SimpleButcherTable< double > semiImplicitARK34ButcherTable (
bool expl );
83 SimpleButcherTable< double > semiImplicitARK46ButcherTable (
bool expl );
84 SimpleButcherTable< double > semiImplicitIERK45ButcherTable (
bool expl );
89 template<
class Field >
90 class ROWSimpleButcherTable :
public SimpleButcherTable<Field>
92 typedef ROWSimpleButcherTable< Field > This;
93 typedef SimpleButcherTable< Field > Base;
96 typedef Field FieldType;
98 ROWSimpleButcherTable (
int stages,
int order,
const FieldType *a,
const FieldType *b,
const FieldType *c,
const FieldType *a2 )
99 : Base(stages,order,a,b,c)
107 const FieldType *a2_;
109 ROWSimpleButcherTable< double > row2ButcherTable ();
110 ROWSimpleButcherTable< double > row3ButcherTable ();
Construct a matrix with a dynamic size.
Definition: dynmatrix.hh:61
Construct a vector with a dynamic size.
Definition: dynvector.hh:59
This file implements a dense matrix with dynamic numbers of rows and columns.
This file implements a dense vector with a dynamic size.