dune-istl 2.9.0
Public Types | Public Member Functions | List of all members
Dune::OverlappingSchwarzScalarProduct< X, C > Class Template Reference

Scalar product for overlapping Schwarz methods. More...

#include <dune/istl/scalarproducts.hh>

Inheritance diagram for Dune::OverlappingSchwarzScalarProduct< X, C >:
Inheritance graph

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. More...
 
typedef FieldTraits< field_type >::real_type real_type
 
typedef C communication_type
 The type of the communication object. More...
 

Public Member Functions

 OverlappingSchwarzScalarProduct (std::shared_ptr< const C > comm)
 
 OverlappingSchwarzScalarProduct (const C &comm)
 
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. More...
 
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. More...
 
virtual SolverCategory::Category category () const override
 Category of the scalar product (see SolverCategory::Category) More...
 

Detailed Description

template<class X, class C>
class Dune::OverlappingSchwarzScalarProduct< 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
inherited

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
inherited

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

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

◆ field_type

template<class X , class C >
typedef X::field_type Dune::ParallelScalarProduct< X, C >::field_type
inherited

The field type used by the vector type domain_type.

◆ real_type

template<class X , class C >
typedef FieldTraits<field_type>::real_type Dune::ParallelScalarProduct< X, C >::real_type
inherited

Constructor & Destructor Documentation

◆ OverlappingSchwarzScalarProduct() [1/2]

template<class X , class C >
Dune::OverlappingSchwarzScalarProduct< X, C >::OverlappingSchwarzScalarProduct ( std::shared_ptr< const C >  comm)
inline

◆ OverlappingSchwarzScalarProduct() [2/2]

template<class X , class C >
Dune::OverlappingSchwarzScalarProduct< X, C >::OverlappingSchwarzScalarProduct ( const C &  comm)
inline

Member Function Documentation

◆ category()

template<class X , class C >
virtual SolverCategory::Category Dune::ParallelScalarProduct< X, C >::category ( ) const
inlineoverridevirtualinherited

Category of the scalar product (see SolverCategory::Category)

Reimplemented from Dune::ScalarProduct< X >.

◆ dot()

template<class X , class C >
virtual field_type Dune::ParallelScalarProduct< X, C >::dot ( const X &  x,
const X &  y 
) const
inlineoverridevirtualinherited

Dot product of two vectors. It is assumed that the vectors are consistent on the interior+border partition.

Reimplemented from Dune::ScalarProduct< X >.

◆ norm()

template<class X , class C >
virtual real_type Dune::ParallelScalarProduct< X, C >::norm ( const X &  x) const
inlineoverridevirtualinherited

Norm of a right-hand side vector. The vector must be consistent on the interior+border partition.

Reimplemented from Dune::ScalarProduct< X >.


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