DUNE-FEM (2.10)
•All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
operators.hh
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright © DUNE Project contributors, see file LICENSE.md in module root
94 DUNE_THROW(Dune::Exception,"It is necessary to implement the category method in a derived classes, in the future this method will pure virtual.");
A linear operator exporting itself in matrix form.
Definition: operators.hh:111
M matrix_type
export types, usually they come from the derived class
Definition: operators.hh:114
virtual ~LinearOperator()
every abstract base class has a virtual destructor
Definition: operators.hh:88
X::field_type field_type
The field type of the operator.
Definition: operators.hh:76
virtual void applyscaleadd(field_type alpha, const X &x, Y &y) const =0
apply operator to x, scale and add:
virtual SolverCategory::Category category() const =0
Category of the linear operator (see SolverCategory::Category)
Y range_type
The type of the range of the operator.
Definition: operators.hh:74
virtual void apply(const X &x, Y &y) const =0
apply operator to x: The input vector is consistent and the output must also be consistent on the in...
X domain_type
The type of the domain of the operator.
Definition: operators.hh:72
MatrixAdapter(std::shared_ptr< const M > A)
constructor: store an std::shared_ptr to a matrix
Definition: operators.hh:148
MatrixAdapter(const M &A)
constructor: just store a reference to a matrix
Definition: operators.hh:145
void applyscaleadd(field_type alpha, const X &x, Y &y) const override
apply operator to x, scale and add:
Definition: operators.hh:157
const M & getmat() const override
get matrix via *
Definition: operators.hh:163
SolverCategory::Category category() const override
Category of the solver (see SolverCategory::Category)
Definition: operators.hh:169
void apply(const X &x, Y &y) const override
apply operator to x:
Definition: operators.hh:151
A few common exception classes.
std::shared_ptr< T > stackobject_to_shared_ptr(T &t)
Create a shared_ptr for a stack-allocated object.
Definition: shared_ptr.hh:72
@ sequential
Category for sequential solvers.
Definition: solvercategory.hh:25
