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

Nonoverlapping Scalar Product with communication object. More...

#include <dune/istl/scalarproducts.hh>

Inheritance diagram for Dune::NonoverlappingSchwarzScalarProduct< 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

 NonoverlappingSchwarzScalarProduct (std::shared_ptr< const C > comm)
 
 NonoverlappingSchwarzScalarProduct (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::NonoverlappingSchwarzScalarProduct< X, C >

Nonoverlapping Scalar Product with communication object.

Consistent vectors in interior and border are assumed.

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

◆ NonoverlappingSchwarzScalarProduct() [1/2]

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

◆ NonoverlappingSchwarzScalarProduct() [2/2]

template<class X , class C >
Dune::NonoverlappingSchwarzScalarProduct< X, C >::NonoverlappingSchwarzScalarProduct ( 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: