dune-fem
2.4.1-rc
|
#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/operator/linear/blockdiagonal.hh>
Classes | |
struct | CommDataHandle |
class | LocalMatrix |
struct | LocalMatrixFactory |
class | LocalMatrixTraits |
Public Types | |
typedef BaseType::DomainFunctionType | DomainFunctionType |
typedef BaseType::RangeFunctionType | RangeFunctionType |
typedef BaseType::DomainFieldType | DomainFieldType |
typedef BaseType::RangeFieldType | RangeFieldType |
typedef DomainFunctionType::DiscreteFunctionSpaceType | DomainSpaceType |
typedef RangeFunctionType::DiscreteFunctionSpaceType | RangeSpaceType |
typedef DomainSpaceType::EntityType | DomainEntityType |
typedef RangeSpaceType::EntityType | RangeEntityType |
typedef LocalBlock | LocalBlockType |
typedef LocalBlockType * | DofBlockPtrType |
typedef const LocalBlockType * | ConstDofBlockPtrType |
typedef LocalBlockType::row_type | DofType |
typedef DomainSpaceType | DiscreteFunctionSpaceType |
typedef ObjectStack< LocalMatrixFactory > | LocalMatrixStackType |
typedef LocalMatrixWrapper< LocalMatrixStackType > | LocalMatrixType |
typedef ColumnObject< ThisType > | LocalColumnObjectType |
Public Member Functions | |
BlockDiagonalLinearOperator (const std::string &name, const DomainSpaceType &domainSpace, const RangeSpaceType &rangeSpace) | |
void | operator() (const DomainFunctionType &u, RangeFunctionType &w) const |
template<class DomainSpace , class RangeSpace > | |
void | operator() (const AdaptiveDiscreteFunction< DomainSpace > &u, AdaptiveDiscreteFunction< RangeSpace > &w) const |
template<class DomainSpace , class RangeSpace > | |
void | multiply (const AdaptiveDiscreteFunction< DomainSpace > &u, AdaptiveDiscreteFunction< RangeSpace > &w) const |
void | clear () |
template<class Functor > | |
void | forEach (const Functor &functor) |
void | invert () |
void | rightmultiply (const ThisType &other) |
void | leftmultiply (const ThisType &other) |
DofBlockPtrType | block (const size_t block) |
return block matrix for given block number (== entity number) More... | |
ConstDofBlockPtrType | block (const size_t block) const |
return block matrix for given block number (== entity number) More... | |
void | communicate () |
copy matrices to ghost cells to make this class work in parallel More... | |
template<class Operation > | |
CommDataHandle< Operation >::Type | dataHandle (const Operation *operation) |
return reference to data handle object (needed to make this class work with CommunicationManager) More... | |
template<class Stencil > | |
void | reserve (const Stencil &stencil, bool verbose=false) |
LocalColumnObjectType | localColumn (const DomainEntityType &domainEntity) const |
LocalMatrixType | localMatrix (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity) const |
const DomainSpaceType & | domainSpace () const |
const RangeSpaceType & | rangeSpace () const |
const DomainSpaceType & | space () const |
return reference to space (needed to make this class work with CommunicationManager) More... | |
const std::string & | name () const |
virtual bool | symmetric () const |
virtual bool | positiveDefinite () const |
virtual void | operator() (const DomainFunctionType &u, RangeFunctionType &w) const =0 |
application operator More... | |
Static Public Attributes | |
static const int | localBlockSize = DomainSpaceType::localBlockSize |
Protected Attributes | |
std::string | name_ |
const RangeSpaceType & | space_ |
std::vector< LocalBlockType > | diagonal_ |
LocalMatrixFactory | localMatrixFactory_ |
LocalMatrixStackType | localMatrixStack_ |
typedef const LocalBlockType* Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::ConstDofBlockPtrType |
typedef DomainSpaceType Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::DiscreteFunctionSpaceType |
typedef LocalBlockType* Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::DofBlockPtrType |
typedef LocalBlockType::row_type Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::DofType |
typedef DomainSpaceType::EntityType Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::DomainEntityType |
typedef BaseType::DomainFieldType Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::DomainFieldType |
typedef BaseType::DomainFunctionType Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::DomainFunctionType |
typedef DomainFunctionType::DiscreteFunctionSpaceType Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::DomainSpaceType |
typedef LocalBlock Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalBlockType |
typedef ColumnObject< ThisType > Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalColumnObjectType |
typedef ObjectStack< LocalMatrixFactory > Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrixStackType |
typedef LocalMatrixWrapper< LocalMatrixStackType > Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrixType |
typedef RangeSpaceType::EntityType Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::RangeEntityType |
typedef BaseType::RangeFieldType Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::RangeFieldType |
typedef BaseType::RangeFunctionType Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::RangeFunctionType |
typedef RangeFunctionType::DiscreteFunctionSpaceType Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::RangeSpaceType |
|
inline |
|
inline |
return block matrix for given block number (== entity number)
References Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::diagonal_.
Referenced by Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::block().
|
inline |
return block matrix for given block number (== entity number)
References Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::block(), and Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::diagonal_.
|
inline |
|
inline |
copy matrices to ghost cells to make this class work in parallel
References Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::domainSpace().
|
inline |
return reference to data handle object (needed to make this class work with CommunicationManager)
References Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::space().
|
inline |
References Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::space_.
Referenced by Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::communicate(), Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::init(), and Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::reserve().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::localMatrixStack_.
Referenced by Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::localColumn(), and Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrixFactory::newObject().
|
inline |
References Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::diagonal_, Dune::Fem::AdaptiveDiscreteFunction< DiscreteFunctionSpace >::leakPointer(), and Dune::Fem::DiscreteFunctionDefault< AdaptiveDiscreteFunction< DiscreteFunctionSpace > >::size().
Referenced by Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::operator()().
|
inline |
|
pure virtualinherited |
application operator
[in] | u | argument discrete function |
[out] | w | destination discrete function |
|
inline |
|
inline |
|
inlinevirtualinherited |
Return true
if the Operator is positive definite.
|
inline |
|
inline |
|
inline |
|
inline |
return reference to space (needed to make this class work with CommunicationManager)
References Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::space_.
Referenced by Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::dataHandle().
|
inlinevirtualinherited |
Return true
if the Operator is symmetric.
|
protected |
Referenced by Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::block(), Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::clear(), Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::forEach(), Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::invert(), Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::leftmultiply(), Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::multiply(), Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::reserve(), and Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::rightmultiply().
|
static |
|
protected |
|
mutableprotected |
|
protected |
|
protected |