dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | List of all members
DuneODE::ExplicitMultiStepSolver< DestinationImp > Class Template Referenceabstract

Exlicit multi step ODE solver. More...

#include <dune/fem/solver/multistep.hh>

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

Public Types

typedef Monitor MonitorType
 monitor type
 
typedef DestinationType::DiscreteFunctionSpaceType SpaceType
 

Public Member Functions

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

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

◆ MonitorType

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

monitor type

◆ SpaceType

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

Constructor & Destructor Documentation

◆ ExplicitMultiStepSolver()

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

◆ ~ExplicitMultiStepSolver()

template<class DestinationImp >
virtual DuneODE::ExplicitMultiStepSolver< DestinationImp >::~ExplicitMultiStepSolver ( )
inlinevirtual

destructor

Member Function Documentation

◆ description()

template<class DestinationImp >
virtual void DuneODE::OdeSolverInterface< DestinationImp >::description ( std::ostream &  ) const
pure virtualinherited

◆ initialize() [1/2]

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

apply operator once to get dt estimate

◆ initialize() [2/2]

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

apply operator once to get dt estimate

Implements DuneODE::OdeSolverInterface< DestinationImp >.

◆ solve() [1/3]

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

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

Parameters
[in]uunknown to solve for
[in]monitorMonitor to get some inside information

Implemented in DuneODE::ExplicitRungeKuttaSolver< DestinationImp >.

◆ solve() [2/3]

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

solve the system

◆ solve() [3/3]

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

solve system

Reimplemented from DuneODE::OdeSolverInterface< DestinationImp >.

◆ solveRK()

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

solve the system

Member Data Documentation

◆ a

std::vector< std::vector<double> > DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::a
protectedinherited

◆ b

std::vector<double> DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::b
protectedinherited

◆ c

std::vector<double> DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::c
protectedinherited

◆ deltat_

std::vector<double> DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::deltat_
protectedinherited

◆ Fj

std::vector<DestinationType*> DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::Fj
protectedinherited

◆ gamma_

double DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::gamma_
protectedinherited

◆ initialized_

bool DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::initialized_
protectedinherited

◆ msFirst

bool DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::msFirst
protectedinherited

◆ msInit

bool DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::msInit
protectedinherited

◆ op_

const SpaceOperatorInterface< DestinationImp > & DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::op_
protectedinherited

◆ ord_

const int DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::ord_
protectedinherited

◆ steps_

size_t DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::steps_
protectedinherited

◆ tp_

TimeProviderBase& DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::tp_
protectedinherited

◆ Uj

std::vector<DestinationType*> DuneODE::ExplMultiStepBase< SpaceOperatorInterface< DestinationImp > >::Uj
protectedinherited

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