dune-fem  2.4.1-rc
spoperator.hh
Go to the documentation of this file.
1 #ifndef DUNE_FEM_SPOPERATOR_HH
2 #define DUNE_FEM_SPOPERATOR_HH
3 
5 
6 namespace Dune
7 {
8 
9  namespace Fem
10  {
11 
12  // SparseRowLinearOperator
13  // -----------------------
14 
15  template< class DomainFunction, class RangeFunction >
17  : public SparseRowMatrixObject< typename DomainFunction::DiscreteFunctionSpaceType, typename RangeFunction::DiscreteFunctionSpaceType >,
18  public Fem::AssembledOperator< DomainFunction, RangeFunction >
19  {
21 
22  public:
25 
27  static const bool assembled = true ;
28 
29  using Base::apply;
30 
31  SparseRowLinearOperator( const std::string & ,
32  const DomainSpaceType &domainSpace,
33  const RangeSpaceType &rangeSpace,
34  const std::string &paramfile )
35  DUNE_DEPRECATED_MSG("SparseRowLinearOperator(...,string) is deprecated. Use SparseRowLinearOperator(string,DomainSpace,RangeSpace,MatrixParameter) instead")
36  : Base( domainSpace, rangeSpace )
37  {}
38 
39  SparseRowLinearOperator( const std::string & ,
40  const DomainSpaceType &domainSpace,
41  const RangeSpaceType &rangeSpace,
42  const MatrixParameter& param = SparseRowMatrixParameter() ) :
43  Base( domainSpace, rangeSpace, param )
44  {}
45 
46  virtual void operator() ( const DomainFunction &arg, RangeFunction &dest ) const
47  {
48  Base::apply( arg, dest );
49  }
50 
51  const Base &systemMatrix () const
52  {
53  return *this;
54  }
55 
56  void communicate () const
57  {
58  }
59  };
60  } // namespace Fem
61 
62 } // namespace Dune
63 
64 #endif // #ifndef DUNE_FEM_SPLINEAR_HH
void apply(const DomainFunction &arg, RangeFunction &dest) const
apply matrix to discrete function
Definition: spmatrix.hh:684
virtual void operator()(const DomainFunction &arg, RangeFunction &dest) const
application operator
Definition: spoperator.hh:46
Definition: spmatrix.hh:417
const DomainSpaceType & domainSpace() const
return domain space (i.e. space that builds the rows)
Definition: spmatrix.hh:535
const RangeSpaceType & rangeSpace() const
return range space (i.e. space that builds the columns)
Definition: spmatrix.hh:538
SparseRowLinearOperator(const std::string &, const DomainSpaceType &domainSpace, const RangeSpaceType &rangeSpace, const MatrixParameter &param=SparseRowMatrixParameter())
Definition: spoperator.hh:39
DomainSpace DomainSpaceType
Definition: spmatrix.hh:437
SparseRowLinearOperator(const std::string &, const DomainSpaceType &domainSpace, const RangeSpaceType &rangeSpace, const std::string &paramfile)
Definition: spoperator.hh:31
Definition: coordinate.hh:4
MatrixParameter.
Definition: spmatrix.hh:45
static const bool assembled
Definition: spoperator.hh:27
abstract matrix operator
Definition: operator.hh:106
void communicate() const
Definition: spoperator.hh:56
RangeSpace RangeSpaceType
Definition: spmatrix.hh:438
Base::DomainSpaceType DomainSpaceType
Definition: spoperator.hh:23
Definition: spoperator.hh:16
Definition: spmatrix.hh:79
const Base & systemMatrix() const
Definition: spoperator.hh:51
Base::RangeSpaceType RangeSpaceType
Definition: spoperator.hh:24