Dune Core Modules (2.8.0)
An overlapping Schwarz operator. More...
#include <dune/istl/schwarz.hh>
Public Types | |
typedef M | matrix_type |
The type of the matrix we operate on. More... | |
typedef X | domain_type |
The type of the domain. More... | |
typedef Y | range_type |
The type of the range. More... | |
typedef X::field_type | field_type |
The field type of the range. | |
typedef C | communication_type |
The type of the communication object. More... | |
Public Member Functions | |
OverlappingSchwarzOperator (const matrix_type &A, const communication_type &com) | |
constructor: just store a reference to a matrix. More... | |
virtual void | apply (const X &x, Y &y) const |
apply operator to x: \( y = A(x) \) | |
virtual void | applyscaleadd (field_type alpha, const X &x, Y &y) const |
apply operator to x, scale and add: \( y = y + \alpha A(x) \) | |
virtual const matrix_type & | getmat () const |
get the sequential assembled linear operator. | |
virtual SolverCategory::Category | category () const |
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.
◆ 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()
|
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 )
The documentation for this class was generated from the following files:
- dune/istl/paamg/construction.hh
- dune/istl/schwarz.hh