dune-istl  2.1.1
Public Types | Public Member Functions
Dune::OverlappingSchwarzOperator< M, X, Y, C > Class Template Reference

An overlapping schwarz operator. More...

#include <dune/istl/schwarz.hh>

Inheritance diagram for Dune::OverlappingSchwarzOperator< M, X, Y, C >:
Inheritance graph

List of all members.

Public Types

enum  { category = SolverCategory::overlapping }
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.
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_typegetmat () const
 get matrix via *

Detailed Description

template<class M, class X, class Y, class C>
class Dune::OverlappingSchwarzOperator< M, X, Y, C >

An overlapping schwarz operator.


Member Typedef Documentation

template<class M, class X, class Y, class C>
typedef C Dune::OverlappingSchwarzOperator< M, X, Y, C >::communication_type

The type of the communication object.

template<class M, class X, class Y, class C>
typedef X Dune::OverlappingSchwarzOperator< M, X, Y, C >::domain_type

The type of the domain.

Reimplemented from Dune::AssembledLinearOperator< M, X, Y >.

template<class M, class X, class Y, class C>
typedef X::field_type Dune::OverlappingSchwarzOperator< M, X, Y, C >::field_type

The field type of the range.

Reimplemented from Dune::AssembledLinearOperator< M, X, Y >.

template<class M, class X, class Y, class C>
typedef M Dune::OverlappingSchwarzOperator< M, X, Y, C >::matrix_type

The type of the matrix we operate on.

Reimplemented from Dune::AssembledLinearOperator< M, X, Y >.

template<class M, class X, class Y, class C>
typedef Y Dune::OverlappingSchwarzOperator< M, X, Y, C >::range_type

The type of the range.

Reimplemented from Dune::AssembledLinearOperator< M, X, Y >.


Member Enumeration Documentation

template<class M, class X, class Y, class C>
anonymous enum
Enumerator:
category 

The solver category.


Constructor & Destructor Documentation

template<class M, class X, class Y, class C>
Dune::OverlappingSchwarzOperator< M, X, Y, C >::OverlappingSchwarzOperator ( const matrix_type A,
const communication_type com 
) [inline]

constructor: just store a reference to a matrix.

Parameters:
AThe assembled matrix.
comThe communication object for syncing overlap and copy data points. (E.~g. OwnerOverlapCommunication )

Member Function Documentation

template<class M, class X, class Y, class C>
virtual void Dune::OverlappingSchwarzOperator< M, X, Y, C >::apply ( const X &  x,
Y &  y 
) const [inline, virtual]

apply operator to x: $ y = A(x) $

Implements Dune::LinearOperator< X, Y >.

template<class M, class X, class Y, class C>
virtual void Dune::OverlappingSchwarzOperator< M, X, Y, C >::applyscaleadd ( field_type  alpha,
const X &  x,
Y &  y 
) const [inline, virtual]

apply operator to x, scale and add: $ y = y + \alpha A(x) $

Implements Dune::LinearOperator< X, Y >.

template<class M, class X, class Y, class C>
virtual const matrix_type& Dune::OverlappingSchwarzOperator< M, X, Y, C >::getmat ( ) const [inline, virtual]

get matrix via *

Implements Dune::AssembledLinearOperator< M, X, Y >.


The documentation for this class was generated from the following file: