dune-fem 2.12-git
Loading...
Searching...
No Matches
DuneODE::ExplicitRungeKuttaSolver< DestinationImp > Class Template Reference

Exlicit RungeKutta ODE solver. More...

#include <dune/fem/solver/rungekutta/explicit.hh>

Inheritance diagram for DuneODE::ExplicitRungeKuttaSolver< DestinationImp >:
Inheritance graph

Public Types

typedef DestinationImp DestinationType
 
typedef SpaceOperatorInterface< DestinationImpOperatorType
 
typedef DestinationType::DiscreteFunctionSpaceType SpaceType
 
typedef OdeSolverInterface< DestinationImp >::MonitorType MonitorType
 

Public Member Functions

 ExplicitRungeKuttaSolver (OperatorType &op, TimeProviderBase &tp, const SimpleButcherTable< double > &butcherTable, bool verbose)
 constructor
 
 ExplicitRungeKuttaSolver (OperatorType &op, TimeProviderBase &tp, const int pord, bool verbose)
 constructor
 
 ExplicitRungeKuttaSolver (OperatorType &op, TimeProviderBase &tp, const int pord, const Dune::Fem::ParameterReader &parameter=Dune::Fem::Parameter::container())
 
void initialize (const DestinationType &U0)
 apply operator once to get dt estimate
 
void solve (DestinationType &U0, MonitorType &monitor)
 solve the system
 
void description (std::ostream &out) const
 print description of ODE solver to out stream
 
int stages () const
 return stages of RK solver
 
int order () const
 return order of RK solver
 
virtual void solve (DestinationType &u)
 solve \(\partial_t u = L(u)\) where \(L\) is the internal operator.
 

Protected Member Functions

SimpleButcherTable< doubledefaultButcherTables (const int order) const
 

Protected Attributes

Dune::DynamicMatrix< doubleA_
 
Dune::DynamicVector< doubleb_
 
Dune::DynamicVector< doublec_
 
std::vector< std::unique_ptr< DestinationType > > Upd
 
OperatorTypeop_
 
TimeProviderBasetp_
 
const int ord_
 
const int stages_
 
bool initialized_
 

Detailed Description

template<class DestinationImp>
class DuneODE::ExplicitRungeKuttaSolver< DestinationImp >

Exlicit RungeKutta ODE solver.

Member Typedef Documentation

◆ DestinationType

◆ MonitorType

◆ OperatorType

◆ SpaceType

template<class DestinationImp >
typedef DestinationType::DiscreteFunctionSpaceType DuneODE::ExplicitRungeKuttaSolver< DestinationImp >::SpaceType

Constructor & Destructor Documentation

◆ ExplicitRungeKuttaSolver() [1/3]

template<class DestinationImp >
DuneODE::ExplicitRungeKuttaSolver< DestinationImp >::ExplicitRungeKuttaSolver ( OperatorType op,
TimeProviderBase tp,
const SimpleButcherTable< double > &  butcherTable,
bool  verbose 
)
inline

constructor

Parameters
[in]opOperator \(L\)
[in]tpTimeProvider
[in]btButcher table defining the Runge-Kutta scheme
[in]verboseverbosity

◆ ExplicitRungeKuttaSolver() [2/3]

template<class DestinationImp >
DuneODE::ExplicitRungeKuttaSolver< DestinationImp >::ExplicitRungeKuttaSolver ( OperatorType op,
TimeProviderBase tp,
const int  pord,
bool  verbose 
)
inline

constructor

Parameters
[in]opOperator \(L\)
[in]tpTimeProvider
[in]pordpolynomial order
[in]verboseverbosity

◆ ExplicitRungeKuttaSolver() [3/3]

Member Function Documentation

◆ defaultButcherTables()

template<class DestinationImp >
SimpleButcherTable< double > DuneODE::ExplicitRungeKuttaSolver< DestinationImp >::defaultButcherTables ( const int  order) const
inlineprotected

◆ description()

template<class DestinationImp >
void DuneODE::ExplicitRungeKuttaSolver< DestinationImp >::description ( std::ostream ) const
inlinevirtual

print description of ODE solver to out stream

Implements DuneODE::OdeSolverInterface< DestinationImp >.

◆ initialize()

apply operator once to get dt estimate

Implements DuneODE::OdeSolverInterface< DestinationImp >.

◆ order()

template<class DestinationImp >
int DuneODE::ExplicitRungeKuttaSolver< DestinationImp >::order ( ) const
inlinevirtual

return order of RK solver

Reimplemented from DuneODE::OdeSolverInterface< DestinationImp >.

◆ solve() [1/2]

template<class DestinationImp >
virtual void DuneODE::OdeSolverInterface< DestinationImp >::solve ( DestinationType u)
inlinevirtualinherited

solve \(\partial_t u = L(u)\) where \(L\) is the internal operator.

Parameters
[in]uunknown to solve for

Reimplemented in DuneODE::ExplicitMultiStepSolver< DestinationImp >.

◆ solve() [2/2]

template<class DestinationImp >
void DuneODE::ExplicitRungeKuttaSolver< DestinationImp >::solve ( DestinationType U0,
MonitorType monitor 
)
inlinevirtual

solve the system

Implements DuneODE::OdeSolverInterface< DestinationImp >.

◆ stages()

template<class DestinationImp >
int DuneODE::ExplicitRungeKuttaSolver< DestinationImp >::stages ( ) const
inlinevirtual

return stages of RK solver

Reimplemented from DuneODE::OdeSolverInterface< DestinationImp >.

Member Data Documentation

◆ A_

◆ b_

◆ c_

◆ initialized_

◆ op_

◆ ord_

◆ stages_

◆ tp_

◆ Upd


The documentation for this class was generated from the following file: