DUNE ISTL (unstable)
Define base class for scalar product and norm. More...
#include <cmath>#include <complex>#include <iostream>#include <iomanip>#include <string>#include <memory>#include <dune/common/exceptions.hh>#include <dune/common/shared_ptr.hh>#include "bvector.hh"#include "solvercategory.hh"Go to the source code of this file.
Classes | |
| class | Dune::ScalarProduct< X > |
| Base class for scalar product and norm computation. More... | |
| class | Dune::ParallelScalarProduct< X, C > |
| Scalar product for overlapping Schwarz methods. More... | |
| class | Dune::SeqScalarProduct< X > |
| Default implementation for the scalar case. More... | |
| class | Dune::NonoverlappingSchwarzScalarProduct< X, C > |
| Nonoverlapping Scalar Product with communication object. More... | |
| class | Dune::OverlappingSchwarzScalarProduct< X, C > |
| Scalar product for overlapping Schwarz methods. More... | |
Functions | |
| template<class X , class Comm > | |
| std::shared_ptr< ScalarProduct< X > > | Dune::makeScalarProduct (std::shared_ptr< const Comm > comm, SolverCategory::Category category) |
| Choose the appropriate scalar product for a solver category. More... | |
| template<class X , class Comm > | |
| std::shared_ptr< ScalarProduct< X > > | Dune::createScalarProduct (const Comm &comm, SolverCategory::Category category) |
Detailed Description
Define base class for scalar product and norm.
These classes have to be implemented differently for different data partitioning strategies. Default implementations for the sequential case are provided.
Function Documentation
◆ createScalarProduct()
| std::shared_ptr< ScalarProduct< X > > Dune::createScalarProduct | ( | const Comm & | comm, |
| SolverCategory::Category | category | ||
| ) |
- Note
- Using this helper, you are responsible for the life-time management of comm
References Dune::createScalarProduct().
Referenced by Dune::createScalarProduct().
◆ makeScalarProduct()
| std::shared_ptr< ScalarProduct< X > > Dune::makeScalarProduct | ( | std::shared_ptr< const Comm > | comm, |
| SolverCategory::Category | category | ||
| ) |
Choose the appropriate scalar product for a solver category.
- Todo:
- this helper function should be replaced by a proper factory
As there is only one scalar product for each solver category it is possible to choose the appropriate product at compile time.
In each specialization of the this struct there will be a typedef ScalarProduct available the defines the type of the scalar product.
References Dune::makeScalarProduct(), and Dune::SolverCategory::sequential.
Referenced by Dune::makeScalarProduct().
|
Legal Statements / Impressum |
Hosted by TU Dresden & Uni Heidelberg |
generated with Hugo v0.111.3
(May 27, 22:36, 2026)