Feel++  0.92.0
Public Member Functions | Protected Attributes
Feel::EIMBase< T > Class Template Reference
Inheritance diagram for Feel::EIMBase< T >:
Feel::EIM< T, Dmu, F >

List of all members.

Public Types

Typedefs
typedef T value_type
typedef Eigen::Matrix< double,
Dynamic, Dynamic > 
matrix_type
typedef Eigen::Matrix< double,
Dynamic, 1 > 
vector_type

Public Member Functions

 EIMBase (std::string const &__name, double __tol=1e-8)
 EIMBase (EIMBase const &__bbf)
Accessors
size_t nbDOF () const
matrix_type const & q () const
Eigen::ColXpr qm (size_t __m) const
value_type qxm (size_t __i, size_t __m) const
size_t Mmax () const

Protected Attributes

bool _M_is_read
bool _M_is_written
std::string _M_name
size_t _M_M
size_t _M_M_max
bool _M_offline_done
double _M_tol
matrix_type _M_q
matrix_type _M_B
std::vector< coord_type > _M_t
std::vector< size_t > _M_index_max

Methods

class boost::serialization::access
void orthonormalize (matrix_type &)
template<class Archive >
void serialize (Archive &__ar, const unsigned int __version)
virtual void offline ()
bool isOfflineDone () const
virtual void beta (vector_type &__beta, size_t M) const
 Online stage of the coefficient-function interpolation.
virtual void beta (vector_type &__beta, value_type &__err, size_t M) const
void blackbox_q (vector_type &__g, int __m)
void blackbox (vector_type &__g)

template<typename T>
class Feel::EIMBase< T >


Member Function Documentation

template<typename T >
virtual void Feel::EIMBase< T >::beta ( vector_type &  __beta,
size_t  M 
) const [inline, virtual]

Online stage of the coefficient-function interpolation.

Our coefficient function approximation is the interpolant of $g$ over $T_M$ : $g_M (x ; \mu) = \sum^M_{m = 1} \beta_m (\mu) \: q_m (x)$, where $\sum^M_{j = 1} \: B^M_{i \: j} \: \beta_j (\mu) = g (t_i ; \mu)$, $ 1 \leq i \leq M$. We define $\varepsilon_M (\mu) \equiv \| g (\: \cdot \: ; \mu) - g_M (\: \cdot \: ; \mu)\|_{L^{\infty} (\Omega)}$.

Note that $ \Omega $ is given and $D^$ is handled by the parameterset_type data structure.

Reimplemented in Feel::EIM< T, Dmu, F >.

Referenced by Feel::EIMBase< T >::blackbox().

template<typename T >
void Feel::EIMBase< T >::blackbox ( vector_type &  __g) [inline]

Given the $\mu$ in parameter space, compute $ g_M( x, \mu ) \forall x \in \Omega$

References Feel::EIMBase< T >::beta().

template<typename T >
void Feel::EIMBase< T >::blackbox_q ( vector_type &  __g,
int  __m 
) [inline]

Given the $\mu$ in parameter space, compute $ q_m( x ) \forall x \in \Omega$

template<typename T >
bool Feel::EIMBase< T >::isOfflineDone ( ) const [inline]

Check whether the offline stage has been executed and the database created.

Returns:
true if the offline has been executed and the DB saved, false otherwise
template<typename T >
size_t Feel::EIMBase< T >::nbDOF ( ) const [inline]
Returns:
the number of DOF in space discretization
template<typename T >
virtual void Feel::EIMBase< T >::offline ( ) [inline, virtual]

offline stage

template<typename T >
void Feel::EIMBase< T >::orthonormalize ( matrix_type &  __Z)

orthonormalize