dune-fem  2.8-git
denserow.hh
Go to the documentation of this file.
1 #ifndef DUNE_FEM_OPERATOR_LINEAR_DENSEROW_HH
2 #define DUNE_FEM_OPERATOR_LINEAR_DENSEROW_HH
3 
4 #include <string>
5 
6 #include <dune/common/dynmatrixev.hh>
7 
9 
10 namespace Dune
11 {
12 
13  namespace Fem
14  {
15 
16  // DenseRowLinearOperator
17  // ----------------------
18 
19  template< class DomainFunction, class RangeFunction >
21  : public DenseRowMatrixObject< typename DomainFunction::DiscreteFunctionSpaceType, typename RangeFunction::DiscreteFunctionSpaceType >,
22  public Fem::AssembledOperator< DomainFunction, RangeFunction >
23  {
26 
27  public:
28  typedef typename DomainFunction::DiscreteFunctionSpaceType DomainSpaceType;
29  typedef typename RangeFunction::DiscreteFunctionSpaceType RangeSpaceType;
30 
31  static constexpr bool assembled = true;
32 
33  using BaseType::apply;
34 
37  {}
38 
39  virtual void operator() ( const DomainFunction &arg, RangeFunction &dest ) const override { apply( arg, dest ); }
40 
41  };
42 
43  } // namespace Fem
44 
45 } // namespace Dune
46 
47 #endif // #ifndef DUNE_FEM_OPERATOR_LINEAR_DENSEROW_HH
Definition: bindguard.hh:11
abstract matrix operator
Definition: operator.hh:124
Definition: denserow.hh:23
DenseRowLinearOperator(const std::string &, const DomainSpaceType &domainSpace, const RangeSpaceType &rangeSpace)
Definition: denserow.hh:35
void apply(const DomainFunction &u, RangeFunction &w) const
Definition: densematrix.hh:293
virtual void operator()(const DomainFunction &arg, RangeFunction &dest) const override
Definition: denserow.hh:39
static constexpr bool assembled
Definition: denserow.hh:31
RangeFunction::DiscreteFunctionSpaceType RangeSpaceType
Definition: denserow.hh:29
DomainFunction::DiscreteFunctionSpaceType DomainSpaceType
Definition: denserow.hh:28
Definition: densematrix.hh:216
const RangeFunction::DiscreteFunctionSpaceType & rangeSpace() const
Definition: densematrix.hh:330
void apply(const DomainFunction &u, RangeFunction &w) const
Definition: densematrix.hh:293
const DomainFunction::DiscreteFunctionSpaceType & domainSpace() const
Definition: densematrix.hh:329