Loading...
Searching...
No Matches
Dune::IteratorDirectionSelector< T1, T2, forward > Struct Template Reference
Iterative Solvers Template Library (ISTL) » Iterative Solvers » Preconditioners

Helper template meta program for application of overlapping Schwarz. More...

`#include <dune/istl/overlappingschwarz.hh>`

Inheritance diagram for Dune::IteratorDirectionSelector< T1, T2, forward >:

## Public Types

typedef T1 | solver_vector
typedef solver_vector::iterator | solver_iterator
typedef T2 | subdomain_vector
typedef subdomain_vector::const_iterator | domain_iterator

## Static Public Member Functions

static solver_iterator | begin (solver_vector &sv)
static solver_iterator | end (solver_vector &sv)
static domain_iterator | begin (const subdomain_vector &sv)
static domain_iterator | end (const subdomain_vector &sv)

## Detailed Description

template<typename T1, typename T2, bool forward>
struct Dune::IteratorDirectionSelector< T1, T2, forward >

Helper template meta program for application of overlapping Schwarz.

The is needed because when using the multiplicative Schwarz version one might still want to make multigrid symmetric, i.e. forward sweep when pre- and backward sweep when post-smoothing.

Template Parameters

  T1 | type of the vector with the subdomain solvers.
  T2 | type of the vector with the subdomain vector fields.
  forward | If true apply in a forward sweep.

## Member Typedef Documentation

## domain_iterator

template<typename T1, typename T2, bool forward>

typedef subdomain_vector::const_iterator Dune::IteratorDirectionSelector< T1, T2, forward >::domain_iterator

## solver_iterator

template<typename T1, typename T2, bool forward>

typedef solver_vector::iterator Dune::IteratorDirectionSelector< T1, T2, forward >::solver_iterator

## solver_vector

template<typename T1, typename T2, bool forward>

typedef T1 Dune::IteratorDirectionSelector< T1, T2, forward >::solver_vector

## subdomain_vector

template<typename T1, typename T2, bool forward>

typedef T2 Dune::IteratorDirectionSelector< T1, T2, forward >::subdomain_vector

## Member Function Documentation

## begin() [1/2]

template<typename T1, typename T2, bool forward>

domain_iterator Dune::IteratorDirectionSelector< T1, T2, forward >::begin | ( | const subdomain_vector & | sv | ) |

inline static

## begin() [2/2]

template<typename T1, typename T2, bool forward>

solver_iterator Dune::IteratorDirectionSelector< T1, T2, forward >::begin | ( | solver_vector & | sv | ) |

inline static

## end() [1/2]

template<typename T1, typename T2, bool forward>

domain_iterator Dune::IteratorDirectionSelector< T1, T2, forward >::end | ( | const subdomain_vector & | sv | ) |

inline static

## end() [2/2]

template<typename T1, typename T2, bool forward>

solver_iterator Dune::IteratorDirectionSelector< T1, T2, forward >::end | ( | solver_vector & | sv | ) |

inline static

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

- overlappingschwarz.hh