dune-fem 2.12-git
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
42
43 virtual void clear()
44 {
46 }
47
48 virtual void operator()( const DomainFunction &arg, RangeFunction &dest ) const
49 {
50 apply( arg, dest );
51 }
52
53 virtual void finalize () { BaseType::compress(); }
54
55 };
56
57 } // namespace Fem
58
59} // namespace Dune
60
61#endif // #ifndef DUNE_FEM_SPOPERATOR_HH
Dune::BCRSMatrix< FieldMatrix< T, n, m >, TA > Matrix
abstract matrix operator
Definition operator.hh:133
SparseRowLinearOperator.
Definition spoperator.hh:25
RangeFunction::DiscreteFunctionSpaceType RangeSpaceType
Definition spoperator.hh:27
DomainFunction::DiscreteFunctionSpaceType DomainSpaceType
Definition spoperator.hh:26
virtual void clear()
Definition spoperator.hh:43
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:53
void apply(const DomainFunction &arg, RangeFunction &dest) const
apply matrix to discrete function
Definition spmatrix.hh:835
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:48
SparseRowMatrixObject< DomainSpaceType, RangeSpaceType, Matrix > BaseType
Definition spoperator.hh:29
SparseRowMatrixObject.
Definition spmatrix.hh:583
const DomainSpaceType & domainSpace() const
get domain space (i.e. space that builds the rows)
Definition spmatrix.hh:637
MatrixType & exportMatrix() const
get reference to storage object
Definition spmatrix.hh:659
void apply(const DomainFunction &arg, RangeFunction &dest) const
apply matrix to discrete function
Definition spmatrix.hh:835
void compress()
compress matrix to a real CRS format
Definition spmatrix.hh:798
void clear()
clear matrix
Definition spmatrix.hh:792
const RangeSpaceType & rangeSpace() const
get range space (i.e. space that builds the columns)
Definition spmatrix.hh:643
Definition solver/parameter.hh:25