dune-fem
2.4.1-rc
|
ROW RungeKutta ODE solver. More...
#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/solver/rungekutta/basicrow.hh>
Public Types | |
typedef BaseType::MonitorType | MonitorType |
typedef BaseType::DestinationType | DestinationType |
typedef HelmholtzOperator | HelmholtzOperatorType |
typedef NonlinearSolver | NonlinearSolverType |
typedef TimeStepControl | TimeStepControlType |
typedef SourceTerm | SourceTermType |
typedef ROWSolverParameter | ParametersType |
typedef NonlinearSolver::ParametersType | NonlinearSolverParametersType |
typedef HelmholtzOperator::SpaceOperatorType::PreconditionOperatorType | PreconditionOperatorType |
typedef Dune::Fem::TimeProviderBase | TimeProviderType |
Public Member Functions | |
template<class ButcherTable > | |
BasicROWRungeKuttaSolver (HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, const ButcherTable &butcherTable, const TimeStepControlType &timeStepControl, const SourceTermType &sourceTerm, const ParametersType ¶meter, const NonlinearSolverParametersType &nlsParam) | |
constructor More... | |
template<class ButcherTable > | |
BasicROWRungeKuttaSolver (HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, const ButcherTable &butcherTable, const TimeStepControlType &timeStepControl, const SourceTermType &sourceTerm, const Dune::Fem::ParameterReader ¶meter=Dune::Fem::Parameter::container()) | |
template<class ButcherTable > | |
BasicROWRungeKuttaSolver (HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, const ButcherTable &butcherTable, const TimeStepControlType &timeStepControl, const ParametersType ¶meter, const NonlinearSolverParametersType &nlsParam) | |
constructor More... | |
template<class ButcherTable > | |
BasicROWRungeKuttaSolver (HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, const ButcherTable &butcherTable, const TimeStepControlType &timeStepControl, const Dune::Fem::ParameterReader ¶meter=Dune::Fem::Parameter::container()) | |
template<class ButcherTable > | |
BasicROWRungeKuttaSolver (HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, const ButcherTable &butcherTable, const ParametersType ¶meter, const NonlinearSolverParametersType &nlsParam) | |
constructor More... | |
template<class ButcherTable > | |
BasicROWRungeKuttaSolver (HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, const ButcherTable &butcherTable, const Dune::Fem::ParameterReader ¶meter=Dune::Fem::Parameter::container()) | |
template<class ButcherTable > | |
void | setup (const ButcherTable &butcherTable) |
~BasicROWRungeKuttaSolver () | |
destructor More... | |
void | initialize (const DestinationType &U0) |
apply operator once to get dt estimate More... | |
void | solve (DestinationType &U, MonitorType &monitor) |
solve the system More... | |
int | stages () const |
void | description (std::ostream &out) const |
print description of ODE solver to out stream More... | |
virtual void | initialize (const DestinationType &arg)=0 |
initialize solver More... | |
virtual void | solve (DestinationType &u) |
solve ![]() ![]() | |
virtual void | solve (DestinationType &u, MonitorType &monitor)=0 |
solve ![]() ![]() | |
Protected Member Functions | |
double | infNorm (const DestinationType &U, const DestinationType &Uerr) const |
Protected Attributes | |
HelmholtzOperatorType & | helmholtzOp_ |
NonlinearSolverType | nonlinearSolver_ |
TimeStepControl | timeStepControl_ |
SourceTerm | sourceTerm_ |
int | stages_ |
double | delta_ |
Dune::DynamicMatrix< double > | alpha_ |
Dune::DynamicMatrix< double > | alpha2_ |
Dune::DynamicVector< double > | gamma_ |
Dune::DynamicVector< double > | beta_ |
Dune::DynamicVector< double > | c_ |
DestinationType | rhs_ |
DestinationType | temp_ |
std::vector< DestinationType * > | update_ |
const double | linAbsTol_ |
const double | linReduction_ |
const bool | linVerbose_ |
const int | maxLinearIterations_ |
const PreconditionOperatorType * | preconditioner_ |
ROW RungeKutta ODE solver.
typedef BaseType::DestinationType DuneODE::BasicROWRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl, SourceTerm >::DestinationType |
typedef HelmholtzOperator DuneODE::BasicROWRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl, SourceTerm >::HelmholtzOperatorType |
typedef BaseType::MonitorType DuneODE::BasicROWRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl, SourceTerm >::MonitorType |
typedef NonlinearSolver::ParametersType DuneODE::BasicROWRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl, SourceTerm >::NonlinearSolverParametersType |
typedef NonlinearSolver DuneODE::BasicROWRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl, SourceTerm >::NonlinearSolverType |
typedef ROWSolverParameter DuneODE::BasicROWRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl, SourceTerm >::ParametersType |
typedef HelmholtzOperator::SpaceOperatorType::PreconditionOperatorType DuneODE::BasicROWRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl, SourceTerm >::PreconditionOperatorType |
typedef SourceTerm DuneODE::BasicROWRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl, SourceTerm >::SourceTermType |
typedef Dune::Fem::TimeProviderBase DuneODE::BasicROWRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl, SourceTerm >::TimeProviderType |
typedef TimeStepControl DuneODE::BasicROWRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl, SourceTerm >::TimeStepControlType |
|
inline |
constructor
[in] | helmholtzOp | Helmholtz operator ![]() |
[in] | butcherTable | butcher table to use |
[in] | timeStepControl | time step controller |
[in] | sourceTerm | additional source term |
|
inline |
|
inline |
constructor
[in] | helmholtzOp | Helmholtz operator ![]() |
[in] | butcherTable | butcher table to use |
[in] | timeStepControl | time step controller |
|
inline |
|
inline |
constructor
[in] | helmholtzOp | Helmholtz operator ![]() |
[in] | butcherTable | butcher table to use |
|
inline |
|
inline |
destructor
|
inlinevirtual |
print description of ODE solver to out stream
Implements DuneODE::OdeSolverInterface< HelmholtzOperator::DomainFunctionType >.
|
inlineprotected |
|
pure virtualinherited |
initialize solver
[in] | arg | argument to apply internal operator once for intial time step estimate |
Implemented in DuneODE::BasicROWRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl >, DuneODE::BasicImplicitRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl >, and DuneODE::BasicImplicitRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, ImplicitRungeKuttaTimeStepControl, SemiImplicitRungeKuttaSourceTerm< ExplicitOperator > >.
|
inline |
apply operator once to get dt estimate
|
inline |
|
inlinevirtualinherited |
solve where
is the internal operator.
[in] | u | unknown to solve for |
References DuneODE::OdeSolverInterface< DestinationImp >::description(), and DuneODE::OdeSolverInterface< DestinationImp >::solve().
|
pure virtualinherited |
solve where
is the internal operator.
[in] | u | unknown to solve for |
[in] | monitor | Monitor to get some inside information |
Implemented in DuneODE::BasicROWRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl >, DuneODE::BasicImplicitRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl >, and DuneODE::BasicImplicitRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, ImplicitRungeKuttaTimeStepControl, SemiImplicitRungeKuttaSourceTerm< ExplicitOperator > >.
|
inline |
solve the system
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |