dune-fem 2.8.0
|
BlockDiagonalLinearOperator. More...
#include <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 |
application operator | |
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 std::size_t block) |
return block matrix for given block number (== entity number) | |
ConstDofBlockPtrType | block (const std::size_t block) const |
return block matrix for given block number (== entity number) | |
void | communicate () |
copy matrices to ghost cells to make this class work in parallel | |
template<class Operation > | |
CommDataHandle< Operation >::Type | dataHandle (const Operation &operation) |
return reference to data handle object (needed to make this class work with CommunicationManager) | |
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) | |
const std::string & | name () const |
virtual void | flushAssembly () |
commit intermediate states of linear operator assembly | |
void | beginAssemble () |
Initiate the assemble of values using the LocalContribution concept. | |
void | endAssemble () |
Finalize the assemble of values using the LocalContribution concept. | |
virtual bool | symmetric () const |
virtual bool | positiveDefinite () const |
virtual void | finalize () |
finalization of operator | |
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_ |
std::type_index | assembleOperation_ |
std::size_t | assembleCount_ |
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 |
|
inlineinherited |
Initiate the assemble of values using the LocalContribution concept.
AssembleOperation | the specific operation (Add, Set, ...) |
|
inline |
return block matrix for given block number (== entity number)
|
inline |
return block matrix for given block number (== entity number)
|
inline |
|
inline |
copy matrices to ghost cells to make this class work in parallel
|
inline |
return reference to data handle object (needed to make this class work with CommunicationManager)
|
inline |
|
inlineinherited |
Finalize the assemble of values using the LocalContribution concept.
AssembleOperation | the specific operation (Add, Set, ...) |
|
inlinevirtualinherited |
finalization of operator
Reimplemented in Dune::Fem::SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix >.
|
inlinevirtualinherited |
commit intermediate states of linear operator assembly
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
application operator
[in] | u | argument discrete function |
[out] | w | destination discrete function |
Implements Dune::Fem::Operator< DomainFunction, RangeFunction >.
|
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)
|
inlinevirtualinherited |
Return true
if the Operator is symmetric.
|
protectedinherited |
|
protectedinherited |
|
protected |
|
static |
|
protected |
|
mutableprotected |
|
protected |
|
protected |