1 #ifndef DUNE_FEM_SOLVER_RUNGEKUTTA_IMPLICIT_HH 2 #define DUNE_FEM_SOLVER_RUNGEKUTTA_IMPLICIT_HH 9 #include <dune/common/exceptions.hh> 23 template<
class HelmholtzOperator,
class NonlinearSolver,
class TimeStepControl = ImplicitRungeKuttaTimeStepControl >
47 TimeProviderType &timeProvider,
49 const ParametersType& tscParam,
50 const NonlinearSolverParametersType& nlsParam )
51 : BaseType( helmholtzOp,
53 TimeStepControlType( timeProvider, tscParam ),
58 TimeProviderType &timeProvider,
61 : BaseType( helmholtzOp,
62 butcherTable( ParametersType( parameter ).selectedSolver( order ) ),
63 TimeStepControlType( timeProvider, ParametersType( parameter ) ),
64 NonlinearSolverParametersType( parameter ) )
75 TimeProviderType &timeProvider,
78 : BaseType( helmholtzOp,
80 TimeStepControlType( timeProvider, tscParam ),
85 TimeProviderType &timeProvider,
87 : BaseType( helmholtzOp,
88 butcherTable( ParametersType( parameter ).selectedSolver( 1 ) ),
89 TimeStepControlType( timeProvider, ParametersType( parameter ) ),
90 NonlinearSolverParametersType( parameter ) )
107 DUNE_THROW( NotImplemented,
"Implicit Runge-Kutta method with id " << solverId <<
" not implemented." );
114 #endif // #ifndef DUNE_FEM_SOLVER_RUNGEKUTTA_IMPLICIT_HH static SimpleButcherTable< double > butcherTable(const int solverId)
Definition: implicit.hh:94
ImplicitRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, const ParametersType &tscParam=ParametersType(), const NonlinearSolverParametersType &nlsParam=NonlinearSolverParametersType())
constructor
Definition: implicit.hh:74
BaseType::ParametersType ParametersType
Definition: implicit.hh:35
BaseType::TimeStepControlType TimeStepControlType
Definition: implicit.hh:32
Implicit RungeKutta ODE solver.
Definition: implicit.hh:24
Definition: butchertable.hh:15
NonlinearSolver::ParametersType NonlinearSolverParametersType
Definition: basicimplicit.hh:70
ImplicitRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, const Dune::Fem::ParameterReader ¶meter=Dune::Fem::Parameter::container())
Definition: implicit.hh:84
SimpleButcherTable< double > implicitEulerButcherTable()
Definition: butchertable.cc:58
TimeStepControl TimeStepControlType
Definition: basicimplicit.hh:64
Implicit RungeKutta ODE solver.
Definition: basicimplicit.hh:52
Definition: multistep.hh:16
ImplicitRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, int order, const Dune::Fem::ParameterReader ¶meter=Dune::Fem::Parameter::container())
Definition: implicit.hh:57
SimpleButcherTable< double > gauss2ButcherTable()
Definition: butchertable.cc:73
SimpleButcherTable< double > implicit3ButcherTable()
Definition: butchertable.cc:44
HelmholtzOperator HelmholtzOperatorType
Definition: implicit.hh:31
static ParameterContainer & container()
Definition: io/parameter.hh:190
TimeStepControlType::TimeProviderType TimeProviderType
Definition: implicit.hh:34
SimpleButcherTable< double > implicit34ButcherTable()
Definition: butchertable.cc:24
BaseType::NonlinearSolverParametersType NonlinearSolverParametersType
Definition: implicit.hh:36
TimeStepControlType::ParametersType ParametersType
Definition: basicimplicit.hh:69
ImplicitRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, int order, const ParametersType &tscParam, const NonlinearSolverParametersType &nlsParam)
constructor
Definition: implicit.hh:46