Dune::GhostLastScalarProduct< Vector, Comm > Class Template Reference

#include <ScalarProducts.hpp>

Inheritance diagram for Dune::GhostLastScalarProduct< Vector, Comm >:
Inheritance graph

Public Member Functions

 GhostLastScalarProduct (std::shared_ptr< const Comm > com, SolverCategory::Category cat)
 constructor More...
 
 GhostLastScalarProduct (const Comm &com, SolverCategory::Category cat)
 constructor More...
 
double dot (const Vector &vx, const Vector &vy) const override
 Dot product of two vectors. More...
 
double norm (const Vector &vx) const override
 Vector L2-norm. More...
 
virtual SolverCategory::Category category () const override
 Category of the scalar product (see SolverCategory::Category) More...
 

Detailed Description

template<class Vector, class Comm>
class Dune::GhostLastScalarProduct< Vector, Comm >

A parallel scalar product that takes advantage of the fact that all elements associated with ghost cells are located at the end of the vector. This allows us to ignore the block structure of the vector and eliminate the use of a mask to exclude ghost entries from being included in the scalar product

Constructor & Destructor Documentation

◆ GhostLastScalarProduct() [1/2]

template<class Vector , class Comm >
Dune::GhostLastScalarProduct< Vector, Comm >::GhostLastScalarProduct ( std::shared_ptr< const Comm >  com,
SolverCategory::Category  cat 
)
inline

constructor

Parameters
comThe communication object for syncing overlap and copy data points.
catparallel solver category (nonoverlapping or overlapping)

◆ GhostLastScalarProduct() [2/2]

template<class Vector , class Comm >
Dune::GhostLastScalarProduct< Vector, Comm >::GhostLastScalarProduct ( const Comm &  com,
SolverCategory::Category  cat 
)
inline

constructor

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

Member Function Documentation

◆ category()

template<class Vector , class Comm >
virtual SolverCategory::Category Dune::GhostLastScalarProduct< Vector, Comm >::category ( ) const
inlineoverridevirtual

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

◆ dot()

template<class Vector , class Comm >
double Dune::GhostLastScalarProduct< Vector, Comm >::dot ( const Vector &  vx,
const Vector &  vy 
) const
inlineoverride

Dot product of two vectors.

Parameters
vxfirst input vector
vysecond input vector

References vec_dot().

Referenced by Dune::GhostLastScalarProduct< Vector, Comm >::norm().

◆ norm()

template<class Vector , class Comm >
double Dune::GhostLastScalarProduct< Vector, Comm >::norm ( const Vector &  vx) const
inlineoverride

Vector L2-norm.

Parameters
vxinput vector

References Dune::GhostLastScalarProduct< Vector, Comm >::dot().


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