Feel++  0.92.0
Classes | Protected Attributes
Feel::OperatorLinearParametrized< DomainSpace, DualImageSpace > Class Template Reference

An interface for linear parametrized operators. More...

#include <operatorlinearparametrized.hpp>

List of all members.

Classes

struct  domain_element

Public Types

Typedefs
typedef
OperatorLinearParametrized
< DomainSpace, DualImageSpace > 
this_type
typedef OperatorLinear
< DomainSpace, DualImageSpace > 
super_type
typedef super::domain_space_type domain_space_type
typedef
super::dual_image_space_type 
dual_image_space_type
typedef super::domain_space_ptrtype domain_space_ptrtype
typedef
super::dual_image_space_ptrtype 
dual_image_space_ptrtype
typedef
domain_space_type::element_type 
domain_element_type
typedef super::backend_type backend_type
typedef super::backend_ptrtype backend_ptrtype
typedef
backend_type::sparse_matrix_type 
matrix_type
typedef backend_type::vector_type vector_type
typedef
backend_type::vector_ptrtype 
vector_ptrtype
typedef boost::shared_ptr
< matrix_type
matrix_ptrtype
typedef FsFunctionalLinear
< DualImageSpace > 
image_element_type
typedef ParameterSpace
< ParameterSpaceDimension > 
parameterspace_type
typedef boost::shared_ptr
< parameterspace_type
parameterspace_ptrtype
typedef
parameterspace_type::element_type 
parameter_type
typedef
parameterspace_type::element_ptrtype 
parameter_ptrtype
typedef
parameterspace_type::sampling_type 
sampling_type
typedef
parameterspace_type::sampling_ptrtype 
sampling_ptrtype
typedef Eigen::VectorXd theta_vector_type

Public Member Functions

Constructors, destructor
 OperatorLinearParametrized ()
 default constructor
 OperatorLinearParametrized (OperatorLinearParametrized const &olp, bool deep_copy=false)
 copy constructor
 OperatorLinearParametrized (domain_space_ptrtype domainSpace, dual_image_space_ptrtype dualImageSpace, backend_ptrtype backend)
 ~OperatorLinearParametrized ()
 destructor
void init (domain_space_ptrtype domainSpace, dual_image_space_ptrtype dualImageSpace, backend_ptrtype backend)
Operator overloads
OperatorLinearParametrizedoperator= (OperatorLinearParametrized const &o)
 copy operator
Accessors
parameterspace_ptrtype parameterSpace () const
 return the parameter space
theta_vector_type const & thetaq () const
 return the coefficient vector
value_type thetaq (int q) const
 return the coefficient vector q component
Methods
virtual theta_vector_type computeThetaq (parameter_type const &mu)=0
 compute the theta coefficient for both bilinear and linear form
template<class ExprT >
this_typeadd (int q, ExprT const &e)
template<class ExprT >
this_typeoperator+= (ExprT const &e)
offline_merge_type update (parameter_type const &mu)
 update the model wrt mu
sparse_matrix_type merge (parameter_type const &mu)

Protected Attributes

std::vector
< sparse_matrix_ptrtype > 
M_Aq
parameterspace_ptrtype M_Dmu
theta_vector_type M_thetaq
 coefficients of the Aq matrices

Detailed Description

template<class DomainSpace, class DualImageSpace>
class Feel::OperatorLinearParametrized< DomainSpace, DualImageSpace >

An interface for linear parametrized operators.

Author:
Christophe Prud'homme
See also:

Constructor & Destructor Documentation

template<class DomainSpace, class DualImageSpace>
Feel::OperatorLinearParametrized< DomainSpace, DualImageSpace >::OperatorLinearParametrized ( domain_space_ptrtype  domainSpace,
dual_image_space_ptrtype  dualImageSpace,
backend_ptrtype  backend 
) [inline]

Constructor from domain and image space

Parameters:
domainSpace
dualImageSpace
backendassociated linear algebra backend

Member Function Documentation

template<class DomainSpace, class DualImageSpace>
virtual theta_vector_type Feel::OperatorLinearParametrized< DomainSpace, DualImageSpace >::computeThetaq ( parameter_type const &  mu) [pure virtual]

compute the theta coefficient for both bilinear and linear form

Parameters:
muparameter to evaluate the coefficients

Referenced by Feel::OperatorLinearParametrized< DomainSpace, DualImageSpace >::update().

template<class DomainSpace , class DualImageSpace >
OperatorLinearParametrized< DomainSpace, DualImageSpace >::sparse_matrix_ptrtype Feel::OperatorLinearParametrized< DomainSpace, DualImageSpace >::merge ( parameter_type const &  mu)

Sum the affine decomposition for the parameter mu, need to call update( mu ) before calling the merge( mu )


Member Data Documentation

template<class DomainSpace, class DualImageSpace>
std::vector<sparse_matrix_ptrtype> Feel::OperatorLinearParametrized< DomainSpace, DualImageSpace >::M_Aq [protected]

matrix storing the parameter independent matrices (affine decomposition)

template<class DomainSpace, class DualImageSpace>
parameterspace_ptrtype Feel::OperatorLinearParametrized< DomainSpace, DualImageSpace >::M_Dmu [protected]