dune-fem  2.4.1-rc
Classes | Functions | Variables
DuneODE Namespace Reference

Classes

class  BasicImplicitRungeKuttaSolver
 Implicit RungeKutta ODE solver. More...
 
class  BasicROWRungeKuttaSolver
 ROW RungeKutta ODE solver. More...
 
class  ExplicitMultiStepSolver
 Exlicit multi step ODE solver. More...
 
class  ExplicitOdeSolver
 
class  ExplicitRungeKuttaSolver
 Exlicit RungeKutta ODE solver. More...
 
class  ExplMultiStepBase
 
class  ImplicitOdeSolver
 
class  ImplicitRungeKuttaSolver
 Implicit RungeKutta ODE solver. More...
 
struct  ImplicitRungeKuttaSolverParameters
 
class  ImplicitRungeKuttaTimeStepControl
 
class  LimiterWrapper
 
struct  NoImplicitRungeKuttaSourceTerm
 
struct  NoROWRungeKuttaSourceTerm
 
struct  ODEParameters
 
class  OdeSolverInterface
 Interface class for ODE Solver. More...
 
class  OperatorWrapper
 
class  ParDGOdeSolverBase
 
class  PIDTimeStepControl
 PID time step control. More...
 
class  ROWRungeKuttaSolver
 ROW RungeKutta ODE solver. More...
 
class  ROWSimpleButcherTable
 
struct  ROWSolverParameter
 
class  SemiImplicitOdeSolver
 
class  SemiImplicitRungeKuttaSolver
 Implicit RungeKutta ODE solver. More...
 
class  SemiImplicitRungeKuttaSourceTerm
 
class  SimpleButcherTable
 

Functions

SimpleButcherTable< double > implicit34ButcherTable ()
 
SimpleButcherTable< double > implicit3ButcherTable ()
 
SimpleButcherTable< double > implicitEulerButcherTable ()
 
SimpleButcherTable< double > gauss2ButcherTable ()
 
SimpleButcherTable< double > semiImplicitEulerButcherTable (bool expl)
 
SimpleButcherTable< double > semiImplicit23ButcherTable (bool expl)
 
SimpleButcherTable< double > semiImplicit33ButcherTable (bool expl)
 
SimpleButcherTable< double > semiImplicitSSP222ButcherTable (bool expl)
 
SimpleButcherTable< double > semiImplicitIERK45ButcherTable (bool expl)
 
ROWSimpleButcherTable< double > row2ButcherTable ()
 
ROWSimpleButcherTable< double > row3ButcherTable ()
 
SimpleButcherTable< double > semiImplicitARK34ButcherTable (bool expl)
 
SimpleButcherTable< double > semiImplicitARK46ButcherTable (bool expl)
 

Variables

static const double dirk34_alpha = 2.*std::cos(M_PI/18.)/std::sqrt(3.)
 
static const double dirk34_alpha2 = dirk34_alpha * dirk34_alpha
 
static const double DIRK34_A []
 
static const double DIRK34_b []
 
static const double DIRK34_c []
 
static const double delta_dirk = 1.0/2.0 + sqrt(3.0)/6.0
 
static const double DIRK3_A []
 
static const double DIRK3_b []
 
static const double DIRK3_c []
 
static const double ImplicitEuler_A [] = {1.0}
 
static const double ImplicitEuler_b [] = {1.0}
 
static const double ImplicitEuler_c [] = {1.0}
 
static const double Gauss2_A [] = {0.5}
 
static const double Gauss2_b [] = {1.0}
 
static const double Gauss2_c [] = {0.5}
 
static const double SIEuler_A [] = {1.0}
 
static const double SIEuler_c [] = {1.0}
 
static const double SIEuler_Aex [] = {0.0}
 
static const double SIEuler_cex [] = {0.0}
 
static const double SIEuler_b [] = {1.0}
 
static const double SIRK23_A []
 
static const double SIRK23_c []
 
static const double SIRK23_Aex []
 
static const double SIRK23_cex []
 
static const double SIRK23_b []
 
static const double SIRK33_A []
 
static const double SIRK33_c []
 
static const double SIRK33_Aex []
 
static const double SIRK33_cex []
 
static const double SIRK33_b []
 
static const double delta = 1.0 - 1.0/sqrt(2.0)
 
static const double IMEX_SSP222_A []
 
static const double IMEX_SSP222_c []
 
static const double IMEX_SSP222_Aex []
 
static const double IMEX_SSP222_cex []
 
static const double IMEX_SSP222_b []
 
static const double IERK45_Aex []
 
static const double IERK45_cex []
 
static const double IERK45_A []
 
static const double IERK45_c []
 
static const double IERK45_b []
 
static const double ROW2_A []
 
static const double ROW2_b []
 
static const double ROW2_c []
 
static const double ROW2_B []
 
static const double delta_row = 1.0/2.0 + sqrt(3.0)/6.0
 
static const double ROW3_A []
 
static const double ROW3_b []
 
static const double ROW3_c []
 
static const double ROW3_B []
 

Function Documentation

SimpleButcherTable< double > DuneODE::gauss2ButcherTable ( )
SimpleButcherTable< double > DuneODE::implicit34ButcherTable ( )
SimpleButcherTable< double > DuneODE::implicit3ButcherTable ( )
SimpleButcherTable< double > DuneODE::implicitEulerButcherTable ( )
ROWSimpleButcherTable< double > DuneODE::row2ButcherTable ( )
ROWSimpleButcherTable< double > DuneODE::row3ButcherTable ( )
SimpleButcherTable< double > DuneODE::semiImplicit23ButcherTable ( bool  expl)

References SIRK23_A, SIRK23_b, and SIRK23_c.

SimpleButcherTable< double > DuneODE::semiImplicit33ButcherTable ( bool  expl)
SimpleButcherTable< double > DuneODE::semiImplicitARK34ButcherTable ( bool  expl)
SimpleButcherTable< double > DuneODE::semiImplicitARK46ButcherTable ( bool  expl)
SimpleButcherTable< double > DuneODE::semiImplicitEulerButcherTable ( bool  expl)
SimpleButcherTable< double > DuneODE::semiImplicitIERK45ButcherTable ( bool  expl)
SimpleButcherTable< double > DuneODE::semiImplicitSSP222ButcherTable ( bool  expl)

Variable Documentation

const double DuneODE::delta = 1.0 - 1.0/sqrt(2.0)
static
const double DuneODE::delta_dirk = 1.0/2.0 + sqrt(3.0)/6.0
static
const double DuneODE::delta_row = 1.0/2.0 + sqrt(3.0)/6.0
static

Referenced by row3ButcherTable().

const double DuneODE::DIRK34_A[]
static
Initial value:
=
{(1.+dirk34_alpha)*0.5, 0., 0.,
-0.5*dirk34_alpha, (1.+dirk34_alpha)*0.5, 0.,
1+dirk34_alpha, -(1+2*dirk34_alpha), (1.+dirk34_alpha)*0.5}
static const double dirk34_alpha
Definition: butchertable.cc:12

Referenced by implicit34ButcherTable().

const double DuneODE::dirk34_alpha = 2.*std::cos(M_PI/18.)/std::sqrt(3.)
static
const double DuneODE::dirk34_alpha2 = dirk34_alpha * dirk34_alpha
static
const double DuneODE::DIRK34_b[]
static
Initial value:
=
{1./(6.*dirk34_alpha2), 1.-1./(3.*dirk34_alpha2),
1./(6.*dirk34_alpha2)}
static const double dirk34_alpha2
Definition: butchertable.cc:13

Referenced by implicit34ButcherTable().

const double DuneODE::DIRK34_c[]
static
Initial value:
=
{(1.+dirk34_alpha)*0.5, 0.5, (1.-dirk34_alpha)*0.5}
static const double dirk34_alpha
Definition: butchertable.cc:12

Referenced by implicit34ButcherTable().

