dune-fem 2.8.0
Loading...
Searching...
No Matches
spoperator.hh
Go to the documentation of this file.
1#ifndef DUNE_FEM_SPOPERATOR_HH
2#define DUNE_FEM_SPOPERATOR_HH
3
4// system includes
5#include <string>
6
7// local includes
10
11namespace Dune
12{
13
14 namespace Fem
15 {
16
18 template< class DomainFunction, class RangeFunction,
21 : public SparseRowMatrixObject< typename DomainFunction::DiscreteFunctionSpaceType,
22 typename RangeFunction::DiscreteFunctionSpaceType,
23 Matrix >,
24 public Fem::AssembledOperator< DomainFunction, RangeFunction >
25 {
26 typedef typename DomainFunction::DiscreteFunctionSpaceType DomainSpaceType;
27 typedef typename RangeFunction::DiscreteFunctionSpaceType RangeSpaceType;
30
31 static constexpr bool assembled = true;
32
33 using BaseType::apply;
35
36 SparseRowLinearOperator( const std::string & ,
39 const SolverParameter& param = SolverParameter() ) :
41 {}
42
43 virtual void operator()( const DomainFunction &arg, RangeFunction &dest ) const
44 {
45 apply( arg, dest );
46 }
47
48 virtual void finalize () { BaseType::compress(); }
49
50 };
51
52 } // namespace Fem
53
54} // namespace Dune
55
56#endif // #ifndef DUNE_FEM_SPOPERATOR_HH
Definition: bindguard.hh:11
abstract matrix operator
Definition: operator.hh:124
SparseRowLinearOperator.
Definition: spoperator.hh:25
RangeFunction::DiscreteFunctionSpaceType RangeSpaceType
Definition: spoperator.hh:27
DomainFunction::DiscreteFunctionSpaceType DomainSpaceType
Definition: spoperator.hh:26
SparseRowLinearOperator(const std::string &, const DomainSpaceType &domainSpace, const RangeSpaceType &rangeSpace, const SolverParameter &param=SolverParameter())
Definition: spoperator.hh:36
virtual void finalize()
finalization of operator
Definition: spoperator.hh:48
void apply(const DomainFunction &arg, RangeFunction &dest) const
apply matrix to discrete function
Definition: spmatrix.hh:690
SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix > ThisType
Definition: spoperator.hh:28
static constexpr bool assembled
Definition: spoperator.hh:31
virtual void operator()(const DomainFunction &arg, RangeFunction &dest) const
application operator
Definition: spoperator.hh:43
SparseRowMatrixObject< DomainSpaceType, RangeSpaceType, Matrix > BaseType
Definition: spoperator.hh:29
SparseRowMatrixObject.
Definition: spmatrix.hh:435
const DomainSpaceType & domainSpace() const
get domain space (i.e. space that builds the rows)
Definition: spmatrix.hh:492
MatrixType & exportMatrix() const
get reference to storage object
Definition: spmatrix.hh:514
void apply(const DomainFunction &arg, RangeFunction &dest) const
apply matrix to discrete function
Definition: spmatrix.hh:690
void compress()
compress matrix to a real CRS format
Definition: spmatrix.hh:653
const RangeSpaceType & rangeSpace() const
get range space (i.e. space that builds the columns)
Definition: spmatrix.hh:498
Definition: solver/parameter.hh:15