PFASST++
pfasst::encap Namespace Reference

Encapsulations (short encaps) are the central data type for all PFASST++ algorithms. More...

Classes

class  EncapFactory
 Abstract interface of factory for creating Encapsulation objects. More...
 
class  Encapsulation
 Data/solution encapsulation. More...
 
class  EncapSweeper
 Host based encapsulated base sweeper. More...
 
class  IMEXSweeper
 Semi-implicit IMEX sweeper. More...
 
class  ImplicitSweeper
 Implicit sweeper. More...
 
class  PolyInterpMixin
 Polynomial time interpolation mixin. More...
 
class  VectorEncapsulation
 
class  VectorFactory
 

Typedefs

typedef enum pfasst::encap::EncapType EncapType
 
template<typename scalar >
using lu_pair = pair< Matrix< scalar >, Matrix< scalar > >
 

Enumerations

enum  EncapType { solution, function }
 

Functions

template<typename time >
EncapSweeper< time > & as_encap_sweeper (shared_ptr< ISweeper< time >> x)
 
template<typename time >
const EncapSweeper< time > & as_encap_sweeper (shared_ptr< const ISweeper< time >> x)
 
template<typename scalar , typename time = time_precision>
VectorEncapsulation< scalar, time > & as_vector (shared_ptr< Encapsulation< time >> x)
 
template<typename scalar , typename time = time_precision>
const VectorEncapsulation< scalar, time > & as_vector (shared_ptr< const Encapsulation< time >> x)
 
template<typename scalar >
static lu_pair< scalar > lu_decomposition (const Matrix< scalar > &A)
 LU (without pivoting) decomposition. More...
 
template<typename time >
vector< time > augment (time t0, time dt, vector< time > const &nodes)
 Augment nodes: nodes <- [t0] + dt * nodes. More...
 

Detailed Description

Encapsulations (short encaps) are the central data type for all PFASST++ algorithms.

Encaps are both representing the unknown variable as well as the result of evaluating the right hand side of the problem equation(s).

Typedef Documentation

Todo:
document EncapType; especially its intention and expected usage
template<typename scalar >
using pfasst::encap::lu_pair = typedef pair< Matrix<scalar>, Matrix<scalar> >

Definition at line 15 of file implicit_sweeper_impl.hpp.

Enumeration Type Documentation

Todo:
document EncapType; especially its intention and expected usage
Enumerator
solution 
function 

Definition at line 30 of file encapsulation.hpp.

Function Documentation

template<typename time >
EncapSweeper< time > & pfasst::encap::as_encap_sweeper ( shared_ptr< ISweeper< time >>  x)

Definition at line 273 of file encap_sweeper_impl.hpp.

Referenced by pfasst::encap::PolyInterpMixin< time >::fas(), pfasst::encap::PolyInterpMixin< time >::interpolate(), pfasst::encap::PolyInterpMixin< time >::interpolate_initial(), pfasst::encap::PolyInterpMixin< time >::restrict(), and pfasst::encap::PolyInterpMixin< time >::restrict_initial().

+ Here is the caller graph for this function:

template<typename time >
const EncapSweeper< time > & pfasst::encap::as_encap_sweeper ( shared_ptr< const ISweeper< time >>  x)

Definition at line 281 of file encap_sweeper_impl.hpp.

template<typename scalar , typename time = time_precision>
VectorEncapsulation< scalar, time > & pfasst::encap::as_vector ( shared_ptr< Encapsulation< time >>  x)

Definition at line 166 of file vector_impl.hpp.

template<typename scalar , typename time = time_precision>
const VectorEncapsulation< scalar, time > & pfasst::encap::as_vector ( shared_ptr< const Encapsulation< time >>  x)

Definition at line 175 of file vector_impl.hpp.

template<typename time >
vector<time> pfasst::encap::augment ( time  t0,
time  dt,
vector< time > const &  nodes 
)

Augment nodes: nodes <- [t0] + dt * nodes.

Definition at line 64 of file implicit_sweeper_impl.hpp.

References plot::t.

Referenced by pfasst::encap::ImplicitSweeper< time >::predict(), and pfasst::encap::ImplicitSweeper< time >::sweep().

+ Here is the caller graph for this function:

template<typename scalar >
static lu_pair<scalar> pfasst::encap::lu_decomposition ( const Matrix< scalar > &  A)
static

LU (without pivoting) decomposition.

Definition at line 21 of file implicit_sweeper_impl.hpp.

Referenced by pfasst::encap::ImplicitSweeper< time >::setup().

+ Here is the caller graph for this function: