dune-fem 2.12-git
Loading...
Searching...
No Matches
row.hh
Go to the documentation of this file.
1#ifndef DUNE_FEM_SOLVER_RUNGEKUTTA_ROW_HH
2#define DUNE_FEM_SOLVER_RUNGEKUTTA_ROW_HH
3
4//- system includes
5#include <sstream>
6#include <vector>
7
8//- dune-common includes
10
11//- dune-fem includes
16
17namespace DuneODE
18{
19
20 // ROWRungeKuttaSolver
21 // ------------------------
22
24 template< class HelmholtzOperator, class NonlinearSolver, class TimeStepControl = ImplicitRungeKuttaTimeStepControl >
26 : public BasicROWRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl >
27 {
30
31 public:
34
35 typedef typename TimeStepControlType::TimeProviderType TimeProviderType;
36 typedef typename TimeStepControlType::ParameterType TimeStepControlParameterType;
39
54
61
75
82
83 protected:
85 {
86 switch( order )
87 {
88 case 2:
89 return row2ButcherTable();
90 case 3:
91 return row3ButcherTable();
92 default:
93 DUNE_THROW( NotImplemented, "ROW Runge-Kutta method of order " << order << " not implemented." );
94 }
95 }
96 };
97
98} // namespace DuneODE
99
100#endif // #ifndef DUNE_FEM_SOLVER_RUNGEKUTTA_ROW_HH
#define DUNE_THROW(E,...)
Definition multistep.hh:17
ROWSimpleButcherTable< double > row3ButcherTable()
Definition butchertable.cc:371
ROWSimpleButcherTable< double > row2ButcherTable()
Definition butchertable.cc:350
static ParameterContainer & container()
Definition io/parameter.hh:199
ROW RungeKutta ODE solver.
Definition basicrow.hh:56
TimeStepControl TimeStepControlType
Definition basicrow.hh:66
NonlinearSolver::ParameterType NonlinearSolverParameterType
Definition basicrow.hh:69
int order() const
return order of RK solver (-1 if not implemented)
Definition basicrow.hh:304
Definition butchertable.hh:91
ROW RungeKutta ODE solver.
Definition row.hh:27
TimeStepControlType::TimeProviderType TimeProviderType
Definition row.hh:35
HelmholtzOperator HelmholtzOperatorType
Definition row.hh:32
NonlinearSolverParameterType ParameterType
Definition row.hh:38
TimeStepControlType::ParameterType TimeStepControlParameterType
Definition row.hh:36
ROWRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, const TimeStepControlParameterType &tscParam, const NonlinearSolverParameterType &parameter)
constructor
Definition row.hh:69
static ROWSimpleButcherTable< double > butcherTable(int order)
Definition row.hh:84
ROWRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, int order, const TimeStepControlParameterType &tscParam, const NonlinearSolverParameterType &parameter)
constructor
Definition row.hh:48
BaseType::NonlinearSolverParameterType NonlinearSolverParameterType
Definition row.hh:37
ROWRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, const Dune::Fem::ParameterReader &parameter=Dune::Fem::Parameter::container())
Definition row.hh:76
ROWRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, int order, const Dune::Fem::ParameterReader &parameter=Dune::Fem::Parameter::container())
Definition row.hh:55
BaseType::TimeStepControlType TimeStepControlType
Definition row.hh:33
T forward(T... args)