const double DuneODE::DIRK3_A[]
static
Initial value:
=
{delta_dirk, 0.0,
}
static const double delta_dirk
Definition: butchertable.cc:34

Referenced by implicit3ButcherTable().

const double DuneODE::DIRK3_b[]
static
Initial value:
=
{(0.5-delta_dirk)/(1.0-2.0*delta_dirk), (0.5-delta_dirk)/(1.0-2.0*delta_dirk)}
static const double delta_dirk
Definition: butchertable.cc:34

Referenced by implicit3ButcherTable().

const double DuneODE::DIRK3_c[]
static
Initial value:
=
static const double delta_dirk
Definition: butchertable.cc:34

Referenced by implicit3ButcherTable().

const double DuneODE::Gauss2_A[] = {0.5}
static

Referenced by gauss2ButcherTable().

const double DuneODE::Gauss2_b[] = {1.0}
static

Referenced by gauss2ButcherTable().

const double DuneODE::Gauss2_c[] = {0.5}
static

Referenced by gauss2ButcherTable().

const double DuneODE::IERK45_A[]
static
Initial value:
=
{
0.25, 0.0, 0.0, 0.0, 0.0,
0.34114705729739, 0.25, 0.0, 0.0, 0.0,
0.80458720789763, -0.07095262154540, 0.25, 0.0, 0.0,
-0.52932607329103, 1.15137638494253, -0.80248263237803, 0.25, 0.0,
0.11933093090075, 0.55125531344927, -0.1216872844994, 0.20110104014943, 0.25
}

Referenced by semiImplicitIERK45ButcherTable().

const double DuneODE::IERK45_Aex[]
static
Initial value:
=
{
0.0, 0.0, 0.0, 0.0, 0.0,
0.39098372452428, 0.0, 0.0, 0.0, 0.0,
1.09436646160460, 0.33181504274704, 0.0, 0.0, 0.0,
0.14631668003312, 0.69488738277516, 0.46893381306619, 0.0, 0.0,
-1.33389883143642, 2.90509214801204, -1.06511748457024, 0.27210900509137, 0.0
}
const double DuneODE::IERK45_b[]
static
Initial value:
=
{ IERK45_A[20] , IERK45_A[21], IERK45_A[22], IERK45_A[23] , IERK45_A[24] }
static const double IERK45_A[]
Definition: butchertable.cc:305

Referenced by semiImplicitIERK45ButcherTable().

const double DuneODE::IERK45_c[]
static
Initial value:
=
{
0.25, 0.34114705729739 + 0.25, 0.80458720789763 -0.07095262154540 + 0.25,
-0.52932607329103 + 1.15137638494253 -0.80248263237803+ 0.25,
0.11933093090075 + 0.55125531344927 -0.1216872844994 + 0.20110104014943 + 0.25
}

Referenced by semiImplicitIERK45ButcherTable().

const double DuneODE::IERK45_cex[]
static
Initial value:
=
{ 0.0, 0.39098372452428, IERK45_Aex[ 10 ] + IERK45_Aex[ 11 ],
IERK45_Aex[ 15 ] + IERK45_Aex[ 16 ] + IERK45_Aex[ 17 ],
IERK45_Aex[ 20 ] + IERK45_Aex[ 21 ] + IERK45_Aex[ 22 ] + IERK45_Aex[ 23 ]
}
static const double IERK45_Aex[]
Definition: butchertable.cc:290
const double DuneODE::IMEX_SSP222_A[]
static
Initial value:
=
{delta, 0.0,
1.0-2.0*delta, delta
}
static const double delta
Definition: butchertable.cc:171

Referenced by semiImplicitSSP222ButcherTable().

const double DuneODE::IMEX_SSP222_Aex[]
static
Initial value:
=
{0.0, 0.0,
1.0, 0.0
}
const double DuneODE::IMEX_SSP222_b[]
static
Initial value:
=
{0.5, 0.5}

Referenced by semiImplicitSSP222ButcherTable().

const double DuneODE::IMEX_SSP222_c[]
static
Initial value:
=
{delta, 1.0-delta}
static const double delta
Definition: butchertable.cc:171

Referenced by semiImplicitSSP222ButcherTable().

const double DuneODE::IMEX_SSP222_cex[]
static
Initial value:
=
{0.0, 1.0}
const double DuneODE::ImplicitEuler_A[] = {1.0}
static
const double DuneODE::ImplicitEuler_b[] = {1.0}
static
const double DuneODE::ImplicitEuler_c[] = {1.0}
static
const double DuneODE::ROW2_A[]
static
Initial value:
=
{0.5}

Referenced by row2ButcherTable().

const double DuneODE::ROW2_b[]
static
Initial value:
=
{1.}

Referenced by row2ButcherTable().

const double DuneODE::ROW2_B[]
static
Initial value:
=
{0.0}

Referenced by row2ButcherTable().

const double DuneODE::ROW2_c[]
static
Initial value:
=
{0.}

Referenced by row2ButcherTable().

const double DuneODE::ROW3_A[]
static
Initial value:
=
{delta_row, 0.0,
}
static const double delta_row
Definition: butchertable.cc:348

Referenced by row3ButcherTable().

const double DuneODE::ROW3_b[]
static
Initial value:
=
{1./4.,3./4.}

Referenced by row3ButcherTable().

const double DuneODE::ROW3_B[]
static
Initial value:
=
{0.0, 0.0,
2./3., 0.0
}

Referenced by row3ButcherTable().

const double DuneODE::ROW3_c[]
static
Initial value:
=
{0,2./3.}

Referenced by row3ButcherTable().

const double DuneODE::SIEuler_A[] = {1.0}
static
const double DuneODE::SIEuler_Aex[] = {0.0}
static
const double DuneODE::SIEuler_b[] = {1.0}
static
const double DuneODE::SIEuler_c[] = {1.0}
static
const double DuneODE::SIEuler_cex[] = {0.0}
static
const double DuneODE::SIRK23_A[]
static
Initial value:
=
{0.5, 0.0, 0.0,
-1.0, 0.5, 0.0,
0.25, 0.25, 0.5
}

Referenced by semiImplicit23ButcherTable().

const double DuneODE::SIRK23_Aex[]
static
Initial value:
=
{0.0, 0.0, 0.0,
1.0, 0.0, 0.0,
0.0, 0.5, 0.0
}
const double DuneODE::SIRK23_b[]
static
Initial value:
=
{0.25, 0.25, 0.5}

Referenced by semiImplicit23ButcherTable().

const double DuneODE::SIRK23_c[]
static
Initial value:
=
{0.5, -0.5, 1.0}

Referenced by semiImplicit23ButcherTable().

const double DuneODE::SIRK23_cex[]
static
Initial value:
=
{0.0, 1.0, 0.5}
const double DuneODE::SIRK33_A[]
static
Initial value:
=
{3.0/4.0, 0.0, 0.0,
5589.0/6524.0, 75.0/233.0, 0.0,
7691.0/26096.0, -26335.0/78288.0, 65.0/168.0
}

Referenced by semiImplicit33ButcherTable().

const double DuneODE::SIRK33_Aex[]
static
Initial value:
=
{0.0, 0.0, 0.0,
8.0/7.0, 0.0, 0.0,
71.0/252.0, 7.0/36.0, 0.0
}
const double DuneODE::SIRK33_b[]
static
Initial value:
=
{1.0/8.0, 1.0/8.0, 3.0/4.0}

Referenced by semiImplicit33ButcherTable().

const double DuneODE::SIRK33_c[]
static
Initial value:
=
{3.0/4.0,
5589.0/6524.0 + 75.0/233.0,
7691.0/26096.0 - 26335.0/78288.0 + 65.0/168.0
}

Referenced by semiImplicit33ButcherTable().

const double DuneODE::SIRK33_cex[]
static
Initial value:
=
{0.0, 8.0/7.0, 71.0/252.0 + 7.0/36.0}