|
dune-istl 2.12-git
|
An overlapping Schwarz operator. More...
#include <dune/istl/schwarz.hh>

Public Types | |
| typedef M | matrix_type |
| The type of the matrix we operate on. | |
| typedef X | domain_type |
| The type of the domain. | |
| typedef Y | range_type |
| The type of the range. | |
| typedef X::field_type | field_type |
| The field type of the range. | |
| typedef C | communication_type |
| The type of the communication object. | |
Public Member Functions | |
| OverlappingSchwarzOperator (const matrix_type &A, const communication_type &com) | |
| constructor: just store a reference to a matrix. | |
| OverlappingSchwarzOperator (const std::shared_ptr< matrix_type > A, const communication_type &com) | |
| void | apply (const X &x, Y &y) const override |
| apply operator to x: \( y = A(x) \) | |
| void | applyscaleadd (field_type alpha, const X &x, Y &y) const override |
| apply operator to x, scale and add: \( y = y + \alpha A(x) \) | |
| const matrix_type & | getmat () const override |
| get the sequential assembled linear operator. | |
| SolverCategory::Category | category () const override |
| Category of the linear operator (see SolverCategory::Category) | |
| const communication_type & | getCommunication () const |
| Get the object responsible for communication. | |
Detailed Description
class Dune::OverlappingSchwarzOperator< M, X, Y, C >
An overlapping Schwarz operator.
This operator represents a parallel matrix product using sequential data structures together with a parallel index set describing an overlapping domain decomposition and the communication.
- Template Parameters
-
M The type of the sequential matrix to use, e.g. BCRSMatrix or another matrix type fulfilling the matrix interface of ISTL. X The type of the sequential vector to use for the left hand side, e.g. BlockVector or another type fulfilling the ISTL vector interface. Y The type of the sequential vector to use for the right hand side, e..g. BlockVector or another type fulfilling the ISTL vector interface. C The type of the communication object. This must either be OwnerOverlapCopyCommunication or a type implementing the same interface.
Member Typedef Documentation
◆ communication_type
| typedef C Dune::OverlappingSchwarzOperator< M, X, Y, C >::communication_type |
The type of the communication object.
This must either be OwnerOverlapCopyCommunication or a type implementing the same interface.
◆ domain_type
| typedef X Dune::OverlappingSchwarzOperator< M, X, Y, C >::domain_type |
The type of the domain.
E.g. BlockVector or another type fulfilling the ISTL vector interface.
◆ field_type
| typedef X::field_type Dune::OverlappingSchwarzOperator< M, X, Y, C >::field_type |
The field type of the range.
◆ matrix_type
| typedef M Dune::OverlappingSchwarzOperator< M, X, Y, C >::matrix_type |
The type of the matrix we operate on.
E.g. BCRSMatrix or another matrix type fulfilling the matrix interface of ISTL
◆ range_type
| typedef Y Dune::OverlappingSchwarzOperator< M, X, Y, C >::range_type |
The type of the range.
E.g. BlockVector or another type fulfilling the ISTL vector interface.
Constructor & Destructor Documentation
◆ OverlappingSchwarzOperator() [1/2]
|
inline |
constructor: just store a reference to a matrix.
- Parameters
-
A The assembled matrix. com The communication object for syncing overlap and copy data points. (E.~g. OwnerOverlapCopyCommunication )
◆ OverlappingSchwarzOperator() [2/2]
|
inline |
Member Function Documentation
◆ apply()
|
inlineoverridevirtual |
apply operator to x: \( y = A(x) \)
Implements Dune::LinearOperator< X, Y >.
◆ applyscaleadd()
|
inlineoverridevirtual |
apply operator to x, scale and add: \( y = y + \alpha A(x) \)
Implements Dune::LinearOperator< X, Y >.
◆ category()
|
inlineoverridevirtual |
Category of the linear operator (see SolverCategory::Category)
Implements Dune::LinearOperator< X, Y >.
◆ getCommunication()
|
inline |
Get the object responsible for communication.
◆ getmat()
|
inlineoverridevirtual |
get the sequential assembled linear operator.
Implements Dune::AssembledLinearOperator< M, X, Y >.
The documentation for this class was generated from the following files:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8