dune-fem  2.4.1-rc
Classes | Public Types | Public Member Functions | List of all members
Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace > Class Template Referenceabstract

#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/operator/matrix/densematrix.hh>

Inheritance diagram for Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >:
Inheritance graph

Classes

class  LocalMatrix
 
class  LocalMatrixFactory
 
class  LocalMatrixTraits
 

Public Types

typedef DomainSpace DomainSpaceType
 
typedef RangeSpace RangeSpaceType
 
typedef RangeSpaceType::RangeFieldType Field
 
typedef DomainSpace::GridType::template Codim< 0 >::Entity ColEntityType
 
typedef RangeSpace::GridType::template Codim< 0 >::Entity RowEntityType
 
typedef DenseRowMatrix< FieldMatrixType
 
typedef LocalMatrixWrapper< LocalMatrixStackLocalMatrixType
 

Public Member Functions

 DenseRowMatrixObject (const DomainSpaceType &domainSpace, const RangeSpaceType &rangeSpace)
 
MatrixTypematrix ()
 
LocalMatrixType localMatrix (const RowEntityType &rowEntity, const ColEntityType &colEntity)
 
void clear ()
 
template<class Stencil >
void reserve (const Stencil &stencil, bool verbose=false)
 
template<class DomainFunction , class RangeFunction >
void apply (const DomainFunction &u, RangeFunction &w) const
 
Field ddotOEM (const Field *v, const Field *w) const
 
void multOEM (const Field *u, Field *w) const
 
const DomainSpace & domainSpace () const
 
const RangeSpace & rangeSpace () const
 
virtual void multOEM (const double *u, double *w) const =0
 evaluate matrix vector multiplication More...
 
virtual double ddotOEM (const double *u, const double *v) const =0
 evaluate scalar product More...
 

Member Typedef Documentation

template<class DomainSpace , class RangeSpace >
typedef DomainSpace::GridType::template Codim< 0 >::Entity Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::ColEntityType
template<class DomainSpace , class RangeSpace >
typedef DomainSpace Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::DomainSpaceType
template<class DomainSpace , class RangeSpace >
typedef RangeSpaceType::RangeFieldType Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::Field
template<class DomainSpace , class RangeSpace >
typedef LocalMatrixWrapper< LocalMatrixStack > Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrixType
template<class DomainSpace , class RangeSpace >
typedef DenseRowMatrix< Field > Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::MatrixType
template<class DomainSpace , class RangeSpace >
typedef RangeSpace Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::RangeSpaceType
template<class DomainSpace , class RangeSpace >
typedef RangeSpace::GridType::template Codim< 0 >::Entity Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::RowEntityType

Constructor & Destructor Documentation

template<class DomainSpace , class RangeSpace >
Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::DenseRowMatrixObject ( const DomainSpaceType domainSpace,
const RangeSpaceType rangeSpace 
)
inline

Member Function Documentation

template<class DomainSpace , class RangeSpace >
template<class DomainFunction , class RangeFunction >
void Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::apply ( const DomainFunction &  u,
RangeFunction &  w 
) const
inline
template<class DomainSpace , class RangeSpace >
void Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::clear ( )
inline
virtual double Dune::Fem::OEMMatrix::ddotOEM ( const double *  u,
const double *  v 
) const
pure virtualinherited

evaluate scalar product

Parameters
[in]ufirst argument of scalar product
[in]vsecond argument of scalar product

Implemented in Dune::Fem::SparseRowMatrixObject< DomainSpace, RangeSpace, Matrix >, and Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType, RangeFunction::DiscreteFunctionSpaceType >.

template<class DomainSpace , class RangeSpace >
Field Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::ddotOEM ( const Field v,
const Field w 
) const
inline
template<class DomainSpace , class RangeSpace >
const DomainSpace& Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::domainSpace ( ) const
inline
template<class DomainSpace , class RangeSpace >
LocalMatrixType Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::localMatrix ( const RowEntityType rowEntity,
const ColEntityType colEntity 
)
inline
template<class DomainSpace , class RangeSpace >
MatrixType& Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::matrix ( )
inline
virtual void Dune::Fem::OEMMatrix::multOEM ( const double *  u,
double *  w 
) const
pure virtualinherited

evaluate matrix vector multiplication

Parameters
[in]uvector to multiply the matrix with
[out]wvector to store the result in

Implemented in Dune::Fem::SparseRowMatrixObject< DomainSpace, RangeSpace, Matrix >, and Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType, RangeFunction::DiscreteFunctionSpaceType >.

Referenced by OEMSolver::FakeConditioner::precondition().

template<class DomainSpace , class RangeSpace >
void Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::multOEM ( const Field u,
Field w 
) const
inline
template<class DomainSpace , class RangeSpace >
const RangeSpace& Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::rangeSpace ( ) const
inline
template<class DomainSpace , class RangeSpace >
template<class Stencil >
void Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::reserve ( const Stencil stencil,
bool  verbose = false 
)
inline

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