dune-fem  2.4.1-rc
Public Types | Public Member Functions | Protected Attributes | List of all members
DuneODE::ExplicitMultiStepSolver< DestinationImp > Class Template Referenceabstract

Exlicit multi step ODE solver. More...

#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/solver/multistep.hh>

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

Public Types

typedef Monitor MonitorType
 monitor type More...
 
typedef DestinationType::DiscreteFunctionSpaceType SpaceType
 

Public Member Functions

 ExplicitMultiStepSolver (OperatorType &op, TimeProviderBase &tp, int pord, bool verbose=false)
 constructor More...
 
virtual ~ExplicitMultiStepSolver ()
 destructor More...
 
void initialize (const DestinationType &U0)
 apply operator once to get dt estimate More...
 
void solve (DestinationType &U0)
 solve system More...
 
virtual void solve (DestinationType &u, MonitorType &monitor)=0
 solve $\partial_t u = L(u)$ where $L$ is the internal operator. More...
 
virtual void description (std::ostream &) const =0
 print description of ODE solver to out stream More...
 
void initialize (const DestinationType &U0)
 apply operator once to get dt estimate More...
 
void solve (DestinationType &U0)
 solve the system More...
 
void solveRK (DestinationType &U0)
 solve the system More...
 

Protected Attributes

std::vector< std::vector< double > > a
 
std::vector< double > b
 
std::vector< double > c
 
size_t steps_
 
double gamma_
 
std::vector< DestinationType * > Uj
 
std::vector< DestinationType * > Fj
 
std::vector< double > deltat_
 
bool msInit
 
bool msFirst
 
const int ord_
 
const SpaceOperatorInterface< DestinationImp > & op_
 
TimeProviderBasetp_
 
bool initialized_
 

Detailed Description

template<class DestinationImp>
class DuneODE::ExplicitMultiStepSolver< DestinationImp >

Exlicit multi step ODE solver.

Todo:
port usage of CFL constant to new time provider interface, i.e., use the CFL constant saved in this solver

Member Typedef Documentation

template<class DestinationImp>
typedef Monitor DuneODE::OdeSolverInterface< DestinationImp >::MonitorType
inherited

monitor type

typedef DestinationType :: DiscreteFunctionSpaceType DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::SpaceType
inherited

Constructor & Destructor Documentation

template<class DestinationImp >
DuneODE::ExplicitMultiStepSolver< DestinationImp >::ExplicitMultiStepSolver ( OperatorType op,
TimeProviderBase tp,
int  pord,
bool  verbose = false 
)
inline

constructor

Parameters
[in]opOperator $L$
[in]tpTimeProvider
[in]pordpolynomial order
[in]verboseverbosity
template<class DestinationImp >
virtual DuneODE::ExplicitMultiStepSolver< DestinationImp >::~ExplicitMultiStepSolver ( )
inlinevirtual

destructor

Member Function Documentation

template<class DestinationImp>
virtual void DuneODE::OdeSolverInterface< DestinationImp >::description ( std::ostream &  ) const
pure virtualinherited
void DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::initialize ( const DestinationType U0)
inlineinherited

apply operator once to get dt estimate

template<class DestinationImp >
void DuneODE::ExplicitMultiStepSolver< DestinationImp >::initialize ( const DestinationType &  U0)
inlinevirtual

apply operator once to get dt estimate

Implements DuneODE::OdeSolverInterface< DestinationImp >.

template<class DestinationImp>
virtual void DuneODE::OdeSolverInterface< DestinationImp >::solve ( DestinationType u,
MonitorType monitor 
)
pure virtualinherited
void DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::solve ( DestinationType U0)
inlineinherited

solve the system

template<class DestinationImp >
void DuneODE::ExplicitMultiStepSolver< DestinationImp >::solve ( DestinationType &  U0)
inlinevirtual

solve system

Reimplemented from DuneODE::OdeSolverInterface< DestinationImp >.

void DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::solveRK ( DestinationType U0)
inlineinherited

solve the system

Member Data Documentation

std::vector< std::vector<double> > DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::a
protectedinherited
std::vector<double> DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::b
protectedinherited
std::vector<double> DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::c
protectedinherited
std::vector<double> DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::deltat_
protectedinherited
std::vector<DestinationType*> DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::Fj
protectedinherited
double DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::gamma_
protectedinherited
bool DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::initialized_
protectedinherited
bool DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::msFirst
protectedinherited
bool DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::msInit
protectedinherited
const SpaceOperatorInterface< DestinationImp > & DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::op_
protectedinherited
const int DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::ord_
protectedinherited
size_t DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::steps_
protectedinherited
TimeProviderBase& DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::tp_
protectedinherited
std::vector<DestinationType*> DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::Uj
protectedinherited

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