|
dune-fem 2.12-git
|
abstract matrix operator More...
#include <dune/fem/operator/common/operator.hh>

Public Types | |
| typedef DomainFunction | DomainFunctionType |
| type of discrete function in the operator's domain | |
| typedef RangeFunction | RangeFunctionType |
| type of discrete function in the operator's range | |
| typedef DomainFunction::RangeFieldType | DomainFieldType |
| field type of the operator's domain | |
| typedef RangeFunction::RangeFieldType | RangeFieldType |
| field type of the operator's range | |
Public Member Functions | |
| virtual void | flushAssembly () |
| commit intermediate states of linear operator assembly | |
| template<class AssembleOperation > | |
| void | beginAssemble () |
| Initiate the assemble of values using the LocalContribution concept. | |
| template<class AssembleOperation > | |
| void | endAssemble () |
| Finalize the assemble of values using the LocalContribution concept. | |
| virtual bool | symmetric () const |
| virtual bool | positiveDefinite () const |
| virtual bool | nonlinear () const |
| virtual void | operator() (const DomainFunctionType &u, RangeFunctionType &w) const =0 |
| application operator | |
| virtual void | finalize () |
| finalization of operator | |
Protected Attributes | |
| std::type_index | assembleOperation_ = std::type_index( typeid( void ) ) |
| std::size_t | assembleCount_ = 0 |
Detailed Description
class Dune::Fem::AssembledOperator< DomainFunction, RangeFunction >
abstract matrix operator
Operators map a discrete function onto another discrete function. Their interface is described by the abstract class Operator. Implementation should derive from AssembledOperator to indicate that they model an affine linear operator of the form
\[ u\mapsto A\,u \]
with a matrix \(A\). Jacobians of LinearOperator classes, for instance, could be modelled as matrices.
- Template Parameters
-
DomainFunction type of discrete function for the domain RangeFunction type of discrete function for the range (defaults to DomainFunction)
Member Typedef Documentation
◆ DomainFieldType
|
inherited |
field type of the operator's domain
◆ DomainFunctionType
|
inherited |
type of discrete function in the operator's domain
◆ RangeFieldType
|
inherited |
field type of the operator's range
◆ RangeFunctionType
|
inherited |
type of discrete function in the operator's range
Member Function Documentation
◆ beginAssemble()
|
inline |
Initiate the assemble of values using the LocalContribution concept.
- Template Parameters
-
AssembleOperation the specific operation (Add, Set, ...)
◆ endAssemble()
|
inline |
Finalize the assemble of values using the LocalContribution concept.
- Template Parameters
-
AssembleOperation the specific operation (Add, Set, ...)
◆ finalize()
|
inlinevirtualinherited |
finalization of operator
- Note
- The default implementation is empty.
Reimplemented in Dune::Fem::SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix >.
◆ flushAssembly()
|
inlinevirtual |
commit intermediate states of linear operator assembly
◆ nonlinear()
|
inlinevirtualinherited |
Return true if the Operator is nonlinear and false otherwise (default is true).
Reimplemented from Dune::Fem::Operator< DomainFunction, RangeFunction >.
◆ operator()()
|
pure virtualinherited |
application operator
- Parameters
-
[in] u argument discrete function [out] w destination discrete function
- Note
- This method has to be implemented by all derived classes.
Implemented in Dune::Fem::DiagonalPreconditionerBase< DFImp, OperatorImp, assembled >, Dune::Fem::DiagonalPreconditionerBase< DFImp, Operator, std::is_base_of< AssembledOperator< DFImp, DFImp >, Operator > ::value >, Dune::Fem::DiagonalPreconditionerBase< DFImp, OperatorImp, true >, Dune::Fem::FemPreconditioningBase< DFImp, OperatorImp, method, assembled >, Dune::Fem::FemPreconditioningBase< DFImp, Operator, method, std::is_base_of< AssembledOperator< DFImp, DFImp >, Operator > ::value >, Dune::Fem::FemPreconditioningBase< DFImp, OperatorImp, method, true >, DGEllipticOperator< DiscreteFunction, Model, Penalty >, Dune::Fem::NumpyLinearOperator< DomainFunction, RangeFunction >, Dune::Fem::SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix >, Dune::Fem::DenseRowLinearOperator< DomainFunction, RangeFunction >, Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >, Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >, Dune::Fem::PreconditionerFunctionWrapper< DomainFunction, RangeFunction >, Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >, EllipticOperator< DomainDiscreteFunction, RangeDiscreteFunction, Model >, Dune::Fem::GalerkinOperator< Integrands, DomainFunction, RangeFunction >, Dune::Fem::GalerkinOperator< Integrands, DomainFunction, RangeFunction >, Dune::Fem::MassLumpingOperator< Integrands, MassIntegrands, DomainFunction, RangeFunction >, Dune::Fem::MOLGalerkinOperator< Integrands, DomainFunction, RangeFunction >, Dune::Fem::MOLGalerkinOperator< Integrands, DomainFunction, RangeFunction >, and Dune::Fem::VtxProjection< DType, RType >.
◆ positiveDefinite()
|
inlinevirtualinherited |
Return true if the Operator is positive definite.
◆ symmetric()
|
inlinevirtualinherited |
Return true if the Operator is symmetric.
Member Data Documentation
◆ assembleCount_
|
protected |
◆ assembleOperation_
|
protected |
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8