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.