Dune Core Modules (unstable)

Scalar product for overlapping Schwarz methods. More...

#include <dune/istl/scalarproducts.hh>

Public Types

typedef X domain_type
 The type of the vector to compute the scalar product on. More...
 
typedef X::field_type field_type
 The field type used by the vector type domain_type.
 
typedef C communication_type
 The type of the communication object. More...
 

Public Member Functions

 ParallelScalarProduct (std::shared_ptr< const communication_type > com, SolverCategory::Category cat)
 
 ParallelScalarProduct (const communication_type &com, SolverCategory::Category cat)
 
virtual field_type dot (const X &x, const X &y) const override
 Dot product of two vectors. It is assumed that the vectors are consistent on the interior+border partition.
 
virtual real_type norm (const X &x) const override
 Norm of a right-hand side vector. The vector must be consistent on the interior+border partition.
 
virtual SolverCategory::Category category () const override
 Category of the scalar product (see SolverCategory::Category)
 

Detailed Description

template<class X, class C>
class Dune::ParallelScalarProduct< X, C >

Scalar product for overlapping Schwarz methods.

Consistent vectors in interior and border are assumed.

Template Parameters
XThe type of the sequential vector to use for the left hand side, e.g. BlockVector or another type fulfilling the ISTL vector interface.
CThe type of the communication object. This must either be OwnerOverlapCopyCommunication or a type implementing the same interface.

Member Typedef Documentation

◆ communication_type

template<class X , class C >
typedef C Dune::ParallelScalarProduct< X, C >::communication_type

The type of the communication object.

This must either be OwnerOverlapCopyCommunication or a type implementing the same interface.

◆ domain_type

template<class X , class C >
typedef X Dune::ParallelScalarProduct< X, C >::domain_type

The type of the vector to compute the scalar product on.

E.g. BlockVector or another type fulfilling the ISTL vector interface.

Constructor & Destructor Documentation

◆ ParallelScalarProduct() [1/2]

template<class X , class C >
Dune::ParallelScalarProduct< X, C >::ParallelScalarProduct ( std::shared_ptr< const communication_type com,
SolverCategory::Category  cat 
)
inline
Parameters
comThe communication object for syncing overlap and copy data points.
catparallel solver category (nonoverlapping or overlapping)

◆ ParallelScalarProduct() [2/2]

template<class X , class C >
Dune::ParallelScalarProduct< X, C >::ParallelScalarProduct ( const communication_type com,
SolverCategory::Category  cat 
)
inline
Parameters
comThe communication object for syncing overlap and copy data points.
catparallel solver category (nonoverlapping or overlapping)
Note
if you use this constructor you have to make sure com stays alive

The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Mar 27, 23:31, 2024